Professional Documents
Culture Documents
Machine Learning
Machine Learning
Ovo predavanje je uvod u osnovne pojmove vezane za mašinsko učenje, tehnike i algoritme
mašinskog učenja kroz sljedeće tematske jedinice:
Mašinsko učenje izgrađeno je na statističkom okviru. Pored toga mašinsko učenje obuhvaća i
veliki broj drugih područja matematike i računarskih nauka. Veza mašinskog učenja i
statistike će se biti jasnija nakon ovog kursa. Za sada možemo istaknuti da statističko
modeliranje se više bavi pronalaženjem odnosa između varijabli tih odnosa dok mašinsko
učenje pored toga u prvi plan stavlja i predviđanja (predikciju), evaulaciju tih predviđanja i
upotrebljivost sistema za predviđanje.
Mašinsko učenje se bavi razvojem algoritama koji da bi bili korisni se oslanjaju na kolekciju
primjeraka nekog fenomena. Kolekcije mogu poticati iz prirode, biti ručno izrađene od
strane ljudi ili generirane drugim algoritmom.
Mašinsko učenje se može također opisati kao proces rješavanja praktičnih problema koji se
sastoji od 1. kolektiranja i pohranjivanja skupova podataka i 2. algoritamske izgradnje
statističkih modela baziranih na skupovima podataka.
Mašinsko učenje fokusira se na razvoj algoritama koji mogu učiti iz podataka i na osnovu
toga vršiti razne predikcije. Nastalo je u okruženju u kojem su se dostupni podaci, statističke
metode i kompjuterska snaga brzo i istovremeno razvijali. Rast podataka zahtijevao je
dodatnu računarsku snagu, što je zauzvrat potaknulo razvoj metoda za analizu velikih
skupova podataka.
Pionir mašinskog učenja Arthur Samuel 1959, definira mašinsko učenje kao "polje učenja
koje daje kompjuterima sposobnost da uče bez eksplicitnog programiranja". Dok je radio za
IBM razvio je program koji uči igranje dame i vremenom poboljšava svoj način igranja.
1
Američki naučnik Tom Mitchell (rođen 1951, profesor na Carnegie Mellon University)
1997 godine je definirao mašinsko učenje kao: "A computer program is said to learn from
experience E with respect to some task T and some performance measure P, if its performance on
T, as measured by P, improves with experience E."
Računarski program uči iz iskustva E u vezi s nekim zadatkom T i nekom mjerom uspješnosti
P, ako se njegov učinak na T, mjeren s P, poboljšava s iskustvom E.
2
testnog skupa podataka primjenom specifičnih metrika ovisno od vrste modela. Više o
načinima evaluacije za različite tehnike mašinskog učenja će se raditi tokom kursa.
Pravila
Drvo odlučivanja
3
1.3.Setovi podataka
Modeli i algoritmi mašinskog učenja su široko primjenjivi u mnogim domenima poslovanja i
naučnim istraživanjima. U principu mašinsko učenje može se primijeniti na bilo koju vrstu
informacijskog repozitorija. To uključuje između ostalog relacijske baze podataka, skladište
podataka, transakcijske baze podataka, prostorne, multimedijske podatke, datoteke, XML
dokumente, WWW, vremenske serije podataka, specifične setove podataka.
Mnogi istraživači rješavaju iste probleme i koriste javno dostupne setove podataka (eng.
datasets) koji su namjenski formirani za pojedinu oblast. Postoje setovi podataka za
medicinska, marketinška, meteorološka, finansijska i mnoga druga istraživanja. Ovi setovi su
uglavnom dobro dizajnirani u pogledu broja atributa (features) kojima se opisuje pojedini
koncept (primjerak, instanca, entitet). Naprimjer, za predikciju uspješnosti nekog kredita i
sličnih problema u bankarstvu dostupni su setovi podataka Australian,German, Japanese.
Koncept je obično osoba, predmet, transakcija, vremenski period, geografska regija i sl.
Ponekad se koncepti promatranja kombiniraju u cilju uspješnijih analiza. Npr. koncept
osoba-godine označavaju slučajeve u kojima se ista osoba(e) prati tokom više godina a takvi
skupovi podataka sastoje se od podataka o osobi za više godina. To omogućava razne
analize.
Iako se primjeri i značajke ne moraju prikupljati u bilo kojem određenom obliku, obično se
koristi matrični format, što znači da svaki primjer ima potpuno iste atribute (karakteristike,
značajke eng. features). U matričnoj formi svaki red je instanca a kolone su karakteristike.
Figura 1 predstavlja matrični zapis u kojem redovi indiciraju instance (primjerke) automobila
dok kolone označavaju karakteristike automobile kao što su cijena, kilometraža, boja, vrsta
prijenosa.
Karakteristike dolaze u različitim formama. Ako karakteristika predstavlja neku mjeru
izraženu u brojevima radi se o numeričkoj (numeric) karakteristici. Ako se za karakteristiku
veže skup kategorija tada se radi o kategoričkoj (categorical) ili nominalnoj (nominal)
karakteristici. Npr. spol.
Poseban slučaj kategorijskih varijabli su ordinalne varijable i specificiraju samo redoslijedni-
poredani popis vrijednosti i omogućavaju samo usporedbu vrijednosti. Primjeri ordinalnih
varijabli uključuju npr. veličinu cipela kao što su male, srednje ili velike; mjerenje
satisfakcije na skali "u potpunosti nezadovoljan" do "veoma zadovoljan" .
Važno je razmotriti što karakteristike predstavljaju jer značenja, vrsta i broj karakteristika u
skupu podataka pomaže u određivanju odgovarajućeg algoritma mašinskog učenja.
4
1.4. Primjene mašinskog učenja
Svaka organizacija koja generira ili agregira podatke vjerovatno koristi barem jedan
algoritam mašinskog učenja. Mašinsko učenje najuspješnije je kada proširuje, umjesto da
zamjenjuje specijalizirana znanja domenskih stručnjaka.
Mašinsko učenje se uglavnom koristi za dva primarna taska. Prvi task je prognoza budućih
ishoda. Naprimjer, ukoliko je zadatak optimizacija sekvence semafora na prometnoj
saobraćajnici može se razviti algoritam mašinskog učenja za predviđanje protoka prometa pet
minuta unaprijed. Drugi task je klasifikacija objekata u specifične klase. Naprimjer, zrna kafe
obično se klasificiraju u jedan od četiri razreda (Special, Premium, Exchange, Standard).
Može se razviti algoritam mašinskog učenja za automatsko određivanje kategorije zrna kafe
na osnovu karakteristika zrna.
Sličnih primjena je jako mnogo. Neki od njih su:
• Identifikacija spam poruka u e-mailu
• Segmentacija ponašanja kupaca za ciljano oglašavanje
• Prognoze vremenskog ponašanja i dugoročnih klimatskih promjena
• Smanjivanje lažnih transakcija na kreditnim karticama
• Predikcija ishoda rezultata izbora
• Razvoj algoritama za automatsko pilotiranje bespilotnih letjelica i samovozećih
automobila
• Optimizacija korištenja energije u kućama i uredskim zgradama
• Projekcija područja u kojima je kriminalna aktivnost najvjerojatnija
• Otkrivanje genetskih sekvenci povezanih s bolestima
5
- Data mining je proces otkrivanja skrivenog, prethodno nepoznatog znanja i korisnih
informacija iz velikog skupa podataka. Ove informacije se predstavljaju u kompaktnoj formi,
obično označenoj kao model.
- Data mining označava ekstrakciju ili „mining“ znanja iz velike količine podataka.
- Data mining je proces otkrivanja novih značajnih korelacija i trendova iz velike količine
podataka smještenih u skladištu podataka, korištenjem mašinskog učenja vještačke
inteligencije, statističkih i matematičkih metoda.
Iz definicija je vidljivo da data mining koristi za svoje taskove algoritme mašinskog učenja.
Uglavnom sistemi za analizu podataka koji ne upravljaju velikim količinama podataka se
kategoriziraju kao sistemi mašinskog učenja (eng. machine learning) i oni ne uključuje samo
učenje iz primjera, već i poboljšanje učenja i poboljšanje performansi agenata. S druge strane
data mining sistemi rade nad velikom količinom podataka i primjenom mašinskog učenja
pokušavaju doći do neotkrivenog znanja.
U okviru ove sekcije uvode se metode induktivnog učenja i klasifikacija tehnika i algoritama
mašinskog učenja.
6
Nadgledano učenje koristi se da se procijeni nepoznata ovisnost od poznatih ulaznih-izlaznih
uzoraka. Klasifikacija i regresija su primjeri tehnika koje pripadaju grupi nadgledanog
učenja. Nadgledano učenje pretpostavlja postojanje učitelj—fitnes funkcije ili slične druge
eksterne metode za procjenjivanje predloženog modela. Izraz nadgledano označava da su
izlazne vrijednosti za trening uzorke poznate (tj., date sa "učiteljem" koji ima znanje o
okruženju). Neke tehnike nadgledanog učenja su: indukcija pravila, klasifikacijsko i
regresijsko drvo odlučivanja, SVM (Support Vector Machines), Bayesian Networks, neki
modeli neuralnih mreža, k-najbliži susjed.
Kod nenadgledane sheme učenja, samo uzorci sa ulaznim vrijednostima su dati sistemu za
učenje. Nenadgledano učenje eliminira učitelja i zahtijeva da učenik formira i procijeni
model. Cilj nenadgledanog učenja je otkrivanje “prirodne” strukture u ulaznim podacima.
Ovi rezultati se postižu sa klaster analizama (npr. k-means, EM-Exception Maximization),
pojedinim tipovima neuralnih mreža (npr. SOM (samo organizirajuće mape), ART (teorija
adaptivnih rezonanci)), asocijativnim pravilima, link analizama. Za problem redukcije
dimenzionalnosti, koji je izuzetno aktuelan, koriste se metode nenadgledanog učenja - analize
principijelnih komponenti, analize neovisnih komponenti.
Veliki broj je i statističkih metoda kao što su logistička regresija, Naive Bayes koeficijenti,
diskriminantne analize koje se koriste u mašinskom učenju i koje pripadaju gore navedenim
tipovima učenja. Statističke metode se često odvajaju u odvojenu skupinu izučavanja zbog
principa funkcioniranja.
Tu su i druge tehnike kao što su genetički algoritmi, grupni metodi upravljanja podataka,
fuzzy setovi.
Klasifikacija
Klasifikacija na osnovu osobina podataka, smješta podatke u predefinirane grupe ili klase.
Često se označava kao nadgledano učenje jer klase su određene prije ispitivanja podataka.
Proces klasifikacije počinje od kolekcija slogova (podataka) koja se naziva trening set dat na
slici 1.2a. Uzorci podataka pripadaju različitim klasama koje su obilježene različitim
simbolima. Klase su označene na osnovu jednog od atributa podataka. Zadatak klasifikacije
7
je pronaći model za atribut klase kao funkciju vrijednosti od drugih atributa. Konačni rezultat
klasifikacije je linija prikazana na slici 1.2b, koja najbolje odvaja uzorke u dvije klase.
Korištenje ove funkcije, svaki novi uzorak, iako nije poznat izlazni rezultat (klasa kojoj
pripada), može se klasificirati korektno. Cilj klasifikacije je ustvari da se prethodno neviđeni
slogovi dodijele određenoj klasi. Kada se problem specificira sa više od dvije klase, to
rezultira u kompleksnije funkcije.
Uobičajno set podataka je podijeljen u trening i test podatke, trening set se koristi da izgradi
model a test set da se model validira. Klasifikacijske tehnike su tehnike bazirane na drvetu
odlučivanja, tehnike bazirane na pravilima, neuralne mreže, Naïve Bayes klasifikatori,
Bayesove mreže, mašine vektorske podrške. Tehnike klasifikacije objašnjavaju se u
posebnim predavanjima .
Regresija
Regresija je tehnika koja predviđa stvarnu vrijednost. Rezultat procesa učenja u ovom slučaju
je funkcija učenja koja mapira podatke u stvarnu vrijednost predikcijske varijable. Inicijalni
trening skup podataka je dat na slici 1.3a. Regresijska funkcija na slici 1.3b generirana je
bazirano na predefiniranim kriterijima. Bazirajući se na ovoj funkciji, moguće je procijeniti
vrijednost predikcijske varijable za svaki novi uzorak. Regresija pretpostavlja da se ciljani
podaci smjeste u poznati tip funkcije (npr., linearna, logistička) i poslije odredi najbolja
funkcija ovog tipa koja modelira date podatke.
8
Predikcijska varijabla
Novi uzorak
a) Trening set podataka b) Regresijska funkcija
Klastering
Klastering je sličan klasifikaciji izuzev što grupe nisu predefinirane. Klastering se obično
postiže određivanjem sličnosti između podataka na osnovu unaprijed određenih atributa.
Najviše slični podaci se grupiraju u klastere. Klastering se alternativno referira kao
nenadgledano učenje ili segmentacija u grupe koje mogu ali ne moraju biti disjunktne. Slika
1.4a pokazuje inicijalne podatke, koji su grupirani u klase kako je pokazano na slici 1.4b,
koristeći standardnu mjeru udaljenosti za uzorke kao tačke u n-dimenzijskom prostoru.
Bazirajući se na rezultatima klastering procesa svaki novi uzorak, na osnovu sličnosti sa
klaster podacima, može se dodijeliti u jedan od prethodno pronađenih klastera. Tehnike
klasteringa se objašnjavaju u posebnom poglavlju.
Asocijativna pravila
Asocijativna pravila predstavljaju skup relativno novih metodologija koje uključuju algoritme
kao što su analiza potrošačke korpe, Apriori algoritam, i WWW put-povezane paterne. To je
model koji identificira specifične tipove asocijacija među podacima. Ove asocijacije se
najčešće koriste u prodajnim zajednicama da identificiraju artikle koji se najčešće prodaju
zajedno.
9
Sumarizacija
Sumarizacija je također tipični deskriptivni zadatak koji koristi induktivni proces učenja bez
učitelja. Uključuje metode za pronalaženje kompaktnog opisa za skup (ili podskup) podataka
i mapiranje podataka u podskupove sa povezanim jednostavnim opisima. Sumarizacija se
također naziva karakterizacija ili generalizacija.
Lista tehnika i algoritama nije ograničena na opisane iznad. U okviru predmeta mnoge
tehnike i algoritmi raditi će se detaljnije.
Dobar plan nije učiti npr. R, Phyton bez solidnog predznanja o statisticima i mašinskom
učenju. Naučnici nauke o podacima podacima nisu programeri. Mnogo važniji task u nauci
sa podacima je način kako se radi sa podacima: uvoz, čišćenje, priprema podataka,
inženjering karakteristika, selekcija karakterstika, formiranje modela, evaulacija i poboljšanje
modela. To je primarni fokus. Jezici i alati omogućavaju da se proces mašinskog učenja
automatizira i učini dostupnijim. U okviru ovog predmeta koristi će se R programski jezik
razvijen od strane Ross Ihaka i Robert Gentleman 1993 god. R posjeduje prošireni katalog
statističkih i grafičkih metoda. Njegovo primarno korištenje je statistika, vizualizacija i
mašinsko učenje R je napravljen od kolekcije biblioteka dizajniranih specifično za mašinsko
učenje. Uključuje algoritme mašinskog učenja, linearnu regresiju, analizu vremenskih serija,
statistiku i mnoge druge. Cijenjen je u akademskim krugovima a koriste ga i mnoge
kompanije – uključujući Uber, Google, Airbnb, Facebook itd. Sve biblioteke od R-a, su
smještene na CRAN. CRAN je besplatan i open source. Osnove R su izložene u okviru
dodatne prezentacije.
10