svm, kernel módszerek

38
SVM, kernel módszerek SVM, kernel módszerek Szabó Zoltán Szabó Zoltán

Upload: totie

Post on 12-Jan-2016

68 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: SVM, kernel módszerek

SVM, kernel módszerekSVM, kernel módszerek

Szabó ZoltánSzabó Zoltán

Page 2: SVM, kernel módszerek

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/

Page 3: SVM, kernel módszerek

Példa I.Példa I.

Osztályozás:Osztályozás: ?

Page 4: SVM, kernel módszerek

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}

Page 5: SVM, kernel módszerek

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

Page 6: SVM, kernel módszerek

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.

Page 7: SVM, kernel módszerek

Nagy margin elv rajzbanNagy margin elv rajzban

?

Page 8: SVM, kernel módszerek

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

Page 9: SVM, kernel módszerek

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

Page 10: SVM, kernel módszerek

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|+

Page 11: SVM, kernel módszerek

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

Page 12: SVM, kernel módszerek

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

Page 13: SVM, kernel módszerek

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

Page 14: SVM, kernel módszerek

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

Page 15: SVM, kernel módszerek

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

Page 16: SVM, kernel módszerek

Kvadratikus programozás (QP)Kvadratikus programozás (QP)

Feladat:Feladat:

Matlab: quadprogMatlab: quadprog

.:,,2

1min bxAxfxHxx

hogyfeltéveT

QP-megoldó megoldásfeladat

pl

Page 17: SVM, kernel módszerek

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:

Page 18: SVM, kernel módszerek

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

Page 19: SVM, kernel módszerek

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

Page 20: SVM, kernel módszerek

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

Page 21: SVM, kernel módszerek

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

Page 22: SVM, kernel módszerek

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

Page 23: SVM, kernel módszerek

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

Page 24: SVM, kernel módszerek

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.

Page 25: SVM, kernel módszerek

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

Page 26: SVM, kernel módszerek

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.

Page 27: SVM, kernel módszerek

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

)(),()(

Page 28: SVM, kernel módszerek

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)(

Page 29: SVM, kernel módszerek

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

Page 30: SVM, kernel módszerek

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.

Page 31: SVM, kernel módszerek

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

Page 32: SVM, kernel módszerek

KapcsolatokKapcsolatok

SVM, kernel módszerek

Gauss folyamatok (GP)

Regularizáció

Ritka reprezentáció

Bayesi keretben (MAP becslés)

Page 33: SVM, kernel módszerek

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

Page 34: SVM, kernel módszerek
Page 35: SVM, kernel módszerek

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)

Page 36: SVM, kernel módszerek

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

Page 37: SVM, kernel módszerek

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

Page 38: SVM, kernel módszerek

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|