Algoritam je vrsta kontejnera. Pruža okvir za pohranjivanje metode za rješavanje određene vrste problema. Algoritmi obrađuju podatke kroz niz dobro definiranih stanja. Stanja ne moraju biti deterministička, ali su stanja ipak definirana. Cilj je stvoriti izlaz koji rješava problem. U nekim slučajevima, algoritam prima ulaze koji pomažu definirati izlaz, ali fokus je uvijek na izlazu.
Algoritmi moraju izraziti prijelaze između stanja koristeći dobro definiran i formalni jezik koji računalo može razumjeti. U obradi podataka i rješavanju problema algoritam definira, dorađuje i izvršava funkciju. Funkcija je uvijek specifična za vrstu problema koji algoritam rješava.
Svako od pet plemena ima drugačiju tehniku i strategiju za rješavanje problema koji rezultiraju jedinstvenim algoritmima. Kombiniranje ovih algoritama bi na kraju trebalo dovesti do glavnog algoritma koji će moći riješiti bilo koji problem. Sljedeća rasprava daje pregled pet glavnih algoritamskih tehnika.
Simboličko razmišljanje
Jedno od najranijih plemena, simbolisti, vjerovalo je da se znanje može dobiti djelovanjem na simbole (znakove koji označavaju određeno značenje ili događaj) i izvođenjem pravila iz njih. Sastavljanjem složenih sustava pravila, mogli ste postići logičku dedukciju rezultata koji ste željeli znati, pa su simbolisti oblikovali svoje algoritme za proizvodnju pravila iz podataka. U simboličkom zaključivanju, dedukcija proširuje područje ljudskog znanja, dok indukcija podiže razinu ljudskog znanja. Indukcija obično otvara nova polja istraživanja, dok dedukcija istražuje ta polja.
Veze po uzoru na neurone mozga
Konekcionisti su možda najpoznatije od pet plemena. Ovo pleme nastoji reproducirati funkcije mozga korištenjem silicija umjesto neurona. U suštini, svaki od neurona (kreiran kao algoritam koji modelira pandan u stvarnom svijetu) rješava mali dio problema, a korištenje mnogih neurona paralelno rješava problem u cjelini.
Korištenje backpropagacije, ili unatrag propagacije pogrešaka, nastoji odrediti uvjete pod kojima se pogreške uklanjaju iz mreža izgrađenih da nalikuju ljudskim neuronima promjenom težine (koliko određeni ulaz ulazi u rezultat) i pristranosti(koje su značajke odabrane) mreže. Cilj je nastaviti mijenjati pondere i pristranosti sve dok stvarni učinak ne bude odgovarao ciljanom rezultatu. U ovom trenutku, umjetni neuron se aktivira i prenosi svoju otopinu na sljedeći neuron u redu. Rješenje koje stvara samo jedan neuron samo je dio cijelog rješenja. Svaki neuron prosljeđuje informacije sljedećem neuronu u redu sve dok skupina neurona ne stvori konačni izlaz. Takva se metoda pokazala najučinkovitijom u ljudskim zadacima kao što su prepoznavanje predmeta, razumijevanje pisanog i govornog jezika te razgovor s ljudima.
Evolucijski algoritmi koji testiraju varijacije
Evolucionari se oslanjaju na principe evolucije za rješavanje problema. Drugim riječima, ova se strategija temelji na preživljavanju najsposobnijih (uklanjanje svih rješenja koja ne odgovaraju željenom rezultatu). Funkcija fitnesa određuje održivost svake funkcije u rješavanju problema. Koristeći strukturu stabla, metoda rješenja traži najbolje rješenje na temelju izlaza funkcije. Pobjednik svake razine evolucije može izgraditi funkcije sljedeće razine. Ideja je da će se sljedeća razina približiti rješavanju problema, ali ga možda neće riješiti u potpunosti, što znači da je potrebna druga razina. Ovo se pleme uvelike oslanja na rekurziju i jezike koji snažno podržavaju rekurziju za rješavanje problema. Zanimljiv rezultat ove strategije su algoritmi koji se razvijaju:
Bayesov zaključak
Grupa znanstvenika, nazvana Bayesovci, shvatila je da je neizvjesnost ključni aspekt na koji treba paziti i da učenje nije osigurano, već se odvijalo kao kontinuirano ažuriranje prethodnih uvjerenja koja su postajala sve točnija. Ova percepcija navela je Bayesovce da usvoje statističke metode i, posebno, derivacije iz Bayesovog teorema, koji vam pomaže izračunati vjerojatnosti pod određenim uvjetima (na primjer, vidjeti karticu određenog sjemena, početnu vrijednost za pseudoslučajni niz, izvučen iz špila nakon tri druge karte istog sjemena).
Sustavi koji uče po analogiji
Analizatori koriste kernel strojeve za prepoznavanje uzoraka u podacima. Prepoznavanjem uzorka jednog skupa ulaza i usporedbom s uzorkom poznatog izlaza, možete stvoriti rješenje problema. Cilj je koristiti sličnost za određivanje najboljeg rješenja problema. To je vrsta zaključivanja koja utvrđuje da je korištenje određenog rješenja djelovalo u danim okolnostima u nekom prethodnom trenutku; stoga bi korištenje tog rješenja za sličan niz okolnosti također trebalo funkcionirati. Jedan od najprepoznatljivijih rezultata ovog plemena su sustavi preporuka. Na primjer, kada kupite proizvod na Amazonu, sustav preporuka dolazi s drugim, povezanim proizvodima koje biste također mogli kupiti.
Konačni cilj strojnog učenja je kombinirati tehnologije i strategije koje je prihvatilo pet plemena kako bi se stvorio jedan algoritam (glavni algoritam) koji može naučiti bilo što. Naravno, daleko je do ostvarenja tog cilja. Čak i tako, znanstvenici poput Pedra Domingosa trenutno rade na tom cilju.