380 likes | 548 Views
SVM, kernel módszerek. Szabó Zoltán. Tartalomjegyzék. Példák, szemlélet Definíciók: margin, support vektor pozitív definit, Gram-mtx, kernel RKHS, feature leképezés regularizációs feladat (spec: SVM), QP Reprezentációs tétel Kernelek jellemzése Kapcsolat más feladatosztályokkal
E N D
SVM, kernel módszerek Szabó Zoltán
Tartalomjegyzék • Példák, szemlélet • Definíciók: • margin, support vektor • pozitív definit, Gram-mtx, kernel • RKHS, feature leképezés • regularizációs feladat (spec: SVM), QP • Reprezentációs tétel • Kernelek jellemzése • Kapcsolat más feladatosztályokkal • Gyűjtőoldal: http://www.kernel-machines.org/
Példa I. ? • Osztályozás:
Hipersík tanfolyam {x: <w,x>+b=0} w {x: <w,x>=0} w |b| / ||w|| Origó {x: <w,x>+b<0} {x: <w,x>+b>0}
Elválasztó hipersík marginja • d+: H-hoz legközelebbi pont táv-a a + osztályból • d-: uígy • Margin: d=d++d- H1 w H2 + osztály d+ d- - osztály H={x: <w,x>+b=0}
SVMC alapgondolata: large margin elv • Tanítóminta: (xi,yi), i=1…l, yi: +/- 1 • Cél: szétválasztó hipersík [(w,b) pár], amely jól általánosít • SVMC: • Halmazok közti választóvonalat keres, amely mindkét halmaztól ugyanolyan távol van. • Az ilyenek közül a legnagyobb marginnal rendelkezőt választja.
support vektor (SV) Formálisan I/a. Hopt • Fix w irány mellett, (w,b) alkalmas ,,felszorzásával’’ elérhető, hogy • d+ = d- = 1/||w||, így margin = 2 / ||w|| max • Maximumot minimalizálásra cserélve, a feladat:
Formálisan I/b • Idáig lineárisan szétválasztható problémával foglalkoztunk • Az általános esetben ún. soft margin megoldásokhoz folyamodhatunk: • törekvés a helyes osztályozásra • az eltérést büntetjük • Példa:
Formálisan I/c. • Tanítóminta: (xi,yi), i=1…l, yi: +/- 1 • f[w,b](x)=<w,x>+b=<(w,b),(x,1)> • Cél (minimalizálandó költség): 0, ha yi=1 esetén f(xi) >= +1, yi=-1-re f(xi) <= -1 |x|+
Példa II. • Fourier köntösű SVM: • Közelítő függvény család: • Trigonometrikus fg-ek: • (x)=( ,sin(x),cos(x),…sin(Nx), cos(Nx)) • Cél (klasszikus SVM feladat): |x| -
A Fourier trafó • F: Fourier transzformáció [pl: L1(R) L(R)] • Művelettartó leképezés
Példa III. • Közelítés polinomokkal: • Interpoláció: f(xi)=yi, i=1,… • avagy más alakban: f(x)=<w,(1,x,…,xn)>=<w, (x)> xi
Formálisan III. • A pontos közelítés (interpoláció) helyett: • Cél: • Emlék:
Idáig • Feature leképezés: • : x X (minta tér) [H (feature tér),<.,.>] • Közelítő fg osztály: • f(x)=<w, (x)> + b, ahol w H • Feladat: az (xi,yi), i=1…l mintán • Lesz: • <(x),(y)>=k(x,y) kernel (implicit megadás) • (x)=k(.,x)
Kvadratikus programozás (QP) • Feladat: • Matlab: quadprog pl QP-megoldó megoldás feladat
Klasszikus SVM feladat (regresszió) • Közelítés formája: f(x)=<w,(x)>+b • Minimalizálandó funkcionál: • Átskálázva ekvivalens forma:
Primál-duál program • Primál QP: • Duál QP: KKT
A kernel trükk • Ha van egy algoritmus, ami megfogalmazható pusztán skalárszorzat segítségével, az kernelesíthető. • Például: kernel PCA, -ICA, -hebbi tanulás, … • A kernel trükk: • Ha X euklideszi tér: alg. H-ra való nem-lin. ált.-a • Ha X halmaz: • Skalárszorzat-vért = hasonlóság az Input-térre
Szövegeken hasonlósági mérték • Alkalmazás: DNS, szövegkategorizálás • ABC: ={A,T,G,C} bázis, ={a,…z} • Szavak (sztringek): * DNS • Feature leképezés, ami : u* H • (u)=(… , (u=v), …), ahol v * • L:={b1,…,bn} lexikon (szavak/szótagok): (u)=(…,si * |biu| ,…), i=1…n, si súlyok explicit megadás
Döntési felület (osztályozás) • Döntési felület: D(w)={x X: <w,(x)>=0} H: feature tér X: minta tér w + + - + - {y H: <w, y>=0} Minta térben nem (feltétlenül) lineáris Feature térben lineáris
Döntési felület: példa • R2 = X x=(x1,x2) (x)=(x1,x22,x1x2)T • Ekkor D(w), ahol w=(w1,w2,w3)T, a másodfokú egyenlet megoldó képlete szerint:
Feature leképezés helyett: RKHS • Pozitív definit (k: XX-n): • X: tetsz. nem-üres halmaz (pl: [0,1], Rm) • k(x,y) valós értékű, szimmetrikus • ~, ha n, (x1,…xn) Xn esetén G=[k(xi,xj)] mtx pozitív szemidefinit. Más nevén kernel. • Asszociáció: • k: pozitív definit H=H(k) RKHS. Ez X-en értelmezett valós értékű fg-ekből áll. feature tér
H RKHS definíciója • Fg-ek az X-n alkossanak H Hilbert teret. Ekkor a k(x,y) (ahol x,y X) szimmetrikus függvényt reprodukáló kernelnek hívjuk H-n, ha • k(.,x) fg-ek H (bármely x X-re) • f(x)=<f(.),k(.,x)>, bármely x X, f H esetén. • Reprodukáló tulajdonság • Ekkor H-t RKHS-nek nevezzük.
H=H(k): RKHS konstrukciója • k(.,x), x X fg-ek az építőelemek. Ezek véges lineáris kombinációinak a skalárszorzat által indukált norma szerinti teljessé tétel lesz H.
RKHS példa • Legyen (x)=x, ahol (X,<.,.>) Hilbert tér. Ekkor k(x,y)=<(x),(y)>=<x,y>. • Uez a tér k felől megkonstruálva: • k(.,x)=< . ,x> • Véges lineáris kombinációk: • f(.)=i ai <. ,xi> (xi X) • Skalárszorzat: [<.,x>,<.,y>]=k(x,y)=<x,y> • Az x <. ,x> 1-1 értelmű művelettartó leképezés, és X teljes, ezért H-n nincs szükség teljessé tételre.
Reprezentációs tétel • Adott: • mintahalmaz, X (mintatér), k(ernel), • g: [0,) R U{} monoton növő. • Ekkor az fH(k) regularizált funkcionált minimalizáló fg-nek van alakú reprezentációja.
Következmény • Elég: által megparaméterezett formában keresni az optimális megoldást. • Speciálisan: RBF-háló f[w](x)=<w, (x)>
RBF kernel: érdekesség • Az RBF kernel egy végtelen dimenziós egységgömb felületére képez • Egységgömbre, hiszen:
Kernelek konstruálása • Tfh.: ki kernelek. Ekkor az alábbiak is azok: • k(x,y)=k1(x,y)+k2(x,y) • k(x,y)=c*k(x,y) • k(x,y)= k1(x,y)+c • k(x,y)=k1(x,y)*k2(x,y) • k(x,y)=limn->kn(x,y) • k(x,y)=i [ki(xi,yi)] • k(x,y)=i [ki(xi,yi)] • k(x,y)=f(x)*f(y), bármely f: X R fg-re • ahol c: nem-negatív szám. kúp spec. Rn szorzattér ()
Következmény • Teljes polinomális kernel analógiájára: • Exponensbe rakható: • Normalizálás a feature térben ( nélkül!):
Kapcsolatok SVM, kernel módszerek Regularizáció Ritka reprezentáció Bayesi keretben (MAP becslés) Gauss folyamatok (GP)
http://www.kernel-machines.org/ • Irodalom: • bevezetések, publikációk • könyvek (ingyen is) • Szoftver: • Témák: • SVM, GP, mixture models, LP, QP • Nyelvek: • Matlab ( ), C(++), FORTRAN
Gauss folyamatok (GP) I. • z(x): (xX) 0 várható értékű, gauss folyamat • k(x,y)=E[z(x)z(y)]: kovariancia k(x,y) x y X
GP II. • F(k):= ezen sztochasztikus folyamat által feszített Hilbert tér, azaz véges lineáris kombinációk és ezek limeszei a skalárszorzat által indukált norma értelmében.
Izometrikus izomorfia tétel • Parzen tétel: létezik M izometrikus izomorfia H(k) és F(k) közt, azaz másszóval művelet-, skalárszorzattartó, 1-1 értelmű leképezés (X: fix).
Ritka reprezentáció • Girosi: • Feltételek: • zajtalan adatok: f(xi)=yi,c • < f,1>=0, ahol f H a közelítendő célfg • Ekkor ekvivalensek: • Ritka feladat: • SVM (duálja): |x|