Professional Documents
Culture Documents
Masinsko Ucenje
Masinsko Ucenje
Mladen Nikolić
Matematički fakultet
Univerzitet u Beogradu
1 / 303
O predavanju
2 / 303
O predavanju
2 / 303
O predavanju
2 / 303
O predavanju
2 / 303
Zahvalnost
3 / 303
Pregled
Finalni saveti
4 / 303
Pregled
Finalni saveti
5 / 303
Mini anketa
6 / 303
Mini anketa
6 / 303
Mini anketa
6 / 303
Šta je mašinsko učenje?
7 / 303
Mesto u veštačkoj inteligenciji
8 / 303
Zašto je zanimljivo?
9 / 303
Kako se razlikuje od istraživanja podataka?
10 / 303
Kako se razlikuje od statistike?
I Ciljevi su vrlo bliski i ukoliko se oblast definiše prema cilju, mnogi se slažu da
značajne razlike nema
I Razlikuju se poreklo, terminologija, ali i fokusi, što na strani mašinskog učenja
uključuje:
I Često odustajanje od interpretabilnosti zarad boljeg kvaliteta predvidanja, što vodi
većem bogatstvu i složenosti modela nego u klasičnoj statistici
I Jači akcenat na optimizaciji i algoritmici, uslovljen većom složenošću modela
I Neretko zanemarivanje analize svojstava za koja statističari mare, poput npr.
nepristrasnosti, mimimalnosti varijanse i drugih i fokusiranje na kvalitet predvidanja
I Teoriju generalizacije1
I Zbrka bi bila izbegnuta ako bismo prestali da se trudimo da povučemo granice
izmedu oblasti
1
Ova tema se podjednako uklapa i u statistiku (i zove se statistička teorija učenja), ali se
tradicionalno smatra podoblašću mašinskog učenja
11 / 303
Kratka istorija (1)
12 / 303
Kratka istorija (2)
I 1969 – Marvin Minski i Sejmur Papert kritikuju perceptron, što usporava razvoj
neuronskih mreža
I 1975 – Verbos formuliše algoritam propagacije unazad (eng. backpropagation) za
izračunavanje gradijenta neuronske mreže
I 1981 – Dedžong uvodi učenje zasnovano na objašnjavanju kojim se omogućuje
izvodenje pravila iz podataka
I 1985 – Sejnovski i Rozenberg prave sistem koji uči da izgovara engleske reči
I 1992 – Bozer, Gijon i Vapnik predlažu upotrebu kernela sa metodom potpornih
vektora što čini da ovaj metod dominira oblašću tokom devedesetih
13 / 303
Kratka istorija (3)
I 1992 – Tezauro pravi TD-Gammon, sistem koji igra igru tavla (eng. backgammon)
I 2006 – Hinton uvodi izraz duboko učenje (eng. deep learning) za algoritme za
trening višeslojnih neuronskih mreža koje nadalje dominiraju oblašću
I 2011 – IBM-ov sistem Watson pobeduje ranije prvake u kvizu Jeopardy!
I 2012 – Google X razvija sistem koji je u stanju da sam pregleda video zapise na
YouTube-u i prepoznaje mačke!!
I 2016 – Guglov sistem Alfa Go pobeduje svetskog prvaka u igri go rezultatom 4:1
14 / 303
Koliko je popularno?
15 / 303
Koji univerziteti imaju ovakav kurs?
16 / 303
Koje svetske firme primenjuju mašinsko učenje?
I Google I Hittachi
I Google Deep Mind I NEC
I Yahoo I Ericsson
I Microsoft I Siemens
I IBM I SAP
I Facebook I Locheed Martin
I Twitter I Huawei
I Apple I DELL
I Samsung I Bell Labs
I HP I CISCO
I Oracle I Nokia
I Fujitsu I ...
17 / 303
Koliki je obim istraživanja?
18 / 303
Gde se primenjuje?
I Bioinformatika
I Obrada prirodnog jezika
I Interfejsi mozga sa mašinama
I Onlajn reklamiranje
I Hemijska informatika
I Sistemi za preporučivanje
I Računarsko opažanje
I Upravljanje robotima
I Detekcija prevara sa kreditnim
I Prepoznavanje govora
karticama
I Prepoznavanje rukom pisanog teksta
I Računarske igre
I Praćenje zdravstvenog stanja
I Pretraživanje informacija
I Ekonomija
I Marketing
I Analiza društvenih mreža
I Medicinska dijagnostika
19 / 303
Šta je ključ uspeha?
20 / 303
Analiza slika i videa
I Prepoznavanje lica
I Prepoznavanje objekata na slikama i u videu
I Rekonstrukcija trodimenzionalne informacije iz videa
21 / 303
Autonomna vožnja
22 / 303
Igranje igara
23 / 303
Obrada prirodnog jezika i govora
24 / 303
Primene u medicini
25 / 303
Analiza društvenih mreža
26 / 303
Prepoznavanje računarskih članaka
27 / 303
Prepoznavanje računarskih članaka
27 / 303
Prepoznavanje računarskih članaka
0 0
29 / 303
Pregled
Finalni saveti
30 / 303
Ishodi i dogadaji
31 / 303
Verovatnoća dogadaja
32 / 303
Uslovna verovatnoća
P(A ∩ B)
P(A|B) =
P(B)
I Ako znamo da je broj koji je kockica dala neparan, koja je verovantoća da je to
baš 3?
1
P({3}) 1
P({3}|{1, 3, 5}) = = 61 =
P({1, 3, 5}) 2
3
33 / 303
Nezavisnost dogadaja
P(A|B) = P(A)
odnosno
P(A ∩ B) = P(A)P(B)
34 / 303
Nezavisnost dogadaja
I Posmatrajmo dogadaje x > 0.5, y > 0.5 i x > 0.5 ∧ y > 0.5
I Koji slučaj odražava zavisne, a koji nezavisne dogadaje?
35 / 303
Nezavisnost dogadaja
I Posmatrajmo dogadaje x > 0.5, y > 0.5 i x > 0.5 ∧ y > 0.5
I Koji slučaj odražava zavisne, a koji nezavisne dogadaje?
I U prvom se vidi nezavisnost, a verovatnoće su 0.5, 0.5 i 0.25
I U drugom se vidi zavisnost, a verovatnoće su 0.5, 0.5 i 0.5
35 / 303
Slučajna promenljiva
36 / 303
Diskretna raspodela verovatnoće
I Pridružuje verovatnoću svakom od prebrojivo mnogo vrednosti slučajne
promenljive
Slika: http://www2.cedarcrest.edu/academic/bio/hale/biostat/session10links/probgraph.html
37 / 303
Histogram i neprekidna raspodela verovatnoće (1)
38 / 303
Histogram i neprekidna raspodela verovatnoće (2)
39 / 303
Histogram i neprekidna raspodela verovatnoće (3)
40 / 303
Histogram i neprekidna raspodela verovatnoće (4)
41 / 303
Gustina raspodele
42 / 303
Gustina raspodele
Z b
P([a, b]) = p(x)dx
a
Slika: http://www.disfrutalasmatematicas.com/datos/distribucion-normal-estandar.html
43 / 303
Matematičko očekivanje
44 / 303
Matematičko očekivanje
X ni 1 2 6 8 19 16 20 14 11 0 2 1
E[X ] ≈ xi = −2.5 −2 − 1.5 −1 − 0.5 +0 + 0.5 +1 + 1.5 +2 + 2.5 +3
i
N 100 100 100 100 100 100 100 100 100 100 100 100
45 / 303
Matematičko očekivanje
I Važi
E[αX + βY ] = αE[X ] + βE[Y ]
46 / 303
Uniformna raspodela
1 a+b 1
X ∼ U(a, b) p(x) = E[X ] = Var (X ) = (b − a)2
b−a 2 12
Slika: http://pro.arcgis.com/en/pro-app/tool-reference/data-management/distributions-for-
assigning-random-values.htm 47 / 303
Normalna raspodela
1 (x−µ)2
X ∼ N (µ, σ) p(x) = √ e − 2σ2 E[X ] = µ Var (X ) = σ 2
2σ 2 π
49 / 303
Statistika
50 / 303
Poželjna svojstva statistika
E[θ̂] = θ
51 / 303
Ilustracija sistematske ocene i varijanse statistike
Finalni saveti
53 / 303
Šta je nadgledano učenje?
54 / 303
Standardni problemi nadgledanog učenja
55 / 303
Osnovna teorijska postavka nadgledanog učenja
56 / 303
Ali u praksi...
57 / 303
Minimizacija empirijskog rizika
I Empirijski rizik:
N
1 X
E (w , D) = L(yi , fw (xi ))
N
i=1
I Kada nije naveden, argument D se podrazumeva
I Princip minimizacije empirijskog rizika (ERM):
I funkciju koja minimizuje E (w , D) uzeti za aproksimaciju funkcije koja minimizuje
R(w )
I Umesto empirijski rizik, govorićemo prosečna greška ili samo greška
58 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
59 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Valjda bi trebalo, pošto proseci konvergiraju očekivanjima
59 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Valjda bi trebalo, pošto proseci konvergiraju očekivanjima
I Ali ne aproksimiramo parametar raspodele na osnovu uzorka!
59 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Valjda bi trebalo, pošto proseci konvergiraju očekivanjima
I Ali ne aproksimiramo parametar raspodele na osnovu uzorka!
I Vršimo aproksimaciju funkcionala, a funkcije se dobijaju minimizacijom po
beskonacnoj familiji funkcija!
59 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
60 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Odgovor bi trebalo da zavisi od svojstava skupa modela {fw (x)}
60 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Odgovor bi trebalo da zavisi od svojstava skupa modela {fw (x)}
I Koja je greška aproksimacije?
60 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Odgovor bi trebalo da zavisi od svojstava skupa modela {fw (x)}
I Koja je greška aproksimacije?
I Nešto kasnije...
60 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Odgovor bi trebalo da zavisi od svojstava skupa modela {fw (x)}
I Koja je greška aproksimacije?
I Nešto kasnije...
I Da li je konvergencija aproksimacije uniformna i nezavisna od aproksimirane
funkcije?
60 / 303
Pitanja vezana za ERM
I Da li bi trebalo da radi?
I Odgovor bi trebalo da zavisi od svojstava skupa modela {fw (x)}
I Koja je greška aproksimacije?
I Nešto kasnije...
I Da li je konvergencija aproksimacije uniformna i nezavisna od aproksimirane
funkcije?
I Može biti, ali preskačemo...
60 / 303
ERM za klasifikaciju
61 / 303
ERM za klasifikaciju
61 / 303
ERM za klasifikaciju
61 / 303
Regresija
4
2
0
−2
−4
0 2 4 6 8 10
R
I Regresiona funkcija: r (x) = E(y |x) = y p(y |x)dy
I Ako važi r (x) = fw (x) za neko w ∗, tada se minimum rizika dostiže baš za w ∗ :
2
U odnosu na `2 normu
63 / 303
ERM za regresiju
I Funkcija greške:
L(u, v ) = (u − v )2
I Optimizacioni problem:
N
1 X
min (yi − fw (xi ))2
w N
i=1
64 / 303
Koliko dobro se model može prilagoditi podacima?
65 / 303
Jednostavna linearna regresija
20
●
●
●
●
●
15
●
● ●
10
●
● ●
●
●
●
5
●
●
0
5 10 15 20
20
●
●
●
●
●
15
●
● ●
10
●
● ●
●
●
●
5
●
●
0
5 10 15 20
68 / 303
Kako učiniti modele manje prilagodljivim?
69 / 303
Kako učiniti modele manje prilagodljivim?
69 / 303
Kako učiniti modele manje prilagodljivim?
69 / 303
Regularizacija (1)
70 / 303
Regularizacija (1)
70 / 303
Regularizacija (2)
Pn
I U slučaju linearnih modela fw (x) = i=1 wi xi važi
w = ∇x fw (x)
71 / 303
Regularizacija (2)
Pn
I U slučaju linearnih modela fw (x) = i=1 wi xi važi
w = ∇x fw (x)
71 / 303
Primer regularizacije – klasifikacioni model
fw (x) = w0 + w1 x1 + w2 x2
72 / 303
Primer regularizacije – podaci
E[(fw (x) − r (x))2 ] = E[(fw (x) − E[fw (x)] + E[fw (x)] − r (x))2 ]
= (E[fw (x)] − r (x))2 + E[(fw (x) − E[fw (x)])2 ]
| {z } | {z }
sistematsko odstupanje2 varijansa
83 / 303
Sistematsko odstupanje i varijansa
84 / 303
Sistematsko odstupanje i varijansa
85 / 303
Sistematsko odstupanje i varijansa
86 / 303
Sistematsko odstupanje i varijansa
87 / 303
Sistematsko odstupanje i varijansa
88 / 303
Nagodba izmedu sistematskog odstupanja i varijanse i uslovljenost
89 / 303
Nagodba izmedu sistematskog odstupanja i varijanse i regularizacija
90 / 303
Nagodba izmedu sistematskog odstupanja i varijanse
92 / 303
Prilagodljivost modela
92 / 303
Prilagodljivost modela
92 / 303
Prilagodljivost modela
92 / 303
Prave razlikuju različita obeležavanja tačaka
I F = {f | f : Rn → {0, 1}}
I X ⊆ Rn označava skup tačaka
I F|X je skup restrikcija funkcija iz skupa F na domen X
I F razbija X ukoliko važi |F|X | = 2|X |
I Vapnik Červonenkisova (VC) dimenzija skupa F je najveći broj N takav da postoji
skup X kardinalnosti N koji F razbija
I Ako takav broj ne postoji, onda kažemo da je VC dimenzija beskonačna
94 / 303
VC dimenzija – primer
I Kolika je VC dimenzija skupa svih linearnih modela sa n parametara
95 / 303
VC dimenzija – primer
I Kolika je VC dimenzija skupa svih linearnih modela sa n parametara
I Mogu se posmatrati kao hiperravni u n − 1 dimenzionalnom prostoru
95 / 303
VC dimenzija – primer
I Kolika je VC dimenzija skupa svih linearnih modela sa n parametara
I Mogu se posmatrati kao hiperravni u n − 1 dimenzionalnom prostoru
I Stoga je VC dimenzija n
95 / 303
VC dimenzija – primer
I Kolika je VC dimenzija skupa svih linearnih modela sa n parametara
I Mogu se posmatrati kao hiperravni u n − 1 dimenzionalnom prostoru
I Stoga je VC dimenzija n
I Da li ovo važi za bilo koju vrstu modela?
95 / 303
VC dimenzija – primer
I Kolika je VC dimenzija skupa svih linearnih modela sa n parametara
I Mogu se posmatrati kao hiperravni u n − 1 dimenzionalnom prostoru
I Stoga je VC dimenzija n
I Da li ovo važi za bilo koju vrstu modela?
I Kolika je VC dimenzija skupa {I (sin(wx) > 0)}?
95 / 303
VC dimenzija – primer
I Kolika je VC dimenzija skupa svih linearnih modela sa n parametara
I Mogu se posmatrati kao hiperravni u n − 1 dimenzionalnom prostoru
I Stoga je VC dimenzija n
I Da li ovo važi za bilo koju vrstu modela?
I Kolika je VC dimenzija skupa {I (sin(wx) > 0)}?
I Beskonačna je!
I Za bilo koji broj N, mogu se izabrati tačke xi = 10−i , i = 1, 2, . . . , N
I Za bilo koje oznake y1 , y2 , . . . , yN ∈ {−1, 1}, dovoljno je izabrati
N
!
X (1 − yi )10i
w =π 1+
2
i=1
95 / 303
Granica rizika
96 / 303
Granica rizika
98 / 303
Značaj VC dimenzije
98 / 303
Treniranje i testiranje
I Kako se rizik ne može lako teorijski oceniti, obično se kvalitet naučenog modela
proverava na podacima koji nisu učestvovali u izboru modela
I Proces izbora modela se naziva treningom, a skup podataka na osnovu kojih se taj
izbor vrši, trening skupom
I Skup podataka na kojima se model evaluira se naziva test skupom
I Najjednostavniji pristup je odvojiti oko 70% svih podataka za treniranje, a 30% za
testiranje
I Postoje i komplikovaniji (i pouzdaniji) pristupi evaluaciji modela
99 / 303
Pregled
Finalni saveti
100 / 303
k najbližih suseda
101 / 303
Stabilnost
I Metrika:
n
X
d(u, v ) = I (ui 6= vi )
i=1
I Koja je klasa instance (Da, Ne, Blaga, Ne) ako se uzima u obzir 1 najbliži sused?
105 / 303
Primer
I Metrika:
n
X
d(u, v ) = I (ui 6= vi )
i=1
I Koja je klasa instance (Da, Ne, Blaga, Ne) ako se uzima u obzir 1 najbliži sused?
I Klasa je ,,Ne“, pošto je najbliži prvi primer iz tabele
105 / 303
VC dimenzija
106 / 303
VC dimenzija
106 / 303
Kakav je kvalitet predvidanja?
107 / 303
Kakav je kvalitet predvidanja?
107 / 303
Neintuitivnost visokodimenzionalnih prostora
108 / 303
Potrebna veličina trening skupa
109 / 303
Primena – algoritamski portfolio (1)
110 / 303
Primena – algoritamski portfolio (2)
111 / 303
Prednosti i mane
I Prednosti:
I Jednostavnost
I Lokalnost – nije potrebno graditi model za ceo skup podataka u kojem možda ne
važi isti trend
I Proizvoljni oblici granica izmedu klasa
I Mane:
I Standardizacija je neophodna
I Neotporan na ponovljene atribute
I Prokletstvo dimenzionalnosti
I Nedostatak interpretabilnosti
112 / 303
Naivni Bajesov klasifikator (1)
p(x|y )p(y )
p(y |x) =
p(x)
I Za dato x, od svih ishoda y bira se onaj sa maksimalnom verovatnoćom p(y |x)
I Problem?
113 / 303
Naivni Bajesov klasifikator (1)
p(x|y )p(y )
p(y |x) =
p(x)
I Za dato x, od svih ishoda y bira se onaj sa maksimalnom verovatnoćom p(y |x)
I Problem?
I Za ocenu verovatnoća p(x|y ) i p(x), potrebno je eksponencijalno mnogo
podataka u odnosu na broj atributa
113 / 303
Naivni Bajesov klasifikator (2)
114 / 303
Uslovna nezavisnost atributa – primer
115 / 303
Prednosti i mane naivnog Bajesovog klasifikatora
I Prednosti:
I Efikasan trening i predvidanje
I Nije osetljiv na prisustvo nebitnih atributa (imaju iste raspodele u svim klasama)
I Ne zavisi od vrste atributa (kategorički ili kontinualni)
I Lako se ažurira kako pristižu podaci
I Mane:
I Pretpostavlja uslovnu nezavisnost atributa
I Ako se neke vrednosti atributa ne pojavljuju u trening skupu, dodeljuje im
verovatnoću 0, što nije realistično
116 / 303
Naivni Bajesov klasifikator – primer
p(Da|Da, Ne, Blaga, Ne) ∼ p(Hla = Da|Da)p(Cur = Ne|Da)p(Gla = Blaga|Da)p(Gro = Ne|Da)p(Grip = Da)
31215 3
= =
55558 500
p(Ne|Da, Ne, Blaga, Ne) ∼ p(Hla = Da|Ne)p(Cur = Ne|Ne)p(Gla = Blaga|Ne)p(Gro = Ne|Ne)p(Grip = Ne)
12123 1
= =
33338 54
117 / 303
Primena – razrešavanje višeznačnosti reči
I Neke reči se mogu sa jednog jezika prevesti na drugi na više načina (npr. like)
I Višeznačnost se često može razrešiti na osnovu konteksta
I Ako su u i v susedne reči, pravilo izbora prevoda je:
118 / 303
Logistička regresija
I Neka važi y ∈ {0, 1}
I Želimo da modelujemo verovatnoću p(y |x)
I Razmotrimo linearnu formu modela:
n
X
fw (x) = w0 + wi xi
i=1
119 / 303
Sigmoidna funkcija
I Forma modela:
fw (x) = σ(w · x)
I Željenu verovatnoću modelujemo kao pw (y |x) = fw (x)y (1 − fw (x))1−y
I Kako izabrati parametre w ?
121 / 303
Logistička regresija
I Uslovna verovatnoća opažanja iz skupa podataka je
N
Y
pw (yi |xi )
i=1
122 / 303
Logistička regresija
I Optimizacioni problem
N
X
min − [yi log fw (xi ) + (1 − yi ) log(1 − fw (xi ))]
w
i=1
123 / 303
Primena – ...svuda
124 / 303
Metoda potpornih vektora (SVM)
|w · x + w0 |
kw k
125 / 303
Ilustracija razdvajajućih hiperravni
I Optimizacioni problem:
kw k
min
w ,w0 2
yi (w · xi + w0 ) ≥ 1 i = 1, . . . , N
128 / 303
Linearno neseparabilan slučaj
yi (w · xi + w0 ) ≥ 1 − ξi , i = 1, . . . , N
ξi ≥ 0, i = 1, . . . , N
129 / 303
Rešenje optimizacionog problema
130 / 303
Šta ako granica izmedu klasa nije hiperravan?
131 / 303
Preslikavanje u visokodimenzionalni prostor
133 / 303
Primeri kernela
I Polinomijalni kernel:
k(u, v ) = (u · v + 1)d
I Gausov kernel:
2
k(u, v ) = e −γku−v k
134 / 303
Kernel trik
I Ništa drugo se ne menja u metodu, pošto kernel jeste skalarni proizvod u nekom
prostoru!
I Reprezentacije podataka u tom prostoru se ne konstruišu eksplicitno
I Postoje kerneli koji odgovaraju skalarnim proizvodima u
beskonačnodimenzionalnim prostorima, a izračunavaju se efikasno
135 / 303
Dejstvo Gausovog kernela
I Važi:
h ≤ min([R 2 kw k2 ], N) + 1
I Optimizacioni problem izražava minimizaciju gornje granice VC dimenzije!
I Gornja granica ne zavisi od dimenzionalnosti prostora!
137 / 303
VC dimenzija
138 / 303
VC dimenzija
138 / 303
Primene
I Kategorizacija teksta
I Prepoznavanje objekata na slikama
I Prepoznavanje rukom pisanih cifara
I Dijagnoza raka dojke
I Medu algoritmima sa najboljim kvalitetom predvidanja u najrazličitijim domenima
139 / 303
Linearna regresija
I Forma modela:
n
X
fw (x) = w0 + wi xi
i=1
I Minimizacioni problem
N
X
min (yi − fw (xi ))2
w
i=1
I Matrična formulacija
min ky − Xw k
w
I Rešenje
w = (X T X )−1 X T Y
I Ako su matrice prevelike za čuvanje i inverziju, koriste se gradijentne metode
optimizacije
140 / 303
Linearna regresija – primer
20
●
●
●
●
●
15
●
● ●
10
●
● ●
●
●
●
5
●
●
0
5 10 15 20
142 / 303
Linearna regresija – primer
20
●
●
●
●
●
15
●
● ●
10
●
● ●
●
●
●
5
●
●
0
5 10 15 20
I Rešenje
w = (X T X + λI )−1 X T Y
I Regularizacija čini da matrica koja se invertuje ima pun rang
144 / 303
Primene
145 / 303
Neuronske mreže
146 / 303
Neuronska mreža sa propagacijom unapred
147 / 303
Matematička formulacija modela
h0 = x
ai = Wi hi−1 + wi0
hi = g (ai )
gde su Wi matrice koeficijenata, wi0 vektori koeficijenata, a g aktivaciona funkcija
I Vektor svih koeficijenata modela biće obeležavan sa w
I Važi fw (x) = hk , gde je k indeks poslednjeg sloja
148 / 303
Ilustracija
I Sigmoidna funkcija
I Tangens hiperbolički
I ReLU: max(0, x)
150 / 303
Regresija
151 / 303
Klasifikacija
152 / 303
Kako se vrši trening?
153 / 303
Propagacija unazad
154 / 303
Izvod složene funkcije - primer
155 / 303
Propagacija unazad
I Greška za mrežu sa k slojeva na jednoj instanci (hk je funkcija parametara w ):
E (w ) = L(y , hk ) + λΩ(w )
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x))
d = ∇hk L(y , hk )
repeat
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
157 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x))
d = ∇hk L(y , hk )
repeat d = 2(h2 − 1)
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
158 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x))
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2(h2 − 1)σ 0 (a2 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
159 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x))
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2(h2 − 1)σ 0 (a2 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
160 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x ))
| {z }
a1
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2(h2 − 1)σ 0 (a2 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
161 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x ))
| {z }
a1
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2w21 (h2 − 1)σ 0 (a2 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
162 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x ))
| {z }
a1
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
163 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x ))
| {z }
a1
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
164 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x ))
| {z }
a1
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
165 / 303
Propagacija unazad - primer
E (w , D) = (h2 − 1)2
fw (x) = h2 = σ(w20 + w21 σ(w10 + w11 x ))
| {z }
a1
| {z }
a2
d = ∇hk L(y , hk )
repeat d = 2w11 w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )
d = d g 0 (ak )
∇wk0 E (w ) = d + λ∇wk0 Ω(w )
∇Wk E (w ) = dhk−1 T + λ∇Wk Ω(w ) ∇ w0 ∇W
d = Wk T d 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 ) 2w21 (h2 − 1)σ 0 (a2 )σ 0 (a1 )x
k =k −1 2(h2 − 1)σ 0 (a2 ) 2(h2 − 1)σ 0 (a2 )σ(a1 )
until k = 0;
166 / 303
Ekstrakcija atributa
167 / 303
Ekstrakcija atributa
169 / 303
Arhitektura konvolutivnih mreža
170 / 303
Konvolutivni sloj
171 / 303
Sloj agregacije
172 / 303
Shema konvolutivne mreže
Slika: http://masters.donntu.org/2012/fknt/umiarov/diss/indexe.htm
173 / 303
Mane neuronskih mreža
174 / 303
Primeri primena
175 / 303
Primer primene - modelovanje semantike reči
176 / 303
Primer primene - modelovanje semantike reči
179 / 303
Pregled
Finalni saveti
180 / 303
Opšta shema dizajna
181 / 303
Dimenzije algoritama nadgledanog učenja
182 / 303
Sveobuhvatnost modela
183 / 303
Generativni modeli
184 / 303
Generativni modeli
184 / 303
Primer – naivni Bajesov klasifikator
p(x|y )p(y )
p(y |x) =
p(x)
I ,,Naivna“ pretpostavka:
n
Y
p(x|y ) ≈ p(xi |y )
i=1
I p(xi |y ) i p(y ) se ocenjuju iz podataka
I Činjenica da ocenjuje p(x|y ) ga čini generativnim modelom
185 / 303
Diskriminativni modeli
186 / 303
Primer – linearna regresija
I Model:
y |x ∼ N w · x, σ 2
187 / 303
Primer – linearna regresija
I Model:
y |x ∼ Ber (σ(w · x))
189 / 303
Neprobabilistički diskriminativni modeli
190 / 303
Primer – SVM
I Model:
w · x + w0
I Optimizacioni problem:
N
!
kw k2 X
min +C ξi
w 2
i=1
yi (w · xi + w0 ) ≥ 1 − ξi , i = 1, . . . , N
ξi ≥ 0, i = 1, . . . , N
191 / 303
Reprezentacija modela
192 / 303
Linearni i njima srodni modeli
I Model:
n
X
fw (x) = g (w0 + wi xi )
i=1
za neku funkciju g
I Ako je g identitet, ovakav model izražava:
I Nezavisne uticaje atributa na cilju promenljivu
I Uticaj na ciljnu promenljivu je proporcionalan promeni vrednosti atributa
193 / 303
Linearni modeli – prednosti i mane
I Prednosti
I Manje podložni preprilagodavanju
I Računski često manje zahtevni
I Interpretabilni
I Mane:
I Forma moze biti neadekvadna
I Mogu biti nedovoljno prilagodljivi
194 / 303
Interakcije atributa
195 / 303
Interakcije atributa
I Interakcije mogu poslužiti za definisanje modela koji su nelinearni u odnosu na
atribute (ali i dalje linearni u odnosu na parametre)
20
●
●
●
●
●
15
● ●
●
10
● ●
●
●
●
5
●
●
0
5 10 15 20
197 / 303
Negativna vrednost logaritma verodostojnosti (1)
198 / 303
NLL za logističku regresiju
I NLL:
N
X
min − [yi log fw (xi ) + (1 − yi ) log(1 − fw (xi ))]
w
i=1
I Stoga −u log v − (1 − u) log(1 − v ) predstavlja funkciju greške
I Ako u i v saglasni, greška je mala, a u suprotnom je velika
199 / 303
NLL za linearnu regresiju
I Model:
y |x ∼ N w · x, σ 2
ili ekvivalentno:
(y − w · x)2
1
pw (y |x) = √ exp −
2πσ 2 2σ 2
I NLL:
N
N 1 X
L(w ) = log 2π + N log σ + 2 (yi − w · xi )2
2 2σ
i=1
200 / 303
Kvadratna greška
I Funkcija greške:
L(u, v ) = (u − v )2
I Pruža regresionu funkciju kao rešenje
I U slučaju linearnog regresionog modela, ima isti efekat kao ocena maksimalne
verodostojnosti normalne raspodele
I Diferencijabilna
I Osetljiva na izuzetke u podacima (eng. outliers)
201 / 303
Apsolutna greška
I Funkcija greške:
L(u, v ) = |u − v |
I U slučaju linearnog regresionog modela, ima isti efekat kao ocena maksimalne
verodostojnosti Laplasove raspodele
I Nije osetljiva na izizetke u podacima
I Nije diferencijabilna
202 / 303
SVM i greška u obliku šarke
I Minimizacioni problem:
N
!
kw k2 X
min +C ξi
w 2
i=1
yi (w · xi + w0 ) ≥ 1 − ξi , i = 1, . . . , N
ξi ≥ 0, i = 1, . . . , N
203 / 303
SVM i greška u obliku šarke
I Minimizacioni problem:
N
!
kw k2 X
min +C ξi
w 2
i=1
yi (w · xi + w0 ) ≥ 1 − ξi , i = 1, . . . , N
ξi ≥ 0, i = 1, . . . , N
I Reformulisani minimizacioni problem:
" N #
X kw k2
max(0, 1 − yi (w · x + w0 )) + λ
2
i=1
203 / 303
Greška u obliku šarke
205 / 303
`2 regularizacija (grebena)
206 / 303
`2 regularizacija (grebena)
I Pruža retke (eng. sparse) modele i na taj način vrši izbor atributa!
I Ovo je vrlo važno za interpretabilnost modela
208 / 303
`1 regularizacija (laso)
I Pruža retke (eng. sparse) modele i na taj način vrši izbor atributa!
I Ovo je vrlo važno za interpretabilnost modela
I Problemi?
208 / 303
`1 regularizacija (laso)
I Pruža retke (eng. sparse) modele i na taj način vrši izbor atributa!
I Ovo je vrlo važno za interpretabilnost modela
I Problemi?
I Nije diferencijabilna!
I Preciznost predvidanja je nešto manja nego kod grebene regresije
I Nestabilna u pogledu skupa izabranih atributa
I Elastična mreža (eng. elastic net) kao rešenje
208 / 303
`1 regularizacija (laso) – dve formulacije
s.t. kw k1 ≤ t
209 / 303
Laso regularizacija i retki modeli
211 / 303
Grupna laso i retka grupna laso regularizacija
213 / 303
Optimizacioni metod
214 / 303
Diferencijabilan slučaj
Slika: math.wikia.com/wiki/Gradient
215 / 303
Gradijentni spust
wk+1 = wk − µk ∇E (wk )
216 / 303
Konvergencija gradijentnog spusta (1)
I Funkcija koja slika X ⊆ Rn u Rm je Lipšic neprekidna ukoliko postoji konstanta C ,
takva da za sve u, v ∈ X važi:
kf (u) − f (v )k ≤ C ku − v k
∇2 f (v ) − mI
217 / 303
Konvergencija gradijentnog spusta (2)
1
I Za konveksne funkcije sa Lipšic neprekidnim gradijentom, greška je reda O k
I Za jako
konveksne funkcije sa Lipšic neprekidnim gradijentom, greška je reda
O c k za neko 0 < c < 1
I Da li je jaka konveksnost realističan uslov u praksi?
218 / 303
Primer jako konveksne funkcije
219 / 303
Ilustracija gradijentnog spusta
I Pretpostavimo y ∈ {0, 1}
I Greška:
N
1 X
E (w ) = (yi − σ(w · xi ))2
N
i=1
I Gradijent:
N
∂ 2 X
E (w ) = − (yi − σ(w · xi ))σ(w · xi )(1 − σ(w · xi ))xij
∂wj N
i=1
221 / 303
Primer – kvadratna greška za logističku regresiju
I Pretpostavimo y ∈ {0, 1}
I Greška:
N
1 X
E (w ) = (yi − σ(w · xi ))2
N
i=1
I Gradijent:
N
∂ 2 X
E (w ) = − (yi − σ(w · xi ))σ(w · xi )(1 − σ(w · xi ))xij
∂wj N
i=1
221 / 303
Primer – kvadratna greška za logističku regresiju
I Pretpostavimo y ∈ {0, 1}
I Greška:
N
1 X
E (w ) = (yi − σ(w · xi ))2
N
i=1
I Gradijent:
N
∂ 2 X
E (w ) = − (yi − σ(w · xi ))σ(w · xi )(1 − σ(w · xi ))xij
∂wj N
i=1
221 / 303
Gradijentni spust pri kružnim konturama funkcije cilja
I Spora konvergencija
I Pravac definisan gradijentom je samo lokalno optimalan
I Cik-cak putanje spusta (problem ublažen konjugovanim gradijentima)
I Za velike količine podatka, puno vremena se troši da bi se izračunao pravac koji
nije optimalan
224 / 303
Stohastički gradijentni spust
I Neka korak bude slučajni vektor takav da je njegovo očekivanje kolinearno sa
gradijentom funkcije E (w )
I Jedna varijanta je ponavljati za sve (xi , yi ) ∈ D, dok postupak ne iskonvergira:
225 / 303
Gradijentni spust naspram stohastičkog gradijentnog spusta
I Za konveksne funkcije sa Lipšic neprekidnim gradijentom, greška je reda O √1
k
I Za jako
konveksne funkcije sa Lipšic neprekidnim gradijentom, greška je reda
1
O k
I Asimptotski je sporiji od gradijentnog spusta, ali zbog mnogo manje cene jedne
iteracije, stohastički gradijentni spust se često koristi u mnogim praktičnim
kontekstima, poput treninga neuronskih mreža
227 / 303
Metod inercije (eng. momentum)
I Ideja je zadržati uticaj prethodnih gradijenata, kako bi promena pravca bila teža:
dk+1 = βk dk − µk ∇E (wk )
wk+1 = wk + dk+1
I Njihov uticaj ipak eksponencijalno opada
I Ublažava problem cik-cak kretanja jer kretanje ne sledi oštre promene pravca
gradijenta
I Vrlo popularan za treniranje neuronskih mreža, posebno u kombinaciji sa
stohastičkim gradijentnim spustom
228 / 303
Nesterovljev ubrzani gradijentni spust
dk+1 = βk dk − µk ∇E (wk + βk dk )
wk+1 = wk + dk+1
I Postoji specifičan izbor vrednosti βk i µk
I Geometrijska interpretacija nije sasvim jasna
1
I Za konveksne funkcije sa Lipšic neprekidnim gradijentom greška je reda O k2
I Asimptotski optimalan optimizacioni metod prvog reda za ovakve funkcije
I Pogodan za probleme visoke dimenzionalnosti
229 / 303
ADAM
mb k+1
wk+1 = wk − µk+1 p
vbk+1 + ε
230 / 303
Stohastičko uprosečavanje
231 / 303
Stohastički gradijentni spust zasnovan na uprosečavanju (SAG)
N
µk X k+1
wk+1 = wk − gi
N
i=1
I Zahteva čuvanje N gradijenata
232 / 303
Alternative
233 / 303
Nediferencijabilan slučaj (1)
235 / 303
Primer – podgradijentni spust za `1 regularizaciju
I Regularizovana greška:
L(w ) = E (w ) + λkw k1
I U minimumu mora važiti 0 ∈ ∂L(w ), odnosno:
∇i E (w ) + λsgn(w ) = 0, wi 6= 0
|∇i E (w )| ≤ λ, wi = 0
236 / 303
Primer – podgradijentni spust za `1 regularizaciju
I Postoji više podgradijenata, a bira se onaj koji daje pravac nabržeg spusta:
∇i E (w ) + λsgn(wi ) wi 6= 0
∇i E (w ) + λ wi = 0, ∇i E (w ) < −λ
∇i L(w ) ,
∇ E (w ) − λ wi = 0, ∇i E (w ) > λ
i
0 wi = 0, |∇i E (w )| ≤ λ
237 / 303
Primer – podgradijentni spust za `1 regularizaciju
I Slučaj
∇i E (w ) + λsgn(wi ) za wi 6= 0
sledi iz diferencijabilnosti za wi 6= 0
I Slučaj
0 za wi = 0, |∇i E (w )| ≤ λ
sledi iz zadovoljenosti uslova optimalnosti:
|∇i E (w )| ≤ λ, wi = 0
238 / 303
Primer – podgradijentni spust za `1 regularizaciju
I Slučaj
∇i E (w ) + λ za wi = 0, ∇i E (w ) < −λ
proizilazi iz izbora smera optimizacije
239 / 303
Diferencijabilnost drugog reda
240 / 303
Njutnov metod
f 0 (wk )
wk+1 = wk −
f 00 (wk )
I Njutnov metod za funkcije više promenljivih:
241 / 303
Njutnov metod za kvadratne funkcije
I Kvadratna greška:
1
E (w ) = c + b T w + w T Aw
2
I Gradijent je ∇E (w ) = b + Aw , a hesijan je ∇2 E (w ) = A
I Korak Njutnovog metoda daje:
∇E (−A−1 b) = b + A(−A−1 b) = 0
242 / 303
Njutnov metod i kvadratna aproksimacija
I Njutnov metod:
f 0 (wk )
wk+1 = wk −
f 00 (wk )
I Traži nulu gradijenta, tako da maksimumi i sedlaste tačke predstavljaju problem
I Stoga zahteva strogu konveksnost (ne mešati sa jakom)
I Inverzija matrice
I Nije pogodan za probleme visoke dimenzionalnosti
244 / 303
Kvazi-Njutnovi metodi
245 / 303
BFGS (1)
I Kvazi-Njutnov metod:
wk+1 = wk − Hk−1 ∇E (wk )
I Može se razumeti kao inkrementalno popravljanje kvadratnih modela funkcije koja
se minimizuje
I Aproksimacija Hk−1 mora biti simetrična
246 / 303
BFGS (2)
247 / 303
BFGS (3)
−1
I Zahtevajmo da je promena aproksimacije u odnosu na Hk−1 minimalna
−1 2
min kH −1 − Hk−1 k2
H −1
248 / 303
L-BFGS
249 / 303
Konveksnost
250 / 303
Nekonveksnost
251 / 303
Problem lokalnih minimuma
I Neuronske mreže su vrlo nekonveksne, ali ipak daju sjajne rezultate u mnogim
primenama
I Zar ne bi lokalni minimumi trebalo da predstavljaju veliki problem za njihovu
optimizaciju?
I Manji problem u mašinskom učenju, nego što se do skora pretpostavljalo
252 / 303
Kakve su šanse da tačka bude lokalni minimum?
253 / 303
Koliko su vrednosti lokalnih minimuma loše?
254 / 303
Sedlene tačke
255 / 303
Ograničenja
PC (u) = argminv ∈C ku − v k2
257 / 303
Projektovani gradijentni spust
I Koristi kaznene funkcije (npr. logaritamsku barijeru) kako bi kaznio rešenja koja
prilaze granici dopustivog skupa rešenja
I U toku optimizacije, aproksimacija skupa dopustivih rešenja postaje sve preciznija
I U slučaju nekonveksnih problema, kombinuje se sa sekvencijalnim kvadratnim
programiranjem (LOQO)
I Postoje efikasni algoritmi (ali ne uporedivi sa algoritmima za konveksne probleme
bez ograničenja)
I Moguće najbolji izbor u slučaju problema sa ograničenjima u slučaju
nekonveksnosti ili kad se projekcija ne može efikasno izračunati
259 / 303
Logaritamska barijera
I Problem sa ograničenjima:
min E (w )
w
s.t. gi (w ) ≥ 0, i = 1, ..., m
I Problem bez ograničenja sa logaritamskom barijerom:
m
1X
min E (w ) + − log(gi (w )))
w µ
i=1
I Problem se rešava iznova i iznova za sve veće vrednosti parametra µ dok postupak
ne iskonvergira
260 / 303
Aproksimacije
261 / 303
Primer – glatka `1 norma
262 / 303
Pregled
Finalni saveti
263 / 303
Procena kvaliteta i izbor modela
264 / 303
Na čemu se zasnivaju procena kvaliteta i izbor modela?
265 / 303
Mere kvaliteta
I Zavise od problema
I Za klasifikaciju: preciznost, F1 skor, AUC
I Za regresiju: srednjekvadratna greška i koeficijent determinacije (R 2 )
266 / 303
Tačna i netačna predvidanja
267 / 303
Preciznost klasifikacije
SP+SN
I ACC = SP+SN+LP+LN
I Varljiva u slučaju neizbalansiranih klasa
268 / 303
F1 skor
SP
I Preciznost P = SP+LP (nije isto što i prethodno definisana preciznost)
SP
I Odziv R = SP+LN
2PR
I F1 = P+R
I Kombinuje preciznost i odziv, ali je bliže manjoj od te dve mere
I Nije osetljiva na neizbalansiranost klasa
269 / 303
Koren srednjekvadratne greške
v
u
u1 XN
RMSE = t (fw (xi ) − yi )2
N
i=1
270 / 303
Koren srednjekvadratne greške
PN 2
2 MSE i=1 (fw (xi ) − yi )
R =1− =1− N
Var 2
P
i=1 (ȳ − yi )
272 / 303
Tehnike evaluacije
273 / 303
Glavno načelo procene kvaliteta modela
274 / 303
Nekonfigurabilan slučaj
275 / 303
Izbor modela za nekonfigurabilan slučaj
I Pošto nema različitih konfiguracija, nema ni većeg broja modela iz kojeg se može
birati, pa je izbor praktično trivijalan
I Ipak, postavlja se pitanje na kojim podacima treba trenirati?
276 / 303
Izbor modela za nekonfigurabilan slučaj
I Pošto nema različitih konfiguracija, nema ni većeg broja modela iz kojeg se može
birati, pa je izbor praktično trivijalan
I Ipak, postavlja se pitanje na kojim podacima treba trenirati?
I Model M, za buduću upotrebu, se trenira na celom skupu podataka
276 / 303
Procena kvaliteta pomoću trening i test skupa
x1 x2 x3 y
I Podaci se dele na dva skupa
1 9 0 8
I Jedan skup se koristi za treniranje
0 6 2 1
modela M 0 koji služi kao
1 3 1 5
aproksimacija modela M
4 9 7 6
I Drugi se koristi za procenu greške 1 1 6 7
koju model M 0 pravi prilikom 7 2 3 4
predvidanja, a smatra se da je ta 2 9 9 9
greška dobra aproksimacija greške 3 3 4 6
modela M 7 2 1 7
6 5 1 5
277 / 303
Problemi vezani za procenu pomoću trening i test skupa
278 / 303
Procena kvaliteta K -strukom unakrsnom validacijom
x1 x2 x3 y
I Podaci se dele na K slojeva (tj. 1 9 0 8
delova) 0 6 2 1
I Za svaki sloj 1 3 1 5
I Trenira se model na preostalih 4 9 7 6
K − 1 slojeva 1 1 6 7
I Vrše se predvidanja dobijenim 7 2 3 4
modelom na izabranom sloju 2 9 9 9
I Računa se ocena greške 3 3 4 6
7 2 1 7
6 5 1 5
279 / 303
Problemi vezani za procenu unakrsnom validacijom
I Računska zahtevnost
I Kako izabrati broj slojeva?
I Koristiti 5 ili 10 slojeva
I Ne koristiti jednočlane slojeve (eng. leave one out), pošto je takva ocena greške
optimistična
I Ne računati ocene greške za svaki sloj, pa ih uprosečavati (ne radi za nelinearne
mere poput R 2 )
I Sve instance se koriste u proceni kvaliteta, pa je pouzdanija, ali i dalje jedan sloj
ne mora imati istu raspodelu kao preostali
280 / 303
Još jedno načelo procene kvaliteta modela
I Trening i test skup treba da imaju istu raspodelu kao i buduća opažanja
I Deluje pipavo i jeste pipavo
I Kako ublažiti ovaj problem?
281 / 303
Još jedno načelo procene kvaliteta modela
I Trening i test skup treba da imaju istu raspodelu kao i buduća opažanja
I Deluje pipavo i jeste pipavo
I Kako ublažiti ovaj problem?
I Koristiti velike količine podatka
I Koristiti napredne tehnike uzorkovanja
I Stratifikacija
281 / 303
Stratifikacija
I Prilikom deljenja podataka, obezbediti da delovi imaju istu raspodelu kao i ceo
skup podataka
I Teško za male skupove podataka
I Pojednostavljena varijanta: očuvati raspodelu ciljne promenljive
282 / 303
Stratifikacija u odnosu na ciljnu promenljivu
x1 x2 x3 y
0 6 2 1
I Sortirati podatke u odnosu na ciljnu 7 2 3 4
promenljivu 1 3 1 5
6 5 1 5
I Ako je K broj delova, neka instance
4 9 7 6
sa indeksima i + j ∗ K čine deo Pi za
3 3 4 6
i = 1, . . . , K i j = 0, 1, . . .
1 1 6 7
7 2 1 7
1 9 0 8
2 9 9 9
283 / 303
Da li je algoritam konfigurabilan?
284 / 303
Šta ako je konfigurabilan?
285 / 303
Šta ako je konfigurabilan?
285 / 303
Šta ako je konfigurabilan?
285 / 303
Procena kvaliteta i izbor modela na pogrešan način
286 / 303
U čemu je greška?
287 / 303
U čemu je greška?
287 / 303
U čemu je greška?
287 / 303
Izbor modela pomoću validacionog skupa
288 / 303
Ocena greške pomoću validacionog i test skupa
x1 x2 x3 y
I Podaci se dele na trening i test skup 1 9 0 8
I Na trening skupu se izvrši izbor modela i pridružene 0 6 2 1
konfiguracije pomoću validacionog skupa 1 3 1 5
4 9 7 6
I Za tu konfiguraciju se trenira model na celom trening
1 1 6 7
skupu
7 2 3 4
I Vrši se ocena greške tog modela na test skupu i ona se 2 9 9 9
prijavljuje kao ocena kvaliteta modela 3 3 4 6
7 2 1 7
6 5 1 5
289 / 303
Izbora modela pomoću unakrsne validacije
I Za svaku konfiguraciju
I Vrši se ocena greške predvidanja modela unakrsnom validacijom
I Bira se konfiguracija koja daje najmanju grešku pri unakrsnoj validaciji
I Trenira se finalni model pomoću najbolje konfiguracije na celom skupu podataka
290 / 303
Procenu kvaliteta modela ugneždenom K -strukom unakrsnom validacijom
291 / 303
Šta ako kvalitet modela nije dobar?
292 / 303
Nagodba izmedu sistematskog odstupanja i varijanse
294 / 303
Šta ako je varijansa modela visoka?
295 / 303
Nedostatak informativnih atributa
I Ukoliko atributi nisu dovoljno informativni, nijedan algoritam učenja ne može dati
rezultate
I Proveriti koje klase se medusobno mešaju i proveriti da li se može očekivati da
postojeći atributi diskriminišu izmedu njih
I Proveriti da li su atributi korelirani sa ciljnom promenljivom pomoću koeficijenta
korelacije i grafika vrednosti ciljne promenljive naspram vrednosti atributa
296 / 303
Pregled
Finalni saveti
297 / 303
Finalni saveti
I Proučiti postojeće algoritme
I Ustanoviti zašto ne daju dobre rezultate
I Proveriti da li je forma modela adekvatna
I Proveriti da li je funkcija greške adekvatna
I Proveriti da li se regularizacija može izmeniti kako bi nametnula adekvatnu
strukturu modela
I Proveriti da li se optimizacioni metod može zameniti bržim
I Proveriti da li se optimizacioni problem može aproksimirati
I Koristiti ugneždenu unakrsnu validaciju za procenu kvaliteta modela ukoliko je
količina podataka mala ili trening, validaciju i testiranje ukoliko je na raspolaganju
puno podataka
I Analizirati dobijeni model
298 / 303
Knjige
299 / 303
Knjige
300 / 303
Radovi
301 / 303
Radovi
302 / 303
Linkovi
I http://archive.ics.uci.edu/ml/
I https://github.com/fchollet/keras
I http://www.yelab.net/software/SLEP/
I http://statweb.stanford.edu/~tibs/ElemStatLearn/
I http://statweb.stanford.edu/~tibs/lasso.html
I http://www.seas.ucla.edu/~vandenbe/ee236c.html
I http://www.stat.cmu.edu/~ryantibs/convexopt/
I http://stanford.edu/~boyd/cvxbook/
303 / 303