Mašinsko učenje Uvod Bojan Furlan УНИВЕРЗИТЕТ У БЕОГРАДУ ЕЛЕКТРОТЕХНИЧКИ ФАКУЛТЕТ
Šta je to mašinsko učenje? Disciplina koja omogućava računarima da uče bez eksplicitnog programiranja (Arthur Samuel 1959). 1. Generalizacija znanja na osnovu prethodnog iskustva (podataka o pojavama/entitetima koji su predmet učenja) 2. Dobijeno znanje koristi se kako bi se dali odgovori na pitanja za entitete/pojave koji nisu ranije viđeni
Primer
Definicija (Tom Mitchell 1998) Za kompjuterski program se kaže da uči iz iskustva E (experience), vezanog za zadatak T (task), i meru performansi P (performance), ukoliko se njegove performanse na zadatku T, merene metrikama P, unapređuju sa iskustvom E
Primer Program koji označava kreditne zahteve kao dobre (Good) i loše (Bad) Zadatak (T): klasifikacija zahteva na Good/Bad Iskustvo (E): zahtevi prethodno označeni kao dobri i loši kreditni rizici (stvarni ishodi) Performanse (P): procenat korektno klasifikovanih zahteva kao Good/Bad
Prednosti ML-a? 1. Vrlo je teško precizno (algoritamski) opisati neke vrste zadataka koje ljudi lako rešavaju. Primeri: prepoznavanje lica (face detection), prepoznavanje govora (speech recognition) 2. Za neke vrste zadataka mogu se definisati algoritmi za rešavanje, ali su ti algoritmi vrlo složeni i/ili zahtevaju velike baze znanja Primer: automatsko prevođenje (MT)
Prednosti ML-a? 3. U mnogim oblastima se kontinuirano prikupljaju podaci sa ciljem da se iz njih nešto sazna ; npr: u medicini: podaci o pacijentima i terapijama u marketingu: o korisnicima/kupcima i tome šta su kupili, za šta su se interesovali, kako su proizvode ocenili, Analiza podataka ovog tipa zahteva pristupe koji će omogućiti da se otkriju pravilnosti, zakonitosti u podacima koje nisu ni poznate, ni očigledne, a mogu biti korisne (Data mining)
IR vs. ML vs. DM Pretraživanje informacija (Information retrieval IR) je pronalaženje postojećih informacija što je brže moguće. Primer: veb pretraživač pronaći stranicu u okviru (velikog) skupa postojećih Mašinsko učenje (Machine learning ML ) je skup tehnika koje generalizuju postojeće znanje nad novim podacima, što je moguće preciznije. Primer: prepoznavanje govora Data mining DM se prvenstveno odnosi na otkrivanje nečega skrivenog unutar podataka, nekih novih zakonitosti koje nisu ranije bile poznate. Primer: CRM analiza kupaca
IR vs. ML vs. DM Sve tri oblasti se ukrštaju i dele mnoge tehnike: DM i IR koriste indeksne strukture kako bi ubrzale proces. DM koristi mnoge ML tehnike Npr. zavisnost prepoznata u skupu podataka, koja predstavlja generalizaciju znanja, može biti i neko novo znanje
Oblasti primene Klasifikacija Predikcija Grupisanje Asocijacija
Klasifikacija U klasifikaciji postoji ciljana kategorička promenljiva (atribut), čiju vrednost treba odrediti. Klasifikacija se odnosi na dodelu pojave/entitete u određenu kategoriju na osnovu vrednosti ostalih atributa.
Klasifikacija - primer Ostali primeri: Kategorizacija teksta prema temi (npr. sport, politika,...), iskazanim osećanjima, itd.
Predikcija Sličan postupak klasifikaciji, s tim što ciljani atribut predstavlja numeričku vrednost. Predicting the price of a stock three months in the future
Grupisanje Grupisanje (Clustering) se odnosi na grupisanje pojava/entiteta u grupe (klastere) sličnih objekata. Klaster je kolekcija pojava/entiteta koji su međusobno slični, a značajno se razlikuju od onih pojava/entiteta u drugim klasterima. Grupisanje se razlikuje od klasifikacije: ne postoji ciljni atribut za grupisanje. Algoritam nastoji da segmentira ceo skup podataka u homogene podgrupe ili klastere: gde sličnost podataka u okviru klastera je maksimalna, a sličnost sa podacima izvan klastera je sveden na minimum.
Grupisanje - primeri Grupisanje klijenata na osnovu demografskih podataka. Grupisanje reči iz dokumenata koje opisuju teme (topic modeling).
Asocijacija Zadatak asocijacije je da pronađe koje pojave/entiteti idu zajedno. Asocijacija otkriva pravila za kvantifikovanje odnosa između dva ili više atributa. Dobijena pravila su u obliku IF uslov THEN konsekvenca Sa merom zastupljenosti i pouzdanosti za pravilo
Asocijacija - pirmer U supermarketu od 1000 kupaca, 200 su kupili pelene, i od tih 200 koji su kupili pelene, 50 je kupilo pivo. Pravilo asocijacije će biti IF pelene THEN pivo Uz zastupljenost 200/1000 = 20% i pouzdanost 50/200 = 25%.
Proces mašinskog učenja Prikupljanje/ razumevanje Priprema Upotreba Izbor atr/alg Modelovanje Evaluacija
Podaci Potrebni su za trening, validaciju i testiranje modela Tipična podela na 60% za trening, 20% za validaciju i 20% za testiranje Izbor uzoraka treba uraditi na slučajan način (random selection)
Atributi (features) Model treba da verno opisuje pojave/entitete Zato prepoznajemo osobine i odnose u datom domenu i predstavljamo ih atributima Izazov je odabrati prave atribute
Atributi - primeri Za kreditne zahteve: vrednost imovine podnosioca, primanja, zaposlenje, bračno stanje, itd. Za identifikaciju nepoželjne elektronske pošte (spam): naslov, prisustvo tipičnih reči (buy, visit, ), dužina email-a, broj primalaca, itd.
Testiranje Procena uspešnosti modela Koriste se podaci kojima model nije imao pristup u fazi učenja (20-30% ukupnih podataka) Uspešnost se utvrđuje različitim metrikama: tačnost, preciznost, odziv,
TRAIN/VALIDATE/TEST Pored treniranja i testiranja modela, najčešće se radi i validacija modela kako bi se: a) izabrao najbolji model između više kandidata b) odredila optimalna konfiguracija parametara modela c) izbegli problemi over/under-fitting-a ukupan skup podataka se deli u odnosu 60/20/20 na podatake za trening, validaciju i testiranje Podaci za validaciju koriste se za poređenje performansi različitih modela (a); izabranog modela sa različitim vrednostima parametara (b)
Analiza greške ručno pregledanje primera na kojima je model pogrešio Pomaže da se stekne osećaj zbog čega model greši i šta bi se moglo uraditi da se greške otklone; npr: identifikovati suvišne atribute identifikovati atribute koji nedostaju drugačije podesiti parametre modela
Reference Mašinsko učenje, Jelena Jovanović, Fakultet Organizacionih Nauka, http://jelenajovanovic.net/ Coursera: https://www.coursera.org/course/ml Discovering Knowledge in Data: An Introduction to Data Mining (Wiley, 2005) Larose D.