Strojno učenje Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc
Generativni i diskriminativni modeli Diskriminativni Generativni (Učenje linije koja razdvaja klase) Učenje modela za svaku pojedinu klasu 2
Diskriminativni algoritmi Diskriminativni algoritmi do sada Klasifikacija - Klasifikator baziran na linearnoj regresiji - Logistička regresija - LDA, FDA, QDA x 2 - Diskriminativne funkcije - δ k (x)- funkcije koje određuju pripadnost nekoj klasi k LDA C( x) arg max ( x) k C plohe/hiperravnine koje razdvajaju klase k x 2 { x : ( x) ( x)} k - intuicija: što je δ k x veća to je vjerojatnost pripadanja klasi k veća ~ udaljenosti od plohe/hiperravnine razdvajanja l QDA 30-Mar-16 TS: Strojno učenje Linearne metode & SVM 3
Koja hiper-ravnina je najbolja? Separabilni problem: Između točaka možemo provući velik broj (beskonačan) ploha koje dobro razdvajaju primjere dvije klase 4
Metoda potpornih vektora (metoda jezgrenih funkcija) SVM - Support Vector Machines SVM nalazi hiper-ravninu koja ima najveću marginu razdvajanja klasa margina - udaljenost između kritičnih točaka najbliže blizu plohi razdvajanja (en. decision boundary) Intuicija: Ako ne postoje točke blizu plohe razdvajanja, to znači da nemamo nesigurnih klasifikacijskih odluka!? 5
Druga intuicija Ako postavimo što je moguće veći razmak (marginu) između dviju klasa, postoji manje mogućnosti izbora za funkciju razdvajanja kapacitet modela se smanjuje (manje šanse za overfitting)!! 6
SVM dakle maksimiziraju marginu m oko hiperravnine (plohe) razdvajanja. (en. large margin classifiers) Potporni vektori Kod SVM - funkcija odluke definirana je preko podskupa primjera iz skupa za učenje tzv. Potpornih vektora (en. support vectors) Problem određivanja SV: kvadratni optimizacijski problem (en. quadratic programming) Max. margina 7
Separabilni i neseparabilni problemi Ako se pokaže da problem nije linearno separabilan: - Dozvoljene su greške uz penaliziranje Osnovni princip ostaje: - Ploha razdvajanja u principu mora što bolje razdvajati klase TS: Strojno učenje Linearne metode & 30-Mar-16 8 SVM
SVM linearno separabilni podaci (2 klase) Geometrijska intuicija - konveksna ljuska (Convex hull) K.LJ. najmanji konveksni skup koji sadrži sve točke skupa točaka {x i } Za dani skup točaka {x i } K.LJ. je skup točaka definiran sa: x = α i x i Separabilni problem Neseparabilni problem Uz: i α i 0 i α i = 1 za dva skupa {x i } i {y i } vrijedi ako se njihove K.LJ. ne preklapaju onda se radi o linearno separabilnom problemu! 9
SVM linearno separabilni podaci (2 klase) Geometrijska intuicija - Konveksne ljuske K.LJ. najmanji konveksni skup koji sadrži sve točke Zadatak naći konveksnu ljusku za svaku od klasa Naći dvije najbliže točke u dvije konveksne ljuske Odrediti ravninu koja prolazi između te dvije točke 10
Formalizacija- određivanje maksimalne margine w: normala na hiperravninu razdvajanja x i : primjer (točka) i y i : klasa primjera i ( +1/-1) Klasifikator je određen funkcijom sign(w T x i + b) margina x i je određena sa y i (w T x i + b) 11
Pojam - geometrijske margine Primjeri najbliže plohi su potporni vektori. Margina ρ plohe razdvajanja je širina razdvajanja između potpornih vektora suprotnih klasa x w r ρ Udaljenost između plohe i točke x r w T x b w 12
Linearni SVM - izvod Pretpostavimo da vrijedi da se sve točke nalaze najmanje na distanci 1 od plohe razdvajanja Tada vrijede dva ograničenja na skupu primjera za učenje {(x i,y i )} w T x i + b 1 ako je y i = 1 w T x i + b -1 ako je y i = -1 Za potporne vektore (točke koje se nalaze na margini), ove nejednakosti su jednakosti; S obzirom da je udaljenost svakog primjera od plohe razdvajanja: T w x b r w 2 Margina je: w TS: Strojno učenje Linearne metode & 30-Mar-16 13 SVM
Linearni SVM ρ w T x a + b = 1 Ploha razdvajanja w T x + b = 0 w T x b + b = -1 Uz ograničenja: min i=1,,n w T x i + b = 1 Dolazimo do vrijednosti za marginu razdvajanja: w T (x a x b ) = 2 ρ = x a x b = 2/ w w T x + b = 0 14
Linearni SVM - formulacija optimizacijskog problema Pronađi w i b tako da je 2 => maksimalna w a za sve zadane {(x i, y i )} mora vrijediti: w T x i + b 1 ako je y i =1; w T x i + b -1 ako je y i = -1 15
Linearni SVM - formulacija optimizacijskog problema Bolja formulacija kao minimizacijski problem min w = max (2/ w ) Povoljniji oblik za rješavanje kvadratni optimizacijski problem uz ograničenja: umjesto min w => min (w T w) Naći w i b - takve da je: Φ(w) =½ w T w je minimalno; A za sve {(x i,y i )} vrijedi : y i (w T x i + b) 1 16
Rješavanje optimizacijskog problema => optimizacija uz ograničenja Nađi w i b - takve da je: Φ(w) =½ w T w - minimalno; A za sve {(x i,y i )} vrijedi : y i (w T x i + b) 1 Ova formulacija minimizacija kvadratne funkcije uz linearna ograničenja (nejednakosti) => primalna formulacija Dobro poznati i rješivi problem puno (više ili manje složenih) algoritama za njihovo rješavanje (MATLAB, MATHEMATICA) Standardno za SVM - prevođenje u dualni problem u kojem se tzv. Lagrangeovim multiplikatorima (težinski faktori koji penaliziraju svako ograničenje iz primalnog problema) 17
Lagrange-ovi multiplikatori => optimizacija uz ograničenja Minimiziraj funkciju f(x) uz ograničenja u obliku jednakosti g(x)=0 Naći minimum funkcije f x, x R d, uz ograničenja g x = 0, i = 1... m Tada postoje: λ = (λ 1, λ 2,.., λ m ) (Lagr. multiplikatori) za koje u minimumu x, koji zadovoljava sva ograničenja, vrijedi: f x = λ 1 g 1 x + λ 2 g 2 x + + λ m gm(x ) Ako uvedemo tzv. Lagrangeovu funkciju L x, λ = f x + i λ i g i (x), proizlazi da vrijedi u x * : L λ i = g i x = 0 L x = f x + λ 1 g 1 x + λ 2 g 2 x + + λ m gm(x) f x x * gi x g i x = 0 Moramo pronaći stacionarnu točku L x, λ - s obzirom na x i λ! 18
Lagrange-ovi multiplikatori => optimizacija uz ograničenja Minimiziraj funkciju f(x) uz ograničenja tipa nejednakosti g(x) 0 Rješenje x * može biti: unutar plohe g i (x) tada vrijedi g i (x) > 0. U tom slučaju ograničenje i nije aktivno => λ i = 0! Na g i (x)=0 tada je ograničenje aktivno => λ i 0! f x gi x x A g i x > 0 g i x = 0 19
Lagrange-ovi multiplikatori => optimizacija uz ograničenja Slučaj sa ograničenjem u obliku nejednakosti Slučaj sa ograničenjem u obliku jednakosti f(x) a) Aktivno ograničenje min f(x) min(l(x)) f(x) f(x) g i x 0 g i x 0 b) Ograničenje nije aktivno min f x = min(l(x)) h j x = 0 Min f(x) (neograničeni minimum) Min L(x) (ograničeni minimum f(x) 20
Lagrange-ovi multiplikatori => optimizacija uz ograničenja Karush-Kuhn-Tucker (KKT) uvjeti (generalizacija metode LM na ograničenja u obliku nejednakosti) Rješenje za nelinearne optimizacijski problem tipa: min x f x s. t. g i x 0 Dobije se optimizacijom s obzirom na x i λ : L x, λ = f x + i λ i g i x Uz ograničenja u (ograničenom) minimumu x* vrijedi: g i x 0; λ i 0; λ i g i (x ) = 0; 21
Lagrange-ova funkcija i min-max dualnost Primalna formulacija: min w max λ L(w, λ) Dualna formulacija: max λ min w L(w, λ) min w max λ Za konveksni problem: L(w, λ) = max λ min w L(w, λ) Wolfe dual: max λ 0 L(w, λ) uz w L w, λ = 0 TS: Strojno učenje Linearne metode & 30-Mar-16 23 SVM
Primalna formulacija Lagr. Multiplikatori + KKT uvjeti => dualna formulacija L w, λ, b = 1 2 w 2 N j=1 λ j y j w T x j + b 1 L w = 0 L b = 0 N w j=1 N j=1 λ j y j x j = 0 λ j y j = 0 Uz λ i = 0, i = 1,, N λ i y i w T x i + b 1 = 0, i = 1, N y i w T x i + b 1 0, i = 1, N 24
Prevođenje u dualni problem Wahba - Representer teorem w = N j=1 λ j y j x j Ako zamijenimo w u primalnom problemu gornjim izrazom w T x + b = w T w = N j=1 N j=1 λ j y j x j T λ j y j x j T x + b = N j=1 λ j y j x j T x + b k=1 N λ k y k x k = jk λ j λ k y j y k (x T j x k ) 26
SVM - optimizacijski problem Dualna formulacija: Naći λ 1 λ N tako da je: Max Q(λ) = Σ λ i - ½ΣΣ λ i λ j y i y j x it x j Te da vrijedi (1) Σ λ i y i = 0 j =1,N (2) λ i 0 i =1,,N TS: Strojno učenje Linearne metode & 30-Mar-16 27 SVM
Rješenje optimizacijskog problema w =Σ λ i y i x i b= y k - w T x k, za x k za koji je λ k 0 (t.j. SV) Svaki λ i koji je različit od 0 zapravo znači da je taj x i potporni vektor. Rješenje je proporcionalno sumi umnožaka - unutarnjih produkta x it x između nove točke (primjera) x i svih potpornih vektora x i! Treba zapamtiti i da je u rješavanju optimizacijskog problema korišten produkt x it x j između svih parova točaka skupa za učenje. Konačno klasifikacijska funkcija ima ovaj oblik: f(x) = Σ i (λ i y i x it x + b) U linearnim regresijskim problemima učimo i koristimo w (~ broj varijabli) K-nn algoritmi - koristimo sve trening točke (~N) da bi radili predikcije SVM koristi točke iz trening skupa (λ i 0) da bi radili predikcije nešto između LR i k-nn?! 28
Što ako problem nije linearno separabilan? Dodajemo nove varijable ξ i (en. slack variables) - dozvoljavanje krivih klasifikacija za teške ili šumovite primjere ξ i ξ i 29
Izvod SVM s mekanom marginom (en. Soft margin) Stara formulacija: Nađi w i b - takve da je: Φ(w) =½ w T w is minimalno; A za sve {(x i,y i )} vrijedi : y i (w T x i + b) 1 Nova formulacija sa ξ i : Nađi w i b - takve da je: Φ(w) =½ w T w + CΣξ i - minimalno; A za sve {(x i,y i )} vrijedi: y i (w T x i + b) 1 ξ i te da vrijedi ξ i 0 za sve i 30
Rješenje - SVM s mekanom marginom (en. Soft margin) Dualni problem za SVM s mekanom marginom : Nađi λ 1 λ N tako da je max Q(λ) =Σ λ i - ½ΣΣ λ i λ j y i y j x it x j Te da vrijedi (1) Σ λ i y i = 0 (2) 0 λ i C λ i I dalje vrijedi: x i sa λ i >0 su potporni vektori. U dualnoj formulaciji nema slack varijabli, samo ograničenje na λ (λ < C) Rješenje dualnog problema (soft margin): w =Σ λ i y i x i b= y k (1- ξ k ) w T x k, k = argmax λ k k w nije potreban kod procesa klasifikacije kao i prije! f(x) = λ i y i x it x + b 31
Klasifikacija Uz novu točku (x 1,x 2 ), Odrediti projekciju na normalu plohe razdvajanja: 2 dimenzije: p = w 1 x 1 +w 2 x 2 +b. To ustvari znači (wx + b = Σ λ i y i x it x + b) Moguće proširenje => ako stavimo neku graničnu mjeru t >0 (pouzdanost) f > t: => 1 f < -t: => -1 Inače: suzdržan 32
Linearni SVM - sažetak Klasifikator je posebno određena ploha razdvajanja (en. separating hyperplane) Najvažnije točke - točke iz skupa za učenje koje definiraju plohu razdvajanja - potporni vektori Potporni vektori se pronalaze optimizacijskim algoritmom Rješavani problem je kvadratni optimizacijski problem s linearnim ograničenjima (=konveksni o.p.). U dualnoj formulaciji problema i rješenja potporni vektori odnosno točke iz skupa za učenje se pojavljuju u skalarnim produktima: Nađi λ 1 λ N tako da je Q(λ) =Σ λ i - ½ΣΣ λ i λ j y i y j x it x j (1) Σ λ i y i = 0 - maksimalno i vrijedi: (2) 0 λ i C λ i f(x) = Σ λ i y i x it x + b 33
Nelinearni SVM Za probleme koji su linearno separabilni (i uz razumni šum) Linearni SVM je OK : No, što ako to ne vrijedi? 0 x 0 x mapiranje podataka u (još) više-dimenzionalni prostor! x 2 0 TS: Strojno učenje SVM 30-Mar-16 34 x
Nelinearni SVM: prostori novih dimenzija (atributa) Osnovna ideja: originalni prostor varijabli možemo mapirati u novi-višedimenzionalni prostor - gdje će naš problem biti (linearno) separabilan (rješiv) R 2 R 3 2x 1 x 2 x 2 f x = w T φ x + b (x 1 ) 2 x 1 (x 2 ) 2 35
Nelinearni SVM: prostori novih dimenzija (atributa) Primalni problem u transformiranom prostoru f x = w T φ x + b Učenje w u R D - transformiranom prostoru min w R D Problem ako je D>>d! w 2 + C N i (1 y i f(x i )) 36
Nelinearni SVM: prostori novih dimenzija (atributa) Dualni problem u transformiranom prostoru f x = α i y i φ x i T φ x i + b Učenje u transformiranom prostoru max α i 0 i α i 1 2 jk α j α k y j y k φ x i T φ x i s.t. 0 α i C za i, uz α i y i = 0 Ako izračunamo skalarne produkte φ x i T φ x i - učimo samo N α i! Možemo li φ x i T φ x i pojednostavniti? i 37
Kernel trik Skalarni produkt trebao izgledati drukčije: K(x i,x j )= φ(x i ) T φ(x j ) Kernel funkcija - funkcija koja korespondira nutarnjem produktu u nekom ekspandiranom prostoru novih varijabli Ne moramo uopće znati φ(x) da bi operirali u novom prostoru! 38
Kernel trik Primjer: originalni prostor 2-dimenzionalni vektori x=[x 1 x 2 ]; Neka je K(x i,x j )=(1 + x it x j ) 2, Pokažimo da vrijedi K(x i,x j )= φ(x i ) T φ(x j ), ako je φ(x) = [1, x 12, 2 x 1 x 2, x 2 2, 2x 1 2x 2 ] K(x i,x j )=(1 + x it x j ) 2,= 1+ x i12 x j1 2 + 2 x i1 x j1 x i2 x j2 + x i22 x j2 2 + 2x i1 x j1 + 2x i2 x j2 = = [1 x i1 2 2 x i1 x i2 x i2 2 2x i1 2x i2 ] T [1 x j1 2 2 x j1 x j2 x j2 2 2x j1 2x j2 ] = φ(x i ) T φ(x j )! 39
Kerneli Zašto kerneli? Efikasno učenje Mapiranje u bolje (reprezentacijski) višedimenzionalne prostore Omogućavaju pretvaranje neseparabilnih problema u separabilne. Uobičajeni kerneli Linearni K(x i,x j ) = (x it x j ) Polinomijalni K(x i,x j ) = (1+x it x j ) d RBF K xi x 2 2 ( xi,x j ) e j Sigmoid T K( x,x ) tanh( x x r) i j i j 40
Linearni SVM efekt različitih vrijednosti parametra C Prisjetimo se gdje smo vidjeli C Φ(w) =½ w T w + CΣξ i 41
Odabir kernela efekti Polinomni kerneli (C=const.) Linearni kernel polinom 2 stupnja polinom 5 stupnja 42
Odabir parametara kernela efekti Gaussian kernel, C=const. k x, x = e ( γ x x 2 ) 43
Odabir parametara parametara kernela i faktora C RBF kernel, C=1, =1 RBF kernel, C=10, =1 RBF kernel, C=100, =1 RBF kernel, C=1, =10 RBF kernel, C=10, =10 RBF kernel, C=100, =10 44
SVM - Sa dvije klase na više klasa Većina SVM metoda je za binarne klasifikacijske probleme Uobičajen pristup za višeklasne probleme je preko redukcije problema na više binarnih klasifikacijskih problema, npr. za K-klasni problem: Jedan-nasuprot-ostalih => (K binarnih klasifikatora) Svaki-protiv-svakog => (K*(K-1)/2 binarnih klasifikatora) ECOC Error Correcting Output Codes ( u jednom od slijedećih predavanja) 45
SVM Regresija Problem min w C n E ε y n f x n + λ w Gdje je E ε y n f x n = 0 za y n f x n < ε y n f x n ε, inače E ε (x) x ε insensitive tube 46
Karakteristike SVM-a Jedna od najuspješnijih metoda strojnog učenja ukupno gledajući Popularna linearni SVM + text mining U praksi mnoge druge metode rade otprilike isto dobro Postoji mnogo usporedbi koje to pokazuju Važno je: Razumijevanje i iskustvo za efektivno korištenje Odabir kernela, odabir parametara (C, parametri kernela) Najbolje je napraviti tzv. grid search eksperiment preko intervala parametara kombinirati sa selekcijom varijabli (postoje SVM varijante koje implicite uključuju selekciju varijabli min norme w) 47
Sažetak Definiranje plohe razdvajanja preko potpornih vektora Potporni vektor = kritične točke (primjeri) najbliži plohi razdvajanja Optimizacija margine razdvajanja primjera različitih klasa kvadratni optimizacijski problem s linearnim ograničenjima Pojam kernela: Moćan alat za mapiranje u visoko-dimenzionalne prostore, kao i (re)definiranje metrika sličnosti 48
Literatura SVM literatura i materijali The Elements of Statistical Learning Hastie, Tibshirani, Friedman (1st ed - ch. 11) A Tutorial on Support Vector Machines for Pattern Recognition (1998) Christopher J. C. Burges Christopher M. Bishop. Pattern recognition and machine learning, Springer, 2006. Kristin P. Bennet and Campbell. Support Vector Machines: Hype or Hallelujah? SIGKDD Explorations, vol. 2, 2000 Michael E. Mavroforakis and Sergios Theodoridis. A Geometric Approach to Support Vector Machine (SVM) Classification IEEE Transactions on Neural Networks, 2006 A User's Guide to Support Vector Machines, Ben-Hur & Weston 49
Literatura SVM Software preporuke WEKA SMO (Sequential Minimization Opt. - SVM) R e1071, kernlab paketi SVM-Light (T Joachims) LibSVM (Chang &Lin) 50