Algoritmus je druh kontajnera. Poskytuje schránku na uloženie metódy riešenia konkrétneho druhu problému. Algoritmy spracovávajú údaje prostredníctvom série dobre definovaných stavov. Stavy nemusia byť deterministické, ale napriek tomu sú stavy definované. Cieľom je vytvoriť výstup, ktorý rieši problém. V niektorých prípadoch algoritmus prijíma vstupy, ktoré pomáhajú definovať výstup, ale zameranie je vždy na výstup.
Algoritmy musia vyjadrovať prechody medzi stavmi pomocou dobre definovaného a formálneho jazyka, ktorému počítač rozumie. Pri spracovaní údajov a riešení problému algoritmus definuje, spresňuje a vykonáva funkciu. Funkcia je vždy špecifická pre druh problému, ktorý algoritmus rieši.
Každý z piatich kmeňov má inú techniku a stratégiu na riešenie problémov, ktorých výsledkom sú jedinečné algoritmy. Kombinácia týchto algoritmov by mala nakoniec viesť k hlavnému algoritmu, ktorý bude schopný vyriešiť akýkoľvek daný problém. Nasledujúca diskusia poskytuje prehľad piatich hlavných algoritmických techník.
Symbolické zdôvodnenie
Jeden z prvých kmeňov, symbolisti, veril, že vedomosti možno získať fungovaním symbolov (znakov, ktoré predstavujú určitý význam alebo udalosť) a odvodením pravidiel z nich. Zostavením komplexných systémov pravidiel ste mohli dosiahnuť logickú dedukciu výsledku, ktorý ste chceli vedieť, a tak symbolisti formovali svoje algoritmy tak, aby vytvárali pravidlá z údajov. V symbolickom uvažovaní dedukcia rozširuje oblasť ľudského poznania, zatiaľ čo indukcia zvyšuje úroveň ľudského poznania. Indukcia bežne otvára nové oblasti skúmania, zatiaľ čo dedukcia skúma tieto polia.
Spojenia modelované na neurónoch mozgu
Konekcionisti sú možno najznámejší z piatich kmeňov. Tento kmeň sa snaží reprodukovať funkcie mozgu pomocou kremíka namiesto neurónov. V podstate každý z neurónov (vytvorený ako algoritmus, ktorý modeluje náprotivok v reálnom svete) rieši malú časť problému a paralelné použitie mnohých neurónov rieši problém ako celok.
Použitie spätného šírenia alebo spätného šírenia chýb sa snaží určiť podmienky, za ktorých sa chyby odstraňujú zo sietí vytvorených tak, aby pripomínali ľudské neuróny, a to zmenou váh (koľko konkrétny vstup figuruje vo výsledku) a skreslení.(ktoré funkcie sú vybraté) siete. Cieľom je pokračovať v zmene váh a predpätí dovtedy, kým sa skutočný výstup nezhoduje s cieľovým výstupom. V tomto bode sa umelý neurón spustí a odovzdá svoj roztok ďalšiemu neurónu v rade. Riešenie vytvorené len jedným neurónom je len časťou celého riešenia. Každý neurón odovzdáva informácie ďalšiemu neurónu v rade, kým skupina neurónov nevytvorí konečný výstup. Takáto metóda sa ukázala ako najúčinnejšia pri úlohách podobných ľuďom, ako je rozpoznávanie predmetov, porozumenie písanej a hovorenej reči a chatovanie s ľuďmi.
Evolučné algoritmy, ktoré testujú variácie
Evolucionári sa pri riešení problémov spoliehajú na princípy evolúcie. Inými slovami, táto stratégia je založená na prežití tých najschopnejších (odstránenie všetkých riešení, ktoré nezodpovedajú požadovanému výstupu). Fitness funkcia určuje životaschopnosť každej funkcie pri riešení problému. Pomocou stromovej štruktúry metóda riešenia hľadá najlepšie riešenie na základe výstupu funkcie. Víťaz každej úrovne evolúcie dostane možnosť vybudovať funkcie ďalšej úrovne. Myšlienka je, že ďalšia úroveň sa priblíži k vyriešeniu problému, ale nemusí ho vyriešiť úplne, čo znamená, že je potrebná ďalšia úroveň. Tento konkrétny kmeň sa pri riešení problémov vo veľkej miere spolieha na rekurziu a jazyky, ktoré rekurziu výrazne podporujú. Zaujímavým výstupom tejto stratégie sú algoritmy, ktoré sa vyvíjajú:
Bayesovský záver
Skupina vedcov, nazývaných Bayesians, vnímala, že neistota je kľúčovým aspektom, na ktorý treba dávať pozor, a že učenie nie je zaručené, ale prebiehalo ako nepretržitá aktualizácia predchádzajúcich presvedčení, ktoré boli čoraz presnejšie. Toto vnímanie viedlo Bayesovcov k prijatiu štatistických metód a najmä odvodenín z Bayesovej vety, ktorá vám pomáha vypočítať pravdepodobnosti za špecifických podmienok (napríklad keď vidíte kartu určitého semena, počiatočnú hodnotu pre pseudonáhodnou sekvenciu, vytiahnuté z balíčka po troch ďalších kartách rovnakého semena).
Systémy, ktoré sa učia analogicky
Analyzátory používajú jadrové stroje na rozpoznávanie vzorov v údajoch. Rozpoznaním vzoru jednej sady vstupov a jeho porovnaním so vzorom známeho výstupu môžete vytvoriť riešenie problému. Cieľom je použiť podobnosť na určenie najlepšieho riešenia problému. Je to druh uvažovania, ktorý určuje, že použitie konkrétneho riešenia fungovalo za daných okolností v určitom predchádzajúcom čase; preto by malo fungovať aj použitie tohto riešenia pre podobný súbor okolností. Jedným z najznámejších výstupov tohto kmeňa sú systémy odporúčaní. Napríklad, keď si kúpite produkt na Amazone, systém odporúčaní príde s ďalšími súvisiacimi produktmi, ktoré si možno budete chcieť kúpiť aj vy.
Konečným cieľom strojového učenia je skombinovať technológie a stratégie, ktoré prijalo päť kmeňov, aby sa vytvoril jediný algoritmus (hlavný algoritmus), ktorý sa dokáže naučiť čokoľvek. Samozrejme, dosiahnutie tohto cieľa je ešte veľmi ďaleko. Napriek tomu vedci ako Pedro Domingos v súčasnosti pracujú na dosiahnutí tohto cieľa.