Online kurs: Analiza podataka u poslovnoj i inženjerskoj praksi. Mašinski fakultet Univerziteta u Nišu. Nedelja 2, resurs 1: Osnovne grupe algoritama mašinskog učenja i njihove osobine. Realizacija: Dragan Mišić
http://160.99.22.125:9000/courses/course-v1:MEF+OKMU+2018-19_S2/about/
2. Cilj nedelje
• Za svaki prikazani algoritam:
– Osnovni principi funkcionisanja
– Okolnosti u kojima daje najbolje rezultate
– Parametri podešavanja –njihov uticaj, najbolji
opsezi vrednosti u različitim okolnostima
2
3. Osnovne grupe algoritama mašinskog
učenja i njihove osobine
• Načini grupisanja
– Na osnovu načina na koji algoritam uči
– Na osnovu načina na koji algoritam radi
3
4. Grupisanje algoritama na osnovu
načina na koji uče
• Nadgledano i nenadgledano učenje
• Online i batch učenje
• Učenje zasnovano na instancama i učenje
zasnovano na modelu
4
5. Nadgledano i nenadgledano učenje
• Nadgledano učenje
– Podaci sadrže i rešenje
• Klasifikacija
• Regresija
• Nenadgledano učenje
– Podaci nisu označeni
• Polunadgledano učenje
– Podaci za trening su delimično označeni
• Učenje sa podrškom (reinforcement)
– Kod softverskih agenata
5
6. Nadgledano učenje
• Za predviđanje budućnosti se koriste podaci
• Uspotavljanje funkcije koja povezuje ulaznu (x)
i izlaznu promenljivu (y)
– y = f(x)
• Cilj – aproksimiranje f-je, tako da za novo x
može da se predvidi y
• Klasifikacija i regresija
6
7. Regresija
• Vrednost izlazne promenljive y je kontinualna i
numerička
• Količine ili veličine
• Predviđanje cene kuće
• Tačnost modela se obično izražava srednjom
kvadratnom greškom (suma razlike kvadrata tačne i
predviđene vrednosti)
• Algoritmi
– Linearna regresija
– Polinomijalna regresija
– Regresiona stabla
7
8. Klasifikacija
• Aproksimacija f-je koja povezuje ulazne promenljive sa
diskretnim izlaznim vrednostima
• y - kategorija koju funkcija predviđa
• Cena kuće veća ili manja od preporučene
• Tačnost se izračunava kao procenat tačno klasifikovanih
primeraka, u odnosu na sve klasifikovane promerke
• Algoritmi
– Logistička regresija
– Naivni bayes
– Stabla odlučivanja
– KNN
8
9. Nenadgledano učenje
• Ulazni podaci nisu označeni
• Traži se pravilnost u podacima
• Zadaci
– Grupisanje (klasterovanje)
• Podaci se svrstavaju u grupe u cilju maksimacije sličnosti ili minimizacije različitosti
– Smanjenje dimenzionalnosti
• Traži se manji skup promenljivih koji zadržava glavne obrasce iz početnog skupa
promenljivih
– Asocijativna pravila
• Analiza velikih količina podataka i pronalaženje veza između atributa
• Analiza onih koji čitaju neki blog
• Algoritmi
– K-means
– PCA (principal component analysis)
– Učenje na bazi asocijativnih pravila (apriori)
9
10. Polunadgledano učenje
• Kombinacija nadgledanog i nenadgledanog
učenja
• Obeležen (manji deo), neobeležen (veći deo)
• Razlozi
– Označavanje velikih količina podataka je skupo
– Moguće su greške, ako to radi čovek
• Google photos
10
11. Učenje sa podrškom (reinforcement
learning)
• Obuka softverskih agenata
• Akcije i nagrada (pozitivna i negativna)
– Signal podrške
• Agent koristi signal za korekciju svojeg
ponašanja
• AlphaGo – pobedio u igri Go
11
12. Paketno i kontinualno učenje
(Batch and online)
• Inkrementalno učenje
• Batch algoritmi
– Nisu sposobni za inkrementalno učenje
– Offline
– Novi podaci se dodaju celom skupu i ponovo se
trenira
– Automatizacija procesa
• Treniranje u redovnim intervalima
– Stabla odlučivanja, SVM, K-NN, Logistička regresija
12
13. Paketno i kontinualno učenje
(Batch and online)
• Online algoritmi
– Pojedinačne instance ili mali paketi
– Kod sistema koji koji imaju kontinualni priliv
podataka
– U slučaju ograničenih resursa
– Za treniranje sistema sa ogromnim količinama
podataka
– Brzina učenja (learning rate)
– Randomized weighted majority, Winnow
algorithm, Stochastic gradient descent, Perceptron
13
14. Učenje na bazi instanci i na bazi
modela
• Kako se vrši generalizacija
• Učenje na osnovu instanci
– Sličnost novih i postojećih instanci
– Rote (učenje napamet)
– K-NN
– Nearest nested hyper-rectangles
– Learning Vector Quantization
• Učenje na osnovu modela
– Prvo se napravi model, pa se on koristi za predviđanje
– Stabla odlučivanja, logistička regresija, SVM ...
14
15. Podela algoritama na osnovu načina
na koji rade
• Na osnovu načina na koji algoritam radi
– Regresioni,
– algoritmi zasnovani na instancama,
– algoritmi zasnovani na stablima odlučivanja,
– algoritmi sa grupisanjem (klasterovanjem),
algoritmi sa asocijativnim pravilima,
– algoritmi sa višestrukim modelima,
– Algoritmi zasnovani na kernelima
15
16. Bias i varijansa
• Dva međusobno suprotstavljena pojma
• Komplikovaniji modeli
– Preterano prilagođavanje podacima (overfitting)
– sistematske greška (bias) i varijansa (variance).
• Loši modeli
– Nije dovoljno tačan i ne odgovara podacima
– Nije dovoljno precizan i postoji mnogo varijacija u rezultatu
• Složeni klasifikatori
– Poboljšavaju sistematsku grešku (smanjuju je), ali se povećava
varijansa
– Smanjivanje varijanse vodi ka povećanju sistematske greške
• Ne može se imati sve
16
17. Bias i varijansa
• Sistematska greška (bias) - razlika između
prosečnog predviđanja modela i tačne vrednosti
koju pokušavamo da predvidimo.
• Varijansa - promenljivost u predviđanju od strane
modela.
• Y=f(X) + e
Err(x) = bias2 + varijansa + greška
17
20. Parametarski i neparametarski metodi
• Parametarski algoritmi - broj parametara je
unapred fiksiran.
– Prilikom učenja se postavljaju neke pretpostavke
• oblik funkcije koja se traži.
• dva koraka
1. Bira se oblik funkcije
2. Traže se koeficijenti te funkcije
• Neparametarski algoritmi - ne postavljaju
pretpostavke o osnovnoj funkciji mapiranja
20
21. Parametarski algoritmi
• linearna funkcija mapiranja, koja se koristi kod linearne
regresije.
• a0 + a1x1 + a2x2 = 0
– a0, a1 i a2 koeficijenti linije
– x1 i x2 - dve ulazne promenljive
• Učenje znatno jednostavnije
– Pronaći koeficijente ove linije
• Pogrešna pretpostavka
– Šta ako nepoznata funkcija nije linearna?
• logistička regresija, perceptron, naivni bajes, linearna
diskrminantna analiza itd.
21
22. Neparametarski algoritmi
• Ipak ima parametara
– Složeniji modeli sa povećanjem količine ulaznih
podataka
– parametarski model - unapred definisan broj
parametara
– neparametarski model - broj parametara može da
potencijalno postane beskonačan.
• u stanju da se prilagode većem broju funkcija.
• k-najbližih suseda (k-nearest neighbours)
• Stabla odlučivanja (CART, C4.5), SVM (kada se
koristi rbf kernel funkcija) itd.
22
23. Parametarski algoritmi
• Prednosti
– Jednostavniji
– vrlo brzo se dobijaju modeli
– za njihovu obuku nisu potrebne velike količine
podataka.
• Nedostaci
– izborom funkcije unapred se ograničavaju mogućnosti
učenja,
– teško primeniti ove metode na složene probleme,
– u praksi modeli retko odgovaraju pretpostavljenoj
osnovnoj funkciji.
23
24. Neparametarski algoritmi
• Prednosti
– Fleksibilnost (mogu da pronađu veliki broj funkcija),
– Snaga (nema pretpostavki o osnovnoj funkciji)
– Performanse (mogu da dovedu do boljih performansi
modela, prilikom predviđanja).
• Nedostaci
– Potrebna velika količina podataka da bi se dobila funkcija,
– Sporije se treniraju
– Postoji veći rizik od preteranog prilagođavanja (overfitting)
– Teže objasniti kako se došlo do nekog rezultata.
24
25. Grupe algoritama
• Algoritmi zasnovani na stablima odlučivanja (decision tree)
– CART
• Algoritmi zasnovani na sličnosti instanci (instance-based)
– k-NN
• Kernel metodi
– SVM
• Bajezijan metodi
• Veštačke neuronske mreže
• Algoritmi zasnovani na asocijativnim pravilima
• Kombinovani (ensemble) metodi
– Random Forest
25
Editor's Notes
Kod nadgledanog učenja podaci koji se daju algoritmu sadrže i i željeno rešenje (engl. Label).
Kod nenadgledanog učenja podaci nisu označeni. Algoritam pokušava da uči bez učitelja.
Učenje sa podrškom je takvo učenje kod kojeg agent obavlja niz akcija i na kraju dobija nagradu koja signalizuje da su akcije bile dobre
Kod nadgledanog učenja se za obuku koristi skup podataka sa poznatim izlazima. Kod ovakvog učenja se od algoritma traži da nauči, pronađe koja je to funkcija koja povezuje ulaznu i izlaznu promenljivu
Cilj kod rešavanja ovog problema je da se što tačnije aproksimira željena funkcija, tako kad se pojavi novi ulazni podaci (x), može da se predviti koja će biti vrednost izlazne promenljive y.
Kod regresije algoritam pokušava da uspostavi funkciju koja povezuje ulaznu promenljivu x i numeričku, kontinualnu vrednost y.
Kod regresionih algoritama se obično predviđaju količine ili veličine
Na primer, predviđanje cene kuće na osnovu podataka o kućama, spada u regresiju.
Kod klasifikacije se traži funkcija koja povezuje ulazne promenljive sa diskretnim izlaznim vrednostima.
Y je kategorija koju funkcija predviđa.
Ako bi u pitanju bilo predviđanje cene kuće, onda bi klasifikacija mogla da predvidi da li će cena biti veća ili manja od preporučene vrednosti.
Kod nenadgledanog učenja su dati samo ulazni podaci. Cilj je da se u podacima pronađe neka pravilnost.
Osnovni zadaci mašinskog učenja su grupisanje
Kod upotrebe asocijativnih pravila se vrši analiza velikih količina podataka u cilju pronalaženja veze između atributa.
Na primer, u velikom supermarketu se može vršiti analiza prodaje. Ako se zaključi da se onaj ko kupuje roštiljski sos obično kupuje i meso, onda se mogu ta dva proizvoda postaviti jedan pored drugog.
Može se na primer vršiti i analiza posetilaca nekog blog sajta. Zaključak može biti da 30% posetilaca dolazi vikendom i onda čita određene blogove itd.
Ovo učenje predstavlja kombinaciju nadgledanog i nenadgledanog učenja.
Kod ovakvog učenja obično postoji manji deo ulaznih podataka koji su obeleženi i veći deo koji nije obeležen (za koji ne postoji izlaz)
Razlozi za uvođenje ovakvih postupaka su da označavanje velikih količina podataka traži puno vremena, a pošto to obično rade eksperti to može biti i jako skupo. Drugi razlog je u tome da kod tog označavanja lako može doći do greške, jer ljudi nisu dobri u tim masovnim zadacima.
Primer ovakvog učenja može biti Google photos. Na primer, ako se tamo postave fotografije google će zaključiti da je ista osoba A na slikama 2 i 5
a osoba B na nekim drugim. To je primer nenadgledanog učenja (klasterovanje). Ako se posle toga osoba A označi imenom, i osoba B nekim drugim imenom, onda će Google ubuduće prepoznavati koje su to osobe, što je primer nadgledanog učenja.
Ovakav vid učenja se uglavnom primenjuje kod obuke softverskih agenata koji ddeluju u nekom prostoru akcija.
Učenje se obavlja tako što agent obavlja niz akcija i nakon toga dobija nagradu (pozitivna ili negativna).
Sistem učenja treba da iskoristi signal podrške da utvrdi koja je tačno akcija (ili više njih) dovela pozitivnog ili negativnog signala podrške
I da na osnovu toga koriguje ponašanje agenta
Primer ovakvog učenja može biti program AlphaGo, koji je 2016 godine pobedio svetskog šampiona u igri Go. Agent je analizirao milione partija i igrao protiv samog sebe, dok nije naučio kako da pobedi.
Još jedan mogući način podele algoritama mašinskog učenja je da li sistemi mogu da inkrementalno uče na osnovu podataka koji stalno pristižu.
Batch algoritmi nisu sposobni za inkrementalno učenje. To znači da se algoritam trenira na osnovu svih podataka koji su na raspolaganju.
Ovo obično dugo traje i traži dosta resursa, tako da se vrši offline. Sistem se prvo istrenira, a onda se pusti u proizvodnju gde primenjuje ono št je naučio. Više nema treniranja. Ako je potrebno da se sistem bude svestan novih podataka, mora da se ponovo treniranje sa kompletnim skupom u koji su dodati i novi podaci.
Proces treniranja, evaluacije i upotrebe sistema se može automatizovati, tako da se i takvi sistemi mogu da prilagode promenama.
Proces treniranja traži puno resursa tako da se obavlja u određenim vremenskim intervalima (na primer, svakih 24 sata). Ako je potebno brže prilagođavanje, onda se mora tražiti drugo rešenje.
Primeri ovakvih algoritama su
Kod online učenja se algoritam trenira inkrementalno, tako što se dodaju isntance sa podacima, bilo pojedinačno bilo u malim paketima. Koraci su mali i jeftini, tako da se sistem u letu upoznaje sa novim podacima.
Onlajn učenje se primenjuje kod sistema koji imaju kontinualni priliv podataka, kao što su recimo podaci sa berze.
To je dobro rešenje i u slučaju da su računarski resursi ograničeni. Kad se jednom ovakav sistem upozna sa podacima, oni više nisu potrebni (osim ako je potreban rollback).
Ovakvi algoritmi se koriste i kod sistema koje treba trenirati na osnovu ogromnih količina podataka, koji ne mogu da stanu u memoriju. U tom slučaju se učitava deo po deo podataka.
Važna karakteristika ovakvih sistema je brzina učenja. Ako se zada veća brzina, onda se sistem brzo prilagođava novim podacima, ali može i da zaboravi stare. Ako se zada manja brzina onda je sistem inertan, odnosno sporije uči, ali će zato biti manje osetljiv na šum u novim podacima.
Joše jedan način podele algoritama je na osnovu načina na koji se vrši generalizacija. Ako algoritam ima dobre performanse kod treniranja, to nije dovoljno, potrebne su dobre performanse kod novih instanci, odnosno kod generalizacije.
Kod učenja na osnovu instanci sistem napamet nauči postojeće primere, a onda nove primere klasifikuje na osnovu sličnosti sa postojećim instancama.
Algoritmi koji se zasnivaju na instancama su učenje napamet, knn
Kod učenja na osnovu modela se na osnovu skupa isntanci za treniranje napravi model, a onda se taj model koristi za predviđanje
Algoritmi koji se koriste kod mašinskog učenja se mogu grupisati na više različitih načina. Onovna podela, koja je već ranije pomenuta je na osnovu načina na koji algoritam uči. U skladu sa tom podelom algoritmi se mogu grupisati na algoritme koji se koriste kod nadgledanog učenja, na one koji se koriste kod nenadgledanog učenja i algoritme koji se koriste kod mešavine nadgledanog i nenadgledanog učenja.
Tipični predstavnici prve grupe algoritama, koji se koriste kod nadgledanog učenja su Logistička regresija, Back propagation neuronska mreža itd. U drugu grupu algoritama, koji se koriste kod nenadgledanog učenja spadaju algoritmi kao što je k-means, ili Apriori. Kod treće grupe algoritama ne postoje tipični predstavnici, već se radi o proširenjima drugih algoritama u cilju modeliranja podataka koji nisu označeni.
Drugi način grupisanja algoritama je na osnovu načina na koji rade. Iako se većina algoritama može svrstati u jednu ili drugu grupu, treba imati na umu da postoje i algoritmi koji ne pripadaju samo jednoj grupi. Na primer, algoritam Learning Vector Quantization pripada istovremeno i grupi algoritama nastalih na osnovu neuronskih mreža, ali i grupi algoritama koji su zasnovani na instancama.
Na osnovu načina kako rade, algoritmi se mogu podeliti na regresione, algoritme zasnovane na instancama, regularizacione algoritme, algoritme zasnovane na stablima odlučivanja, bajesianove algoritme, algoritme koji koriste grupisanje (clustering), algoritme zasnovane na asocijativnim pravilima, veštačke neuronske mreže, algoritmi koji koriste višestruke modele (ensemble), algoritmi zasnovani na kernelima itd.
Pre nego što se krene sa objašnjavanjem pojedinih algoritama iz prethodno pomenutih grupa, treba objasniti dva međusobno suprotstavljena pojma, koji se koriste u statistici, a onda i kod mašinskog učenja. To su sistematska greška (bias) i varijansa (variance).
Prilikom treniranja bilo kojeg algoritma mašinskog učenja donose se odluke o modelu koji će se koristiti, kao i o parametrima izabranog modela. Što više stepeni slobode postoji u algoritmu, to je komplikovaniji model koji se dobija. Kod komplikovanijih modela postoji opasnost od preteranog prilagođavanja podacima (overfitting), što se obično rešava povećanjem broja potrebnih podataka i validacijom. Drugi pogled na činjenicu da složeniji modeli ne vode obavezno ka boljim rezultatima se može objasniti pomoću sistematske greške (bias) i varijanse (variance).
U opštem slučaju model može biti loš iz dva razloga. Ili nije dovoljno tačan i ne odgovara podacima, ili nije dovoljno precizan i postoji mnogo varijacija u rezultatu. Prvi razlog se izražava kao sistematska greška, a drugi kao statistička varijansa. Složeniji klasifikatori poboljšavaju sistematsku grešku, ali je cena toga u povećanju varijanse. Sa druge strane, ako se smanjuje varijansa, dolazi do povećanja sistematske greške. Može se reći da se u ovoj situaciji primenjuje univerzalno pravilo da se ne može imati sve.
Sistematska greška se može definisati kao razlika između prosečnog predviđanja modela i tačne vrednosti koju pokušavamo da predvidimo. Modeli sa velikom sistematskom greškom obraćaju premalo pažnje na podatke koji se koriste kod treniranja i previše pojednostavljuju stvari. Ovo vodi ka velikoj grešci kod podataka za treniranje i testiranje.
Varijansa se može definisati kao promenljivost u predviđanju od strane modela. Modeli koji imaju veliku varijansu previše pažnje obraćaju na podatke koji se koriste za trening i nisu dobri u generalizaciji podataka koji ranije nisu bili poznati. Rezultat je da se takvi modeli dobro ponašaju kod podataka za trening, ali postoji velika greška kod podataka za testiranje.
Matematički se bias i varijansa mogu objasniti na sledeći način.
Neka je Y promenljiva koju algoritam pokušava da predvidi, dok je X zadata promenljiva. Između X i Y postoji veza takva da je:
Y=f(X) + e
U prethodnoj jednačini e je greška. Pretpostavka je da ona ima normalnu distribuciju sa srednjom vrednošću 0.
Zadatak algoritma je da se napravi model .
Jedna od mogućnosti da se izračuna greška (razlika) između ciljne i predviđene vrednosti je da se pronađe suma kvadrata njihovih razlika. Greška se može izraziti jednačinom:
Za funkciju greške se može izvršiti dekompozicija na
Err(x) =
Prethodna jednačina se može napisati i u obliku:
Err(x) = bias2 + varijansa + greška
Kao što se vidi greška se može predstaviti kao suma kvadrata sistematske greške, varijanse i greške koja se ne može izbeći. Greška koja se ne može izbeći je greška koja će postojati koliko god da model bude dobar. Ova greška je mera količine šuma u ulaznim podacima. Kakav god model da se napravi uvek će postojati izvesna greška, koja se ne može ukloniti.
Na ovom dijagramu se u centru nalazi model koji savršeno predviđa tačne vrednosti. Kako se pomeramo od centra, predviđanja postaju sve lošija.
Da podsetimo da se kod nadgledanog učenja premalo podudaranje (underfitting) javlja kad model nije u stanju da otkrije osnovni obrazac koji postoji u podacima. Takvi modeli obično imaju veliku sistematsku grešku i malu varijansu. To se na primer, dešava kada postoji mala količina podataka.
Preterano podudaranje (overfitting) se dešava kada model obuhvata i šum koji se nalazi u podacima. To se dešava kada se model trenira na osnovu podataka u kojima postoji mnogo šuma. Takvi modeli imaju malu sistematsku grešku i veliku varijansu.
Ako je model suviše jednostavan i ima malo parametara, onda se može desiti da postoji velika sistematska greška i mala varijansa. Sa druge strane ako postoji veliki broj parametara, može se desiti da postoji velika varijansa i mala sistematska greška. Umetnost je pronaći pravi balans između njih.
Parametarski algoritmi su oni kod kojih je broj parametara unapred fiksiran. To znači da se prilikom učenja postavljaju neke pretpostavke, koje mogu da pojednostave ceo proces. Pretpostavke se odnose na oblik funkcije koja se traži. Kod ovakvih algoritama postoje dva koraka. U prvom koraku se bira oblik funkcije, a u drugom se traže koeficijenti te funkcije, na osnovu podataka koji su dostupni.
Neparametarski algoritmi su oni koji ne postavljaju pretpostavke o osnovnoj funkciji mapiranja. Na taj način, ovi algoritmi su slobodni da uoče bilo koju funkciju koja eventualno postoji u ulaznim podacima.
Pogledajmo, na primer, linearnu funkciju mapiranja, koja se koristi kod linearne regresije.
a0 + a1x1 + a2x2 = 0
Ovde su a0, a1 i a2 koeficijenti linije, dok su x1 i x2 dve ulazne promenljive. Proces učenja je znatno jednostavniji ako se unapred pretpostavi oblik funkcije. Sve što posle ove pretpostavke treba uraditi je da se pronađu koeficijenti ove linije i da tako se dobije model.
Problem sa ovakvim pristupom je da se može desiti da je pretpostavka pogrešna. Šta ako u prethodnom slučaju nepoznata funkcija nije linearna?
Neki od predstavnika grupe parametarskih algoritama su logistička regresija, perceptron, naivni bajes, linearna diskrminantna analiza itd.
Kada se kaže da su algoritmi neparametarski, to ne znači da nema parametara. Upravo suprotno, ovi modeli uglavnom postaju sve složeniji sa povećanjem količine ulaznih podataka. To znači da kod parametarskih modela postoji unapred definisan broj parametara, dok kod neparametarskih modela broj parametara može da potencijalno postane beskonačan.
Neparametarski modeli traže funkciju koja najbolje odgovara ulaznim podacima, pri čemu se zadržava i određena sposobnost generalizacije. To znači da su ovi algoritmi u stanju da se prilagode većem broju funkcija.
Tipičan predstavnik neparametarskih algoritama je algoritam k-najbližih suseda (k-nearest neighbours). Ovaj algoritam svoja predviđanja gradi na osnovu k najsličnijih obrazaca i nove instance. Algoritam ne pretpostavlja ništa o obliku funkcije, osim da obrasci koji se nalaze blizu, verovatno imaju i slične izlaze.
Pored K-NN algoritma, u grupu popularnih neparametarskih algoritama spadaju i Stabla odlučivanja (CART, C4.5), SVM (kada se koristi rbf kernel funkcija) itd.
Osnovne prednosti parametarskih algoritama su u tome da su oni jednostavniji, što znači da ih je lakše razumeti i interpretirati rezultate, da se vrlo brzo dobijaju modeli, i da za njihovu obuku nisu potrebne velike količine podataka.
Pored prednosti ovi algoritmi imaju i nedostatke. Oni se ogledaju u tome da se izborom funkcije unapred, ograničavaju i mogućnosti učenja, da je teško primeniti ove metode na složene probleme, kao i da se u praksi retko dešava da modeli odgovaraju pretpostavljenoj osnovnoj funkciji.
Prednosti neparametarskih algoritama se ogledaju u njihovoj fleksibilnosti (mogu da pronađu veliki broj funkcija), snazi (jer nema pretpostavki o osnovnoj funkciji) i performansama (jer mogu da dovedu do boljih performansi modela, prilikom predviđanja).
Nedostaci ovih algoritama se ogledaju u tome što ime je potrebna velika količina podataka da bi se dobila funkcija, što se sporije treniraju, jer postoji puno parametara koje treba uočiti, što postoji veći rizik od preteranog prilagođavanja (overfitting) i što je teže objasniti kako se došlo do nekog rezultata.
U narednim prezentacijama će se detaljnije objasniti neki od osnovnih algoritama. Iz svake grupe algoritama će detaljnije biti objašnjen po jedan, tipičan predstavnik.
Iz grupe algoritama zasnovanih na stablima odlučivanja ćemo detaljnije objasniti Classification and regression tree (CART) algoritam,
Iz grupe algoritama zasnovanih na sličnosti instanci ćemo detaljnije objasniti algoritam k-NN (k najbližih suseda)
Iz grupe algoritama zasnovanih na primeni kernelskih funkcija ćemo detaljnije objasniti algoritam Support Vector Machine i iz grupe kombinovanih algoritama ćemo detaljnije objasniti RandomForest algoritam.