Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szupportvektor-gépek A diák többsége innen származik: csd

Hasonló előadás


Az előadások a következő témára: "Szupportvektor-gépek A diák többsége innen származik: csd"— Előadás másolata:

1 Szupportvektor-gépek A diák többsége innen származik: http://www. csd

2 Szupportvektor-gépek (SVM)
A kutatási irányt 1979-ben Vladimir Vapnik indította el De a legfontosabb eredmények az 1990-es évekből származnak A módszere gyökerei a lineáris osztályozáshoz kapcsolódnak De majd látni fogjuk, hogy nemlineáris kiterjesztése is van Nagyon elegáns (habár bonyolult) matematikai háttere van A tanulási feladatot kvadratikus optimalizálási feladatra fogjuk visszavezetni, ami globálisan optimális megoldást fog adni Az SVM-et az elmúlt 20 évben sikeresen alkalmazták rengeteg gépi tanulási feladatra A 90-es években ez volt a legnépszerűbb és legsikeresebb gépi tanulási algoritmus

3 Induljunk ki a lineáris osztályozásból
Ha az osztályok lineárisan elvá- laszthatók, akkor általában több megoldás is van A lehetséges megoldások közül (ld. vörös egyenesek) melyiket preferáljuk?

4 Lineáris diszkriminánsfüggvények
Ne feledjük, hogy a tanítópéldák csupán minták a lehetséges esetek végtelen halmazából És szeretnénk olyan osztályozót, amelyik jól általánosít Az adott osztály egy új példája valószínűleg közel lesz az eddigi példákhoz Ezért ha a döntési felület közel húzódik a tanítópéldákhoz, az új példát el fogjuk rontani Ezért a heurisztikánk az lesz, hogy a döntési felületet minél messzebb tegyük a példáktól, ettől jobb általánosítást remélünk

5 Support Vector Machines – Alapötlet
Tehát igyekszünk a döntési felületet minél messzebb tenni mindkét osztály tanítópéldáitól Az optimális szeparáló hipersík egyforma mesze lesz az egyik és a másik osztály legközelebb eső példáitól is

6 SVM – Lineárisan elválasztható eset
Az SVM tanítása során a margó maximalizálására törekszünk Ahol a margó a hipersík és a legközelebbi példa közti távolság kétszerese lesz A maximális margóra törekvés jobb általánosítóképességhez vezet Elméletileg és gyakorlatilag is

7 SVMs – Lineárisan elválasztható eset
A elválasztó hipersíkhoz legközelebb eső pontokat nevezzük szupport-vektornak Ezeket a pontokat a legnehezebb osztályozni A hipersíkot a szupportvektorok egyértelműen meghatározzák Csak persze csupán az optimális hipersík megtalálása után fogjuk tudni megmondani, hogy mely tanítópéldák a szupport vektorok

8 A margó formalizálása Emlékezzünk, hogy tetszőleges x pont döntési felülettől (ahol g(x)=0) vett távolsága És hogy a távolság ugyanaz marad, ha g(x)-et megszorozzuk egy nemnulla konstannsal: Emiatt a margó minimalizálása nem egyértelműen definiálja g(x)-et Azért, hogy a megoldás egyértelmű legyen, kikötjük hogy bármely xi szupportvektorra

9 A margó formalizálása Ezzel a megkötéssel minden szupportvektorra
A margó mérete pedig:

10 A margó formalizálása Tehát a margó méretét akarjuk maximalizálni
Úgy, hogy minden pont helyesen legyen osztályozva, és a margón is kívül essen: A lineáris osztályozóknál látott normalizálási lépéshez hasonlóan a negatív osztály példáit megszorozzuk -1-gyel E célra bevezetjük a z változót:

11 A margó maximalizálása
A margó maximalizálása helyett a reciproka (négyzetét) minimalizáljuk Az alábbi feltételekkel:_ J(w) kvadratikus függvény, egyetlen globális optimuma van Ez egy kvadratikus optimalizálási feladat lineáris feltételekkel Az optimalizálás kvadratikus programozással oldható meg A Kuhn-Tucker szerint a feladat átalakítható az alábbi alakra: Ahol αi új változókat jelent (tanítópéldánként egyet)

12 A margó maximalizálása
LD(α) így is felírható: Ahol H egy nxn-es mátrix, és LD(α) kvadratikus programozással optimalizálható Tfh. megkaptuk az α=(α1,…, αn) megoldást Ekkor minden egyes tanítópéldára vagy αi=0 vagy αi≠0 és Azok a példák lesznek a szupportvektorok, amelykre αi≠0!

13 A margó maximalizálása
A w súlyvektor így számítható ki: A w0 konstans pedig bármelyik xi példából megkapható, amelyre αi>0: A fenti kettőből a diszkriminánsfüggvény így áll össze: Ahol S a szupportvektorok halmaza Vegyük észre, hogy diszkriminánsfüggvény csakis a szupportvektoroktól függ, a többi tanítópéldától független! Sajnos a szupportvektorok száma általában lineárisan nő a tanítópéldák számának növekedésével Az SVMs tanítása lassú: Az nxn-es H mátrixszal kell számolgatni Sokféle módosítást javasoltak a műveletigény csökkentésére

14 SVM – lineárisan nem elválasztható eset
A valós életbeli feladatoknál a lineáris elválaszhatóság általában nem teljesül – Ekkor tudjuk-e használni az SVM-et? Igen, de meg kell engednünk, hogy a példák a rossz oldalra essenek Az optimalizálás során ezeket a példákat „megbüntetjük” Ehhez bevezetjük a ξ1,…, ξn változókat (minden tanítópéldához egyet) ξ1 értéke az xi margótól vett távolságától függ ξ=0 lesz azokra a példára, amelyek jó oldalra esnek, és a margón is kívül esnek 0<ξ1<1 lesz a büntetés értéke, ha a példa a jó oldalra esik, de belül van a margón ξ>1 jelzi, ha a példa a rossz oldalra esik A feltételek így módosulnak: helyett (“soft margin”)

15 SVMs – lineárisan nem elválasztható eset
A minimalizálandó célfüggvényt kiegészítjük: Ahol C egy új paraméter, amellyel a „büntetőtag” figyelembe vételének súlyát állíthatjuk Nagyobb C kevésbé enged rossz helyre eső mintákat Kisebb C mellett inkább a margó optimalitásán van a hangsúly

16 SVMs – lineárisan nem elválasztható eset
Tehát az alábbi célfüggénvt kell minimalizálnunk: Az alább feltételek mellett: A Kuhn-Tucker tétel szerint ez ismét átalakítható az alábbi kvadratikus optimalizálási feladattá: a megoldás a lineárisan elválasztható esettel teljesen analóg Csupán a feltételek mások kicsit

17 Nemlináris SVM A látott lineáris SVM továbbra is lineáris szeparációt valósít meg De mint mondtuk, ez nem elég rugalmas valós feladatok megoldására Az SVM módszert nemlineáris szeparálásra is képessé tesszük az adatok magasabb dimenziószámú térbe való (nemlineáris) vetítésével Cover tétele: az osztályozási feladat nemlineárisan magasabb dimenziószámú térbe vetítve nagyobb eséllyel lesz lineáris szeparálással megoldható, mint az eredeti térben Példa: 1D feladat, lineárisan nem szeparálható  2D feladat, lineárisan szeparálható Itt az újonnan bevezetett dimenzió x2-nek felel meg

18 Nemlináris SVM Az adatokat az új térbe vetítő függvényt φ(x) fogja jelölni A nemlineáris osztályozás fő lépései ezek lesznek: Az adatpontokat az új térbe képezzük le φ(x) segítségével Az új jellemzőtérben megkeressük a lineáris diszkriminánsfüggvényt A kapott diszkriminánsfüggvényt visszavetítjük az eredeti térbe, ahol az már nem lesz lineáris:

19 Még egy példa a jellemzőtér levetítésére

20 Még egy példa A két osztály nem elválasztható az eredeti 2D térben, de lineárisan elválaszthatóvá válnak a leképezett 3D térben

21 Osztályozás magasabb dimenzióban
Magasabb dimenziószámú térbe vetítve az osztályok jó eséllyel lineárisan elválaszthatóvá válnak De mi a kockázta a magasabb dimenziójú térben való osztályozásnak? A túltanulás kockázta megnő (lásd “curse of dimensionality” tétel!) A számításigény szintén megnő Szerencsére az SVM tanítóalgoritmusa nem igazán érzékeny a jellemzőtér dimenziószámára Meg lehet mutatni, hogy az SVM általánosító képessége a margó méretétől függ, és nem a dimenziószámtól A magasabb dimenziószámú térben a műveleteket implicit módon, az ún. kernel-függvény segítségével fogjuk elvégezni Ezzel a trükkben akár végtelen dimenziós térben is fogunk tudni dolgozni!

22 A “kernel trükk” A maximalizálandó függvényünk így nézett ki:
Azaz a tanítópéldákra közvetlen módon nincs szükség, csupán a páronkénti belső szorzatukra: xitxj-re (ami skalár) Ha az adatokat egy nagyobb dimenziószámú térbe vetítjük φ(x) segítségével, akkor x helyett φ(xit)φ(xj)-re lesz szükség De ezek közvetlen szorzását el szeretnénk kerülni, mivel egy magas dimenziószámú térben vannak A megoldás a “kernel trükk”: keresünk egy olyan K(xi,xj) kernel-függvényt, amelyre Ennek révén ahelyett, hogy kiszámolnánk φ(xit)-t és φ(xj)-t, majd pedig a belső szorzatukat, csupán K(xi,xj)-t kell kiszámolni, ami viszont az eredeti, kisebb dimenziószámú térben van!

23 Kernel-függények Természetesen egy tetszőleges K(xi,xj) függvény nem fog megfelelni két vektor φ(xit)φ(xj) belső szorzatának Vagyis nem lehet csak úgy ötletszerűen K(xi,xj) függvényt választani Az ún. Mercer-feltétel mondja meg, hogy mely K(xi,xj) függvények feleltethetőek meg egy másik térben két vektor belső szorzatának Példa: Tfh. az eredeti terünk kétdimenziós A kernelfüggvény pedig ez lesz: Megmutatjuk, hogy tényleg felírható két vektor belső szorzataként: Azaz felírtuk K(x, y)-et belső szorzatként, ahol

24 Kernel-függvények a gyakorlatbn
Mivel kernel-függvényeket nehéz találni, a gyakorlatban általában sztenderd, jól bevált kernel-függvények közül választunk A legnépszerűbb kernelfüggvények: Polinomiális kernel: Gauss avagy radial basis function (RBF) kernel (végtelen dimenziós térbe való leképezésnek felel meg!): Egy jóval bővebb lista a lehetséges kernel-függvényekről itt található: Sajnos a gyakorlatban nagyon nehéz előre megmondani, hogy egy adott gépi tanulási feladathoz melyik kernel-függvény fog beválni 

25 A diszkriminánsfüggvény
Az SVM lineáris diszkriminánsfüggvényt talál a magasabb dimenziószámú térben: De hogy fog ez kinézni az eredeti térben? Vizsgáljuk csak azokat az eseteket, amikor φ(x) első komponense 1: Ebben az esetben wφ(x) eleve tartalmazni fog egy x-től független komponenst. Mivel ez hasonló szerepet fog játszani, mint w0, w0-t elhagyhatjuk, és feltehetjük, hogy a diszkriminánsfüggvény az alábbi alakú:

26 A diszkriminánsfüggvény
Emlékezzünk vissza, hogy a lineáris SVM az alábbit maximalizálja: Ha a tanítópéldáinkat egy magasabb dimenziószámú térbe vetítjük φ(x) segítségével, akkor a célfüggvény ilyen alakú lesz: A lineáris esetben a súlyvektorunk így nézett ki: Ezért most így fog kinézni:

27 A diszkriminánsfüggvény
A diszkriminánsfüggvény a magasabb dimenziószámú térben lineáris: Az eredeti térben a diszkriminánsfüggvényt a kernel-függvény segítségével számolhatjuk ki: Ami viszont nemlineáris lesz, amennyiben a kernel-függvény is nemlináris

28 Példa – A XOR probléma Ez egy kétosztályos feladvány az alábbi 2-2 példával: Class 1: x1=[1,-1] x2=[-1,1] Class 2: x3=[1,1] x4=[-1,-1] Ez a legegyszerűbb olyan feladat 2D-ben, amely lineárisan nem szétválasztható Az alábbi kernel függvényt fogjuk használni: Ami az alábbi leképezésnek felel meg (2D6D) A megoldáshoz az alábbi maximalizálást kell elvégeznünk: Ezen feltételek mellett:

29 Példa – A XOR probléma A megoldás: α1= α2= α3= α4=0.25
Ami egyúttal azt jelenti, hogy mind a 4 példa szupportvektor lesz A transzformált jellemzőtér 6 dimenzióját az alábbi leképezés állítja elő: Ezért a magasabb dimenziószámú jellemzőtérben kapott lineáris diszkriminánsfüggvénynek is 6 komponense lesz: Mint láthatjuk, ezek közül csak egyetlen komponens nem 0 A diszkriminánsfüggvény az eredeti jellemzőtérben az alábbi lesz:

30 Példa – A XOR probléma A döntési felület ott van, ahol g(x)=0
A döntési felület nemlineáris az eredeti 2D-s jellemzőtérben, viszont lineáris az új, 6D-s jellemzőtérben (amelyből csak 2-t mutat az ábra), és tökéletesen elválasztja a 2 osztály példáit

31 Példa – RBF kernel Az RBF kernel-függvény:
Az ábra szemlélteti, hogy a döntési felületek hogy változnak C (az SVM paramétere) és gamma (a kernel-függvény paramétere) állításával

32 Az SVM kiterjesztése Többosztályos osztályozás:
Az SVM-et nem triviális átalakítani a többosztályos osztályozás esetére De a legegyszerűbb megoldásként mindig használhatjuk a “one against the rest” avagy a “one against one” módszereket (ld. korábban) Valószínűségek becslése: Az SVM kimenete (azaz g(x) értéke) nem értelmezhető az egyes osztályok posterior valószínűségének becsléseként. Többféle megoldást javasoltak rá, hogy hogyan lehet valószínűségi becsléssé átkonvertálni, de ezek mind csak közelítő megoldások Regresszió Az SVM-nek többféle kiterjesztése létezik, amelyek segítségével osztályozás helyett regressziós feladatok megoldására is lehet használni

33 SVM - Összegzés Előnyök: Hátrányok: Elegáns matematikai háttér
Garantált a globális optimumot adó megoldás Jó általánosítási képesség (nem hajlamos túltanulásra) A “kernel trükk” nemlineáris diszkriminánsfüggvényt is képest találni A betanult osztályozó kiértékelésének műveletigénye a talált szupportvektorok számától függ, nem függ sem a tanítópéldák számától, sem pedig a transzformált jellemzőtér dimenziószámától Hátrányok: A tanítás során használt kvadratikus optimalizálás műveletigénye nagyobb, mint a legtöbb más gépi tanulási módszer betanításának műveletigénye Az optimális kernel-függvény kiválasztása nehéz


Letölteni ppt "Szupportvektor-gépek A diák többsége innen származik: csd"

Hasonló előadás


Google Hirdetések