svm, kernel módszerek
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
SVM, kernel módszerekSVM, kernel módszerek
Szabó ZoltánSzabó Zoltán
TartalomjegyzékTartalomjegyzék
Példák, szemléletPéldák, szemléletDefiníciók: Definíciók: – margin, support vektormargin, support vektor– pozitív definit, Gram-mtx, kernelpozitív definit, Gram-mtx, kernel– RKHS, feature leképezésRKHS, feature leképezés– regularizációs feladat (spec: SVM), QPregularizációs feladat (spec: SVM), QP
Reprezentációs tételReprezentációs tételKernelek jellemzéseKernelek jellemzéseKapcsolat más feladatosztályokkalKapcsolat más feladatosztályokkalGyűjtőoldal: http://www.kernel-machines.org/Gyűjtőoldal: http://www.kernel-machines.org/
Példa I.Példa I.
Osztályozás:Osztályozás: ?
Hipersík tanfolyamHipersík tanfolyam
{x: <w,x>=0}
{x: <w,x>+b=0}
w
w
|b| / ||w||
Origó
{x: <w,x>+b>0}
{x: <w,x>+b<0}
Elválasztó hipersík marginjaElválasztó hipersík marginja
dd++: H-hoz legközelebbi pont táv-a a + osztályból: H-hoz legközelebbi pont táv-a a + osztályból
dd--: uígy: uígy
Margin: d=dMargin: d=d+++d+d--H1
H2
H={x: <w,x>+b=0}
d-
d+
+ osztály
- osztály
w
SVMC alapgondolata: SVMC alapgondolata: large margin elvlarge margin elv
Tanítóminta: (xTanítóminta: (xii,y,yii), i=1…l, y), i=1…l, yii: +/- 1: +/- 1
Cél: szétválasztó hipersík [(w,b) pár], Cél: szétválasztó hipersík [(w,b) pár], amely jól általánosítamely jól általánosít
SVMC:SVMC:– Halmazok közti választóvonalat keres, amely Halmazok közti választóvonalat keres, amely
mindkét halmaztól ugyanolyan távol van.mindkét halmaztól ugyanolyan távol van.– Az ilyenek közül a legnagyobb marginnal Az ilyenek közül a legnagyobb marginnal
rendelkezőt választja.rendelkezőt választja.
Nagy margin elv rajzbanNagy margin elv rajzban
?
Formálisan I/a.Formálisan I/a.
Fix Fix ww irány mellett, ( irány mellett, (ww,b) ,b) alkalmas ,,felszorzásával’’ elérhető, hogyalkalmas ,,felszorzásával’’ elérhető, hogy
dd+ + = d= d- - = 1/||w||, így margin = 2 / ||w|| = 1/||w||, így margin = 2 / ||w|| max max
Maximumot minimalizálásra cserélve, a Maximumot minimalizálásra cserélve, a feladat:feladat:
reyb
reyb
i
i
1,1,
1,1,
xw
xw
1,
min2
,
by ii
b
xw
ww
support vektor (SV)
Hopt
Formálisan I/bFormálisan I/b
Idáig lineárisan szétválasztható problémával Idáig lineárisan szétválasztható problémával foglalkoztunkfoglalkoztunk
Az általános esetben ún. soft margin Az általános esetben ún. soft margin megoldásokhoz folyamodhatunk:megoldásokhoz folyamodhatunk:– törekvés a helyes osztályozásratörekvés a helyes osztályozásra– az eltérést büntetjükaz eltérést büntetjük
Példa:Példa:
reyb
reyb
c
ii
ii
l
ii
b
1,1,
1,1,
1
2
,min
xw
xw
ww
Formálisan I/c.Formálisan I/c.
Tanítóminta: (xTanítóminta: (xii,y,yii), i=1…l, y), i=1…l, yii: +/- 1: +/- 1
ff[w,b][w,b](x)=<w,x>+b=<(w,b),(x,1)>(x)=<w,x>+b=<(w,b),(x,1)>
Cél (minimalizálandó költség):Cél (minimalizálandó költség):
0, ha y0, ha yii=1 esetén f(x=1 esetén f(x ii) >= ) >= +1,+1,
yyii=-1-re f(x=-1-re f(x ii) <= ) <= -1-1
0)(11
:],[2
1
wxfyl
bwCl
iii
|x|+
Példa II.Példa II.
Fourier köntösű SVM:Fourier köntösű SVM:– Közelítő függvény család:Közelítő függvény család:
Trigonometrikus fg-ek:Trigonometrikus fg-ek:
(x)=( ,sin(x),cos(x),…sin(Nx), cos(Nx))(x)=( ,sin(x),cos(x),…sin(Nx), cos(Nx))
Cél (klasszikus SVM feladat):Cél (klasszikus SVM feladat):
)()(,)cos()sin(1
xfxxibxiacN
iii
w
0)(1
:][2
1
wxfyl
wCl
iii
|x|
-
2
1
A Fourier trafó A Fourier trafó
F: Fourier transzformáció [pl: LF: Fourier transzformáció [pl: L11(R) (R) L L(R)](R)]
Művelettartó leképezésMűvelettartó leképezés
)()()*(
)()(
)()()(
gFfFgfF
fFfF
gFfFgfF
Példa III.Példa III.
Közelítés polinomokkal:Közelítés polinomokkal:– Interpoláció: f(xInterpoláció: f(xii)=y)=yii, i=1,…, i=1,…
– avagy más alakban: f(x)=<w,(1,x,…,xavagy más alakban: f(x)=<w,(1,x,…,xnn)>=<w, )>=<w, (x)>(x)>
in
iiw xwxf
0
)(
xi
Formálisan III.Formálisan III.
A pontos közelítés (interpoláció) helyett:A pontos közelítés (interpoláció) helyett:– Cél:Cél:
Emlék:Emlék:
0)(1
:][2
2
1
wxfyl
wCl
iii
0)(11
:],[2
1
wxfyl
bwCl
iii
0)(1
:][2
1
wxfyl
wCl
iii
IdáigIdáig
Feature leképezés:Feature leképezés: : x : x X (minta tér) X (minta tér) [H (feature tér),<.,.>] [H (feature tér),<.,.>]
Közelítő fg osztály:Közelítő fg osztály:– f(x)=<w, f(x)=<w, (x)> + b, ahol w (x)> + b, ahol w H H
Feladat: az (xFeladat: az (xii,y,yii), i=1…l mintán), i=1…l mintán
Lesz: Lesz: – <<(x),(x),(y)>=k(x,y) kernel (implicit megadás)(y)>=k(x,y) kernel (implicit megadás) (x)=k(.,x)(x)=k(.,x)
min0)(,1
:][2
1
wxfyVl
wCl
iii
Kvadratikus programozás (QP)Kvadratikus programozás (QP)
Feladat:Feladat:
Matlab: quadprogMatlab: quadprog
.:,,2
1min bxAxfxHxx
hogyfeltéveT
QP-megoldó megoldásfeladat
pl
Klasszikus SVM feladat (regresszió)Klasszikus SVM feladat (regresszió)
Közelítés formája: f(x)=<w,Közelítés formája: f(x)=<w,(x)>+b(x)>+b
Minimalizálandó funkcionál:Minimalizálandó funkcionál:
Átskálázva ekvivalens forma:Átskálázva ekvivalens forma:
0)(1
:],[2
1
wxfyl
bwCl
iii
2
1 2
1)(:, wxfycbwC
l
iii
lc
2
1:
Primál-duál programPrimál-duál program
Primál QP:Primál QP:
Duál QP:Duál QP:
1εddyddddGdd2
1 TT*T
dd, *
***max
01dd
0dd,1cT
*
*
2
,,min w
2
11aa
T*
waa, *c
b
0aa *,
)(
)(*iii
iii
axfy
axfy
bxxkddxf i
l
iii
),()(1
*
KKT
A kernel trükkA kernel trükk
Ha van egy algoritmus, ami megfogalmazható pusztán Ha van egy algoritmus, ami megfogalmazható pusztán skalárszorzat segítségével, az kernelesíthető.skalárszorzat segítségével, az kernelesíthető.– Például: kernel PCA, -ICA, -hebbi tanulás, …Például: kernel PCA, -ICA, -hebbi tanulás, …
A kernel trükk:A kernel trükk:– Ha X euklideszi tér: alg. H-ra való nem-lin. ált.-aHa X euklideszi tér: alg. H-ra való nem-lin. ált.-a– Ha X halmaz: Ha X halmaz:
Skalárszorzat-vért = hasonlóság az Input-térreSkalárszorzat-vért = hasonlóság az Input-térre
Szövegeken hasonlósági mértékSzövegeken hasonlósági mérték
Alkalmazás: DNS, szövegkategorizálásAlkalmazás: DNS, szövegkategorizálás
ABC: ABC: ={A,T,G,C} bázis, ={A,T,G,C} bázis, ={a,…z}={a,…z}
Szavak (sztringek): Szavak (sztringek): * DNS* DNS
Feature leképezés, ami Feature leképezés, ami : u : u* * H H (u)=(… , (u)=(… , (u=v), …), ahol v (u=v), …), ahol v **
– L:={bL:={b11,…,b,…,bnn} lexikon (szavak/szótagok): } lexikon (szavak/szótagok):
(u)=(…,s(u)=(…,si i * |b* |biiu| ,…), i=1…n, su| ,…), i=1…n, s i i súlyoksúlyok
explicit megadás
Döntési felület (osztályozás)Döntési felület (osztályozás)
Döntési felület: D(w)={x Döntési felület: D(w)={x X: <w, X: <w,(x)>=0}(x)>=0}
{y H: <w, y>=0}
w
+ ++
- -
X: minta tér H: feature tér
Feature térben lineárisMinta térben nem (feltétlenül) lineáris
Döntési felület: példaDöntési felület: példa
RR2 2 = X = X x=(x x=(x11,x,x22) ) (x)=(x(x)=(x11,x,x2222,x,x11xx22))TT
Ekkor D(w), ahol w=(wEkkor D(w), ahol w=(w11,w,w22,w,w33))TT, a , a
másodfokú egyenlet megoldó képlete másodfokú egyenlet megoldó képlete szerint:szerint:
2
211231
12
32 2
4
2 w
wwxwxx
w
wx
Feature leképezés helyett: RKHSFeature leképezés helyett: RKHS
Pozitív definit (k: XPozitív definit (k: XX-n): X-n): – X: tetsz. nem-üres halmaz (pl: [0,1], RX: tetsz. nem-üres halmaz (pl: [0,1], Rmm))– k(x,y) valós értékű, szimmetrikusk(x,y) valós értékű, szimmetrikus– ~, ha ~, ha n, n, (x (x11,…x,…xnn) ) X Xnn esetén G=[k(x esetén G=[k(xii,x,xjj)] )]
mtx pozitív szemidefinit. Más nevén kernel.mtx pozitív szemidefinit. Más nevén kernel.
Asszociáció:Asszociáció:– k: pozitív definit k: pozitív definit H=H(k) RKHS. Ez X-en H=H(k) RKHS. Ez X-en
értelmezett valós értékű fg-ekből áll.értelmezett valós értékű fg-ekből áll. feature térfeature tér
RKHS definíciójaRKHS definíciója
Fg-ek az X-n alkossanak H Hilbert teret. Fg-ek az X-n alkossanak H Hilbert teret. Ekkor a k(x,y) (ahol x,y Ekkor a k(x,y) (ahol x,y X) szimmetrikus X) szimmetrikus függvényt reprodukáló kernelnek hívjuk H-függvényt reprodukáló kernelnek hívjuk H-n, han, ha– k(.,x) fg-ek k(.,x) fg-ek H (bármely x H (bármely x X-re) X-re)– f(x)=<f(.),k(.,x)>, bármely x f(x)=<f(.),k(.,x)>, bármely x X, f X, f H esetén. H esetén.
Reprodukáló tulajdonságReprodukáló tulajdonság
Ekkor H-t RKHS-nek nevezzük.Ekkor H-t RKHS-nek nevezzük.
H=H(k): RKHS konstrukciójaH=H(k): RKHS konstrukciója
k(.,x), x k(.,x), x X fg-ek az építőelemek. Ezek X fg-ek az építőelemek. Ezek
véges lineáris kombinációinak a véges lineáris kombinációinak a
skalárszorzat által indukált norma szerinti skalárszorzat által indukált norma szerinti teljessé tétel lesz H. teljessé tétel lesz H.
),(:),(),,( yxkykxk
Xxxk i
s
iii
,),(1
RKHS példaRKHS példa
Legyen Legyen (x)=x, ahol (X,<.,.>) Hilbert tér. Ekkor (x)=x, ahol (X,<.,.>) Hilbert tér. Ekkor k(x,y)=<k(x,y)=<(x),(x),(y)>=<x,y>.(y)>=<x,y>.
Uez a tér k felől megkonstruálva:Uez a tér k felől megkonstruálva:– k(.,x)=< . ,x>k(.,x)=< . ,x>– Véges lineáris kombinációk:Véges lineáris kombinációk:
f(.)=f(.)=i i aai i <. ,x<. ,xii> (x> (xii X) X)
Skalárszorzat: [<.,x>,<.,y>]=k(x,y)=<x,y>Skalárszorzat: [<.,x>,<.,y>]=k(x,y)=<x,y>
– Az x Az x <. ,x> 1-1 értelmű művelettartó leképezés, <. ,x> 1-1 értelmű művelettartó leképezés, és X teljes, ezért H-n nincs szükség teljessé tételre.és X teljes, ezért H-n nincs szükség teljessé tételre.
Reprezentációs tételReprezentációs tétel
Adott: Adott: – mintahalmaz, X (mintatér), k(ernel), mintahalmaz, X (mintatér), k(ernel), – g: [0,g: [0,) ) R U{R U{} monoton növő.} monoton növő.
Ekkor az fEkkor az fH(k) H(k)
regularizált funkcionált minimalizáló fg-nek vanregularizált funkcionált minimalizáló fg-nek van
alakú reprezentációja.alakú reprezentációja.
wgxfyxxfyxkoltsegfC lll )(,,),...,(,,:][ 111
l
iii
l
iii xxkxf
11
)(),()(
KövetkezményKövetkezmény
Elég:Elég:
által megparaméterezett által megparaméterezett
formában keresni az optimális megoldást.formában keresni az optimális megoldást.
Speciálisan: RBF-hálóSpeciálisan: RBF-háló
Hxxxw l
l
iii
)(),...,(Im)( 11
ff[w][w](x)=<w, (x)=<w, (x)>(x)>
l
i
ii
xxxf
12
2
2exp)(
RBF kernel: érdekességRBF kernel: érdekesség
Az RBF kernel egy végtelen dimenziós Az RBF kernel egy végtelen dimenziós egységgömb felületére képezegységgömb felületére képez
Egységgömbre, hiszen:Egységgömbre, hiszen:
2
2
2exp),(
yx
yxk
10exp),()(),()( xxkxxx
Kernelek konstruálásaKernelek konstruálása
Tfh.: kTfh.: kii kernelek. Ekkor az alábbiak is azok: kernelek. Ekkor az alábbiak is azok:
– k(x,y)=kk(x,y)=k11(x,y) +k(x,y) +k22(x,y)(x,y)
– k(x,y)=c*k(x,y)k(x,y)=c*k(x,y)
– k(x,y)= kk(x,y)= k11(x,y)+c(x,y)+c
– k(x,y)=kk(x,y)=k11(x,y)*k(x,y)*k22(x,y)(x,y)
– k(x,y)=limk(x,y)=limn->n->kknn(x,y)(x,y)
– k(k(xx,,yy)=)=i i [k[kii(x(xii,y,yii)])]
– k(k(xx,,yy)=)=i i [k[kii(x(xii,y,yii)])]
– k(x,y)=f(x)*f(y), bármely f: X k(x,y)=f(x)*f(y), bármely f: X R fg-re R fg-reahol c: nem-negatív számahol c: nem-negatív szám..
kúp
szorzattér ()Rn
spec.
KövetkezményKövetkezmény
Teljes polinomális kernel analógiájára:Teljes polinomális kernel analógiájára:
Exponensbe rakható:Exponensbe rakható:
Normalizálás a feature térben (Normalizálás a feature térben ( nélkül!):nélkül!):
b
b
a
a
ba
baba ,
,),cos(
)(
)(,
)(
)(
),(),(
),(),(
1
1
1
1
11
1
y
y
x
x
yykxxk
yxkyxk
RcNpcyxkyxk p ,,),(),( 1
R
yxkyxk
,
),(exp),(
21
KapcsolatokKapcsolatok
SVM, kernel módszerek
Gauss folyamatok (GP)
Regularizáció
Ritka reprezentáció
Bayesi keretben (MAP becslés)
http://www.kernel-machines.org/http://www.kernel-machines.org/
Irodalom:Irodalom:– bevezetések, publikációkbevezetések, publikációk– könyvek (ingyen is)könyvek (ingyen is)
Szoftver:Szoftver:– Témák:Témák:
SVM, GP, mixture models, LP, QPSVM, GP, mixture models, LP, QP
– Nyelvek:Nyelvek:Matlab ( ), C(++), FORTRANMatlab ( ), C(++), FORTRAN
Gauss folyamatok (GP) I.Gauss folyamatok (GP) I.
z(x): (xz(x): (xX) 0 várható értékű, gauss folyamatX) 0 várható értékű, gauss folyamat
k(x,y)=E[z(x)z(y)]: kovarianciak(x,y)=E[z(x)z(y)]: kovariancia
X
yx
k(x,y)
GP II.GP II.
F(k):= ezen sztochasztikus folyamat által F(k):= ezen sztochasztikus folyamat által feszített Hilbert tér, azazfeszített Hilbert tér, azaz
véges lineáris kombinációk és ezek limeszei a véges lineáris kombinációk és ezek limeszei a
skalárszorzat által indukált norma értelmében.skalárszorzat által indukált norma értelmében.
Xxxza i
s
iii
,)(1
)()(),( yzxzEyxk
Izometrikus izomorfia tételIzometrikus izomorfia tétel
Parzen tétel: létezik M izometrikus izomorfia Parzen tétel: létezik M izometrikus izomorfia H(k) és F(k) közt, azazH(k) és F(k) közt, azaz
másszóval művelet-, skalárszorzattartó, 1-1 másszóval művelet-, skalárszorzattartó, 1-1 értelmű leképezés (X: fix).értelmű leképezés (X: fix).
)()()(),(: ,1:1 kFxzkHxkM zatskalárszor
Ritka reprezentációRitka reprezentáció
Girosi: Girosi: – Feltételek:Feltételek:
zajtalan adatok: f(xzajtalan adatok: f(xii)=y)=yii,c ,c
< f,< f,1>=0, ahol f 1>=0, ahol f H a közelítendő célfg H a közelítendő célfg
– Ekkor ekvivalensek:Ekkor ekvivalensek:Ritka feladat:Ritka feladat:
SVM (duálja):SVM (duálja):
min2
1)(:,
2
1
wxfycbwCl
iii
1
2
1
),()(2
1min a
a
H
l
iii xkaf
|x|