uvod u strojno ucenje

12
13.12.2011 1 Uvod u strojno učenje Krunoslav Puljić Uvod • Stojno učenje: – eng. Machine Learning (ML) • Povijesno: – razvoj ML započeo prije 50-tak godina • Problem: – Kako indukcijom/generalizacijom izvesti novo znanje iz primjera/podataka? Motivacija 1. Automatizirano prikupljanje znanja direktno iz podataka 2. Otkrivanje znanja u skupovima podataka Ima li u njima znanja? Rastuće količine informacija eng. data mining, text mining 3. Klasične metode nisu dovoljne jer su neki problemi preteški Napredak u izgradnji algoritama i teorije Automatizirano prikupljanje znanja • Razvoj umjetne inteligencije: – Tradicionalna shema: • Program = algoritam + podaci – Nova shema: • ekspertno područno znanje je temeljni oslonac u rješavanju problema • Program = algoritam + podaci + znanje Automatizirano prikupljanje znanja • Prikupljanje znanja – Izuzetno složen problem • Primjer: kako zapisati znanje o igranju šaha? – Što znači “slaba struktura pješaka”? – Što znači “dobro zaštićen kralj”? – Kako znanje velemajstora oblikovati u ako-onda pravila • Ideja: stvoriti sustav koji će automatski stjecati znanje (visoko apstraktne koncepte ili strategije rješavanja problema) kroz iskustvo, tj. primjere, ... ... kao što to čini čovjek Otkrivanje znanja u velikim skupovima podataka • Medicinska dijagnostika – ≈10.000 zapisa s opisom tijeka trudnoće i poroda • ≈200-tinjak značajki po zapisu

Upload: lumenstrumpf

Post on 23-Oct-2015

101 views

Category:

Documents


3 download

DESCRIPTION

Strojno učenje najbolje

TRANSCRIPT

Page 1: Uvod u Strojno Ucenje

13.12.2011

1

Uvod u strojno učenje

Krunoslav Puljić

Uvod

• Stojno učenje:

– eng. Machine Learning (ML)

• Povijesno:

– razvoj ML započeo prije 50-tak godina

• Problem:

– Kako indukcijom/generalizacijom izvesti novo znanje iz primjera/podataka?

Motivacija

1. Automatizirano prikupljanje znanja– direktno iz podataka

2. Otkrivanje znanja u skupovima podataka– Ima li u njima znanja?

– Rastuće količine informacija• eng. data mining, text mining

3. Klasične metode nisu dovoljne jer su neki problemi preteški

– Napredak u izgradnji algoritama i teorije

Automatizirano prikupljanje znanja

• Razvoj umjetne inteligencije:

– Tradicionalna shema:

• Program = algoritam + podaci

– Nova shema:

• ekspertno područno znanje je temeljni oslonac u rješavanju problema

• Program = algoritam + podaci + znanje

Automatizirano prikupljanje znanja

• Prikupljanje znanja– Izuzetno složen problem

• Primjer: kako zapisati znanje o igranju šaha?– Što znači “slaba struktura pješaka”?

– Što znači “dobro zaštićen kralj”?

– Kako znanje velemajstora oblikovati u ako-onda pravila

• Ideja: stvoriti sustav koji će automatski stjecati znanje(visoko apstraktne koncepte ili strategije rješavanja problema) kroz iskustvo, tj. primjere, ...

... kao što to čini čovjek

Otkrivanje znanja u velikim skupovima podataka

• Medicinska dijagnostika

– ≈10.000 zapisa s opisom tijeka trudnoće i poroda

• ≈200-tinjak značajki po zapisu

Page 2: Uvod u Strojno Ucenje

13.12.2011

2

Medicinska dijagnostika

• Učenjem predvidjeti klasu pacijenata s visokim rizikom za hitan carski rez

• Jedno od 18 naučenih pravila:

if No prevoius vaginal delivery

Abnormal 2nd trimester ultrasound

Malpresentation at addmission

then Probability of Emergency

C-Section is 0.6

Analiza rizika kod dodjele kredita

“Previše složeni” problemi

• Problemi previše složeni da bi se riješili na uobičajeni način

• Računalom upravljano vozilo

– Učenje strategija vožnje za autonomno upravljanje automobilom brzinom 70 km/h na duljini od 120 km

Računalom upravljano vozilo

Klasificiranje novih astronomskih struktura

• Učenje se primjenjuje na različite baze podataka da bi se otkrile pravilnosti implicitno sadržane u podacima

