Support Vector Machnes Ormánd Róbert MA-SZE Mest. Int. Kutatócsoport 2009. február 17.
Előadás vázlata Rövd bevezetés a gép tanulásba Bevezetés az SVM tanuló módszerbe Alapötlet Nem szeparálható eset Kernel módszer
Gép tanulás célja: Gép tanulás Olyan algortmus fejlesztése, mely működése során szerzett tapasztalatok alapján képes javítan a saját hatékonyságát Osztályozás feladat: Enttásokat szeretnénk előre rögzített számú, smert kategórákba soroln Az enttások leírása általában valós vektorokkal, jellemzővektorokkal történk Rendelkezésünkre áll egy tanuló adatbázs: Jellemzővektorok Helyes osztálycímkék Cél: olyan modell készítése, mely a tanuló adatbázs feldolgozása után képes a tanítás során nem látott enttásokat s jól osztályozn
Osztályozás feladat Jellemző vektorok Osztály címkék ér pontja Színek Legközelebb szomszéd Döntés fa Lneárs elválasztó felület g( x) = w x+ b Nemlneárs elválasztó felület
Lneárs osztályozó g(x) egy lneárs függvény: g( x) = w x+ b x 2 w x + b > 0 Ez egy hpersík a jellemzők terében Osztályozás: az alapján, hogy az osztályozandó pont a hpersík melyk oldalán helyezkedk el n w x + b = 0 w x + b < 0
anítás: határozzuk meg azt az egyenest, amely a lehető legjobban elválasztja tanítópéldákat és várhatóan a tanítás során nem látott pontokat Lneárs osztályozó x 2 jelentse: +1 jelentse: -1 x 1
anítás: határozzuk meg azt az egyenest, amely a lehető legjobban elválasztja tanítópéldákat és várhatóan a tanítás során nem látott pontokat Rengeteg elválasztó egyenes létezk (tanítópéldákra nézve) Melyk ezek közül a legjobb? Lneárs osztályozó x 2 jelentse: +1 jelentse: -1 x 1
Support Vector Machne Az a legjobb elválasztó hpersík, amelynek a margója a lehető legnagyobb Margó: az elválasztó síkkal párhuzamos hpersíkokkal meghatározott térrész,amely nem tartalmaz tanító pontokat Maxmáls margó: Az így választott elválasztó felület jól általánosít jelentse: +1 x 2 jelentse: -1 pont mentes zóna margó x 1
Support Vector Machne Hogyan határozható meg ez a sík? Adott a tanító halmaz: {( x, y)}, = 1,2, L, n, és Feladat: Azt szeretnénk, hogy a For y =+ 1, wx+ b 1 For y = 1, wx+ b 1 feltételek mellett a margó legyen a lehető legnagyobb x 2 jelentse: +1 jelentse: -1 x 1
Support Vector Machne Azokra a pontokra, amk a margót határoló hpersíkra esnek fennáll: + wx + b = 1 wx + b = 1 Ezek segítségével leírható a margó szélessége: + M = ( x x ) n + w = ( x x ) = w 2 w x 2 n x + w x + b = 1 x - x + w x + b = 0 w x + b = -1 Support Vektorok jelentse: +1 jelentse: -1 margó x 1
Ezek alapján a következő feladatot kell megoldan: 2 maxmze w s.t For y =+ 1, wx+ b 1 For y = 1, wx + b 1 Azaz: 1 2 mnmze w s.t. 2 y ( wx+ b) 1 Feladat x 2 n x + w x + b = 1 x + jelentse: +1 jelentse: -1 margó w x + b = 0 w x + b = -1 x - x 1
Feladat megoldása Kvadratkus programozás feladat lneárs feltételekkel s.t. 1 mnmze 2 w y ( wx+ b) 1 2 maxmze s.t. α 0 1 Lagrange szorzók bevezetése, eredet változok szernt parcáls derváltak 0-vá tétele után: n n n α αα jyy j j = 1 2 = 1 j= 1 n xx, and = 1 α y = 0
Feladat megoldása Megmutatható (KK condton alapján), hogy: α ( + ) 1 = 0 A megoldás pedg: ( y wx b ) Azaz, csak a Support vektorok esetében: n α w = α yx = α yx 0 = 1 SV x 2 x + w x + b = 1 x - w x + b = 0 Support Vectors A b pedg az alább egyenletből számítható: x + w x + b = -1 x 1
Feladat megoldása Az elválasztó hpersík egyenlete: g( x) = w x+ b= αx x+ b SV A hpersík egyenlete kfejezhető a tanító példák belső szorzataval Az optmalzácó során szntén csak a tanító példák belső szorzatat használtuk!
Support Vector Machne Poztívumok: Lneárs elválasztó felületet határoz meg (egyszerűség) Maxmáls margó krtérum matt, jól általánosít Csak a tanító pontok belső szorzatara van szükség Kérdések: Hogyan tanuljunk olyan tanítóhalmazokon, amk nem szeparálhatóak lneársan? Hogyan tanuljunk nem lneárs összefüggéseket?
Nem szeparálható eset Kérdés: M történjen, ha a tanító adatbázs nem szeparálható? x 2 Válasz: Vezessünk be hézag változókat, amk leírják azt, hogy a tanító pontok mlyen messze vannak a w x + b = 1 ξ 1 w x + b = 0 w x + b = -1 ξ 2 megfelelő margótól x 1
Nem szeparálható eset Ebben az esetben az alább alakra változk a feladat: s.t. 1 mnmze 2 w y ( wx + b) 1 ξ ξ 0 2 n + C ξ A C paraméterrel szabályozható, hogy a modell mennyre általánosítson: C kcs: a margó maxmalzálás a fontos jó általánosítás, de nagyobb hba = 1 C nagy: a margó maxmalzálás kevésbé fontos kevésbé jól általánosító modell, de ksebb hba
Nem lneárs összefüggések tanulása Kérdés:Hogyan tanulható nem lneárs összefüggések Válasz: Kernel trükk alkalmazásával Φ: x φ(x)
Nem lneárs összefüggések A kernel trükk. tanulása Csak akkor alkalmazható, ha mnd a tanulás mnd a modell használata megoldható a pontok belső szorzatának felhasználásával A kernel függvény megadja, a transzformált pontok belső szorzatát A transzformácót nem kell ténylegesen elvégezn K( x, x ) φ( x ) φ( x ) j j
Köszönjük a fgyelmet!