• Učenje klasificiranja novih astronomskih struktura

– NASA – stabla odluke korištena za klasifikaciju nebeskih objekata

– dobivena Palomar Observatory Sky Survey (Fayyad, et al. 1995).

– Sustav automatski klasificira sve objekte dobivene pregledom neba - 3 TB podataka

Klasificiranje novih astronomskih struktura

Page 3: Uvod u Strojno Ucenje

13.12.2011

3

Backgammon

• Učenje se primjenjuje svuda gdje je potrebno efikasno pretraživati veliki prostor stanja

• Učenje igranja backgammona na razini svjetskog prvaka

• Najuspješnije implementacije igara na računalu temelje se na učenju

• Najbolji svjetski program TD-GAMMON (Tesauro, 1992, 1995) naučio je strategiju igranja (na svjetskoj razini) na temelju više od 106 odigranih partija protiv samog sebe

Backgammon

Raspoznavanje rukom pisanog teksta Raspoznavanje rukom pisanih znakova

• Primjer: klasifikator znamenaka

– Znak “3” kako je TISKAN U KNJIZI i njegova DIGITALIZIRANA SLIKA u razlučivosti 8x8 slikovnih elemenata

Klasifikator znamenaka

• Sustav treba odlučivati kojoj od unaprijed definiranih klasa pripada predočeni, ulazni uzorak

– Posao koji bi takav sustav obavljao naziva se klasifikacija uzoraka

Klasifikator znamenaka

• Zamislimo sada da želimo načiniti sustav koji će raspoznavati rukom pisane znakove

• Problem: postoji nebrojeno varijacija između uzoraka za jedan te isti znak

Page 4: Uvod u Strojno Ucenje

13.12.2011

4

Klasifikator znamenaka

• Modeliranje sustava

– pohrana mogućih uzoraka u memoriji• 64 ulaza za jedan uzorak

• pohranjivanje 264 = 1.8×1019 različitih uzoraka u memoriji

• uspoređivanje ulaznog uzorka s onim u memoriji

• kada bi uspoređivanje uzorka na ulazu s jednim uzorkom u memoriji trajalo jednu 0.1 milisekunde, za uspoređivanje jednog uzorka sa svima u memoriji bilo potrebno prosječno oko 1.8×1015 sec = 5.7×1011 godina

– Rješenje konceptualno jednostavno, nije prikladno za primjenu jer nije učinkovito

– RJEŠENJE: UČENJE SUSTAVA ONAKO KAKO TO RADI ČOVJEK!

Klasifikator znamenaka• “Jednostavniji” pristup

– Stanjimo sliku na debljinu jednog piksela

– Za svaki piksel brojimo koliko se piksela nalazi u 8-okolini

– Promatramo broj i poziciju krajnjih točaka

• Točke u čijoj je okolini samo jedan piksel (I)

– Promatramo broj i poziciju točaka oštrog ruba

• Točke u čijoj su okolini tri piksela (2,5,7)

– Promatramo broj i poziciju točaka presjeka

• Točke u čijoj su okolini četiri piksela (4,8)

Klasifikator znamenaka

• 1 – dvije krajnje točke jedna iznad druge

• 4 – četiri krajnje točke, jedna točka presjeka i dvije oštre točke

• 0 – bez krajnjih točaka i bez točki presjeka

• 8 – bez krajnjih točaka i s jednom točkom presjeka

• 9 – jedna krajnja točka u doljnoj polovici slike, i jedna točka presjeka

• itd.

Zaključak

• Izuzetno široka primjena metoda strojnog učenja (umjetne inteligencije) na rješavanje složenih problema iz svih područja ljudske djelatnosti

Strojno učenje

• Strojno učenje bavi se izgradnjom računarskih sustava koji automatski poboljšavaju svoje performanse kroz iskustvo

• Tom M. Mitchell definicija strojnog učenja:

– “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”

Strojno učenje

• Formalno:

– Računalni program uči ako se performanse izvršavanja zadatka T, mjerene pomoću mjere uspješnosti P, poboljšavaju s iskustvom E

• Nema univerzalnog algoritma za učenje

– ipak, izumljeni su učinkoviti algoritmi koji (uspješno) rješavaju određen tip problema

Page 5: Uvod u Strojno Ucenje

13.12.2011

5

Primjeri

• T: igranje šaha/backgammona/...– P: postotak dobivenih igara

– E: igranje protiv samoga sebe

• T: raspoznavanje rukom pisanih slova � – P: postotak točno prepoznatih slova

– E: baza rukom pisanih slova

• T: detekcija tumorskih regija na CT-u– P: postotak točno prepoznatih regija

– E: baza označenih CT slika

Primjene strojnog učenja

• Otkrivanje znanja u (velikim) skupovima podataka

• Programske implementacije koje nije moguće riješiti klasičnim programiranjem

• Prilagodljivi programski sustavi

• Bioinformatika

• Obrada prirodnog jezika

• Raspoznavanje govora

• Raspoznavanje uzoraka

• Inteligentno upravljanje

• Predviđanje trendova

• itd.

Vrste strojnog učenja

• Nadzirano učenje (supervised)

• Nenadzirano učenje (unsupervised)

• Podržano učenje (reinforcement learning)

• Ostala učenja– Polu-nadzirano učenje

– Transduktivno učenje

– Relacijsko učenje

– Genetsko programiranje

– ...

Strojno učenje

• Podaci su u obliku (x, y)

– x ulazna vrijednost, y ciljna vrijednost

• Učimo funkciju f(x)=y koja primjeru x pridružuje klasu ili realnu vrijednost y

Nenadzirano učenje

• eng. Unsupervised learning

• Kao tek rođeno dijete

• Nema učitelja – nema nekoga da nam pokaže pravo/točno znanje

• Bitna je samoorganizacija

• Potrebno je:– pronaći pravilnosti u podacima,

– otkriti ih automatski,

– pronaći neku reprezentaciju,

– odrediti što podaci znače

Algoritmi nenadziranog učenja

• Klasteriranje (eng. Clustering)

• Učenje asocijacijskih pravila

• Redukcija dimenzionalnosti podataka

Page 6: Uvod u Strojno Ucenje

13.12.2011

6

K-sredina

• eng. K-means

• metoda klasteriranja koja pokušava rasporediti n mjerenja u k klastera, tako da svako mjerenje smjesti u klaster s najbližom srednjom vrijednošću– Minimizira se suma kvadrata unutar klastera

• Problem je NP-težak– Ipak, postoje efikasni heuristički algoritmi

K-sredina

Učenje asocijacijskih pravila

• eng. Association rule learning

• Potraga za vezom između varijabli

• Primjer: supermarket može odrediti koji se proizvodi često kupuju zajedno te iskoristi tu informaciju u marketniške svrhe

– analiza kupovne košarice

Učenje asocijacijskih pravila

• Skup transakcija iz Konzuma

• Učenje pravila:

– {pelene -> pivo}

– {meso, riba ->kruh}

Analiza glavnih komponenti

• eng. Principal Component Analysis

• Metoda za redukciju dimenzionalnosti

Analiza glavnih komponenti

• Matematička procedura koja koristi ortogonalne transformacije da pretvori skup mjerenja moguće koreliranih varijabli u skup vrijednosti nekoreliranih varijabli

– Nekorelirane varijable se nazivaju glavnim komponentama

– Broj glavnih komponenti je manji ili jednak broju originalnih varijabli

Page 7: Uvod u Strojno Ucenje

13.12.2011

7

Primjena učenja bez nadzora

• Analiza ponašanja kupaca

• Segmentiranje tržišta

• Grupiranje teksta po sličnosti

• Grupiranje fotografija po sadržaju

• Vizualizacija podataka

• Početna analiza podataka (otkrivanje neznane strukture)

• ...

Učenje s nadzorom

• Kao dijete koje je ovladalo komunikacijom

• eng. Supervised learning

• Sada dobivamo eksplicitnu informaciju za svaki primjer koji učimo

• Cilj nam je naučiti raditi predikciju na novim, još neviđenim primjerima

Vrste učenja s nadzorom

• Regresija– učenje funkcija

– Eksplicitna informacija o objektu je numerička• Npr. cijena zlata, temperatura, tlak, broj cipela, broj otkucaja srca, ...

– Cilj je aproksimacija funkcije

• Klasifikacija– učenje klasificiranja (raspoznavanje uzoraka)

– jedna ili više klasa

– Eksplicitna informacija o objektu je kategorijska• Npr. Dobar/Loš, Tumor/nije tumor, Crven/Zelen/Žut/Plav, ...

– Cilj je izgraditi funkciju koja će za svaki objekt reći kojoj klasi tj. kategoriji pripada

Algoritmi učenja s nadzorom

• Štreber

• K najbližih susjeda

• Naivni Bayesov klasifikator

• Učenje pravila

• Stabla odluke

Štreber

• eng. Rote learner

• Pohrani u memoriju sve što trebaš naučiti

• Kad te netko pita za klasu novog objekta, pogledaj u memoriju– Ako objekt stoji u memoriji, vrati njegovu klasu

– Ako ne, reci da ne znaš

• Ne možemo reći da je štrebanje učenje

• Međutim nekad prijeko potrebno ☺

K najbližih susjeda

• eng. K –nearest neighbours, k-NN

• Sličan štreberu s bitnom razlikom:

– Odgovor je ona klasa objekta koja je najzastupljenija među k najbližih susjeda u prostoru objekata

Page 8: Uvod u Strojno Ucenje

13.12.2011

8

Naivni Bayesov klasifikator

• eng. Naive Bayes

• Probabilistički model

• Bayesov teorem

• Jednostavno izračunaj apriorne vjerojatnosti klasa i uvjetne vjerojatnosti klasa i svojstava

• Nakon toga odaberi klasu s najvećom aposteriornom vjerojatnošću

Učenje pravila

• eng. Rule learning

• AKO leti TADA ptica

• AKO sunčano I toplo I slab vjetar TADA igraj_tenis

Stabla odluke

• eng. Decision trees

Primjena učenja s nadzorom

• Predviđanje kretanja cijena dionica

• Klasifikacija teksta

• Detekcija tumorskih regija

• Detekcija bolesti prema analizi DNA

• Prepoznavanje lica

• Prepoznavanje govornika

• Klasifikacija prebjega u drugi telekom

• Podrška u odlučivanju pri izdavanju kredita

• ...

Podržano učenje

• eng. Reinforcement learning• učenje podrškom• Kao dijete koje uči voziti bicikl• Učenje u kojem nam učitelj daje ocjenu koliko smo

dobro nešto obavili– pali smo s bicikla ili nismo

• Prolazimo seriju stanja i akcija i tek na kraju dobivamo (ili ne dobivamo) nagradu

• Istražiti stanja i akcije koje vode do cilja• Cilj nam je maksimizirati ukupnu sumu “nagrada” na

kraju

Algoritmi podržanog učenja

• Q-learning

– Svodi se na metodu pokušaja i pogrešaka

– Pretraživanje radi dostizanja nagrade

– Tražimo optimalnu akciju u trenutnom stanju

– To je akcija koja maksimizira sumu trenutne i odgođene nagrade u slučaju da slijedimo optimalnu strategiju

• Temporal difference learning

– Kombinacija Monte Carlo ideje i dinamičkog programiranja

Page 9: Uvod u Strojno Ucenje

13.12.2011

9

Primjena podržanog učenja

• Igranje igara

• Robotsko kretanje

• Autonomna navigacija

• Učenje kontrolnih strategija

• ...

Induktivno učenje

• ...ili učenje iz primjera

• h je hipoteza (model) koja reprezentira/aproksimira ciljni koncept c

– u idealnom slučaju je h(x)=c(x)

• ono što u najboljem slučaju možemo garantirati učenjem nekim algoritmom strojnog učenja jest da naučeni h dobro aproksimira ciljni koncept c nad skupom primjera za učenje T

• Osnovna hipoteza induktivnog učenja:– Bilo koja hipoteza koja dobro aproksimira ciljni koncept na dovoljno

velikom skupu primjera dostupnih za učenje, isto će tako dobro aproksimirati ciljni koncept i na novim, još nedostupnim primjerima.

Pristranost

• eng. Bias, inductive bias• Bias

– mjeri kako dobro naši modeli (struktura hipoteza) mogu učiti odnose između varijabli i ciljnog koncepta

• Varijanca– otkriva kakve su fluktuacije u kvaliteti aproksimiranja ciljnog

koncepta/modela kojeg treniramo na različitim (pod)skupovima za učenje

• Mali bias - dobra aproksimacija na podacima za učenje– ali zato i visoka varijanca predikcija na novim podacima

= slaba generalizacija

• Visoki bias – relativno slaba aproksimacija na podacima za učenje

– ali mala varijanca u predikciji na novim podacima = dobra generalizacija

Pretreniravanje

• eng. overfitting

• Tijekom učenja naš model/hipoteza se “pretjerano prilagođava” podacima za učenje (mali bias), te zbog toga predstavlja loš prediktor za neke od novih primjera:– Obično je to uvjetovano izborom svojstava/varijabli kojima

su opisani primjeri i njihova ponašanja na nekim primjerima

• Grubi pokazatelji overfitting-a : modeli kod kojih je – #svojstava >> # primjera za učenje, ili

– #svojstava → # primjera za učenje

Pretreniravanje

• Uspješnost modela na skupu za učenje u principu reducira dobra generalizacijska svojstva na novim primjerima

• Napomena: ovo su grube ocjene i vrijede u principu za relativno jednostavne pohlepne algoritme

Pretreniravanje

Page 10: Uvod u Strojno Ucenje

13.12.2011

10

Linearni model Pretrenirani model

“Najbolji” model? Poželjni modeli

• u svakom slučaju trebao bi imati minimalan broj grešaka min e (h, T)

– u idealnom slučaju h ( xi ) = yi

• ne bi smio biti previše kompleksan– za neku mjeru C(h) kompleksnosti modela

• trebaju nam procedure za pretraživanje prostora mogućih modela (h ∈ H) koje vode računa i o greškama e(h) i o kompleksnosti C(h):– min ( e(h,T) + αC(h) )

– Structural Risk Minimization (V. Vapnik)

Validacija modela

• Procjena stvarne greške modela

• Tehnike probira (eng. Sampling - Resampling):

– Train & Test metoda

– Unakrsna validacija (eng. Cross-Validation)

– LOOCV

Tehnike probira

Page 11: Uvod u Strojno Ucenje

13.12.2011

11

Train & test metoda Train & test metoda

• Slučajno odaberemo 1/3 od dostupnih primjera za učenje i stavimo ih u novi – skup za testiranje (eng. Test set)

• Ostatak od 2/3 primjera iskoristimo za učenje modela – skup za učenje (eng. Training set)

• Naučimo model na skupu za učenje

• Procijenimo stvarnu grešku modela “testirajući” novi model na skupu za testiranje

Train & test metoda

• Svojstva:

– dobro:

• Jednostavna metoda - odabiremo onaj model koji daje najmanju grešku na testnom skupu

– loše:

• Gubimo vrijedne podatke – 1/3 podataka se uopće ne koristi za izradu modela

• Ako imamo relativno malo podataka za učenje ocjena greške na testnom skupu će biti vrlo nepouzdana(>> varijanca greške)

K-struka unakrsna validacija

• eng. k-fold cross validation

• Slučajno rasporediti primjere za učenje u k odvojenih skupova Ti, i=1,...,k – tipično po 30+ primjera

• Za i=1 do k– Koristi Ti kao testni skup, a ostale podatke Tm, m≠i

iskoristi za učenje modela hi

– Na testnom skupu Ti izračunaj grešku Li modela hi

– Izračunaj prosječnu grešku za svih k modela• L = ∑ Li / k

– i=1,...,k

K-struka unakrsna validacija Pojedinačna unakrsna validacija

• Leave-one-out cross validation (LOOCV)

• Na skupu primjera za učenje (xi,yi) ∈D, i=1,N

• Za i=1 do N– Privremeno izdvoji primjer (xi,yi) iz skupa primjera za

učenje

– Nauči model hm na preostalih N-1 primjerima

– Izračunaj grešku modela hm na primjeru (xi,yi)

• Izračunaj prosječnu grešku za svih N modela– L = ∑ Li / N

• i=1,...,N

Page 12: Uvod u Strojno Ucenje

13.12.2011

12

Svojstva evaluacijskih metoda

Metoda Dobro Loše

Train & Test •Jeftina – učimo samo jednom

•Gubimo puno primjera za učenje

•Nepouzdana procjena stvarne greške

K-fold CV •Gubimo samo N/k za učenje jednog modela

•Stabilnija procjena greške

•K puta “skuplja”od T&T

•Učimo k modela

LOO CV •Praktički učimo na svim primjerima -1

•Dobra za mali broj primjera

•Vrlo skupa za veliki N

•Učimo N modela

Modeli strojnog učenja

• Generativni i diskriminativni

– Generativni –učenje generativnog modela za svaku pojedinu klasu

– Diskriminativni – učenje linije koja razdvaja klase

Modeli strojnog učenja Modeli strojnog učenja

• Parametarski i neparametarski

• Probabilistički i neprobabilistički

Reference

• Tomislav Šmuc, IRB

– http://web.math.hr/nastava/su/

• Jan Šnajder, Bojana Dalbelo-Bašić, FER

– http://www.zemris.fer.hr/predmeti/su/