6.6. A kernel gépek összefoglaló értékelése

A kernel megközelítés az adatokból történő tanuló rendszerek konstrukciójánál két szempontból hozott újat.

Az első újdonság a megoldás komplexitásához köthető. A kernel trükk alkalmazása a komplexitást a tanítópontok száma által meghatározott mértékben mindenképpen korlátozza. A kernel reprezentáció önmagában előnyös mindazon esetekben, amikor a bemeneti tér vagy a bemenetből nemlineáris transzformációval előállított jellemzőtér sokdimenziós. A kernel reprezentáció azt teszi lehetővé, hogy a feladat komplexitása a bemeneti tér, illetve a jellemzőtér dimenziójától független lesz. Ebből adódóan a jellemzőtér tetszőlegesen sokdimenziós, akár végtelen dimenziós is lehet. Ezt az előnyt a kernel gépek mindegyike biztosítja.

A második, az összes kernel gép közül az elsősorban Vladimir Vapnik nevéhez köthető szupport vektor gépekhez (SVM) kapcsolódik. A szupport vektor gépek azon túl, hogy a tanítópontokban értelmezett hiba minimalizálását célozzák, azt is célnak tekintik, hogy a megoldás „optimális komplexitású” legyen, ezáltal a modell minőségéről is tudjanak valamit állítani. A modell komplexitásának „mérésére” a szupport vektor gépek a VC-dimenziót alkalmazzák. Az SVM a VC-dimenzió korlátozásával a strukturális kockázat minimalizálás (SRM) elvét valósítja meg. Ennek következménye, hogy az SVM hibájára – a valódi kockázatra – felső korlátok fogalmazhatók meg. Az SRM elv érvényesítését a szupport vektor gépek a súlyvektor hosszának minimalizálása útján biztosítják. A felső korlátok és az SVM egyes változatai közötti kapcsolatot pedig az teremti meg, hogy a súlyvektor hosszának minimalizálása a margó maximalizálásán keresztül a VC-dimenziót is minimalizálja.

A súlyvektor hosszának minimalizálása a többi kernel gép származtatásának is része, vagy része lehet. Ez általánosan is „simító” regularizációs hatást eredményez. Az LS-SVM és a ridge regressziós megoldásoknál, valamint ezek változatainál a simító hatás ellenére jelenleg nincs olyan érvényes eredmény, amely az SVM-hez hasonló felső korlátokat tudna megállapítani. Ez annak ellenére van így, hogy a gyakorlati tapasztalatok szerint a kétféle kernel gép jellegében nagyon hasonló eredményekre vezet. Az SVM és az LS-SVM ilyen szintű kapcsolatának részletes elemzése még hátra van.

Az SVM és a többi kernel gép között abban a tekintetben is eltérés van, hogy a szupport vektor gépek ritka megoldást adnak, kiválogatják azokat a tanítópontokat, melyek a megoldáshoz szükségesek, amelyek a megoldást „tartják”. Hasonlóan ritka megoldás az LS-SVM-nél, illetve a ridge regressziónál is biztosítható (pl. LS2-SVM, RRKRR) , ezekben az esetekben azonban ez nem az alapeljárás része, hanem az alapeljárást követő redukció eredménye.

Bár a kernel gépek alapvetően egy számítási eljárásként jelennek meg, neuronhálóként is értelmezhetők. Mint neuronhálók, a statikus előrecsatolt hálók családjába tartoznak. Ez lehetővé tesz, hogy a klasszikus előrecsatolt statikus hálózatokkal – MLP, bázisfüggvényes hálózatok – is összevetésre kerüljenek. Az MLP-vel való összehasonlítás a legnehezebb, hiszen a kétféle megoldás strukturálisan is eltérő. A kernel gépek és elsősorban az SVM előnye, hogy a komplexitás-problémára megoldást adnak. Minőség tekintetében viszont nem lehet rangsort felállítani, még akkor sem, ha a minőségre vonatkozó korlátok a klasszikus hálókra nem vonatkoznak. A korlátok hiánya ugyanis nem azt mondja, hogy pl. egy MLP-vel nem tudunk hasonlóan jó, vagy netán jobb megoldást is elérni, mint egy SVM-mel, csupán azt, hogy az MLP-vel elérhető valódi kockázatról általános eredményt jelenleg nem tudunk megfogalmazni.

A bázisfüggvényes hálókkal való összehasonlításnál az SVM-et és a többi kernel gépet külön kell vizsgálni. Míg az LS-SVM és a ridge regresszió a különböző változatokkal együtt valójában a bázisfüggvényes hálózatok eltérő, de ekvivalens megvalósítása, az SVM a kiinduló probléma más megfogalmazása miatt elvileg is más eredményt ad. Erre vonatkozó kísérleti eredmények is ezt a különbséget támasztják alá. (ld. pl. az RBF és a Gauss kerneles SVM összehasonlítására vonatkozó eredményt [Sch96]).

A fejezet végén bemutatott kernel CMAC egy konkrét példa a kernel reprezentáció hasznára bázisfüggvényes hálózatoknál. Ennek specialitása a véges tartójú bázisfüggvény és az ebből következő véges tartójú kernel függvény. A regularizált kernel CMAC pedig arra egy példa, hogy regularizációs formában az alapkritérium mellett további mellékfeltételek is belefogalmazhatók egy feladatba. Az eljárás hatékonysága attól függ, hogy az így definiált optimalizálási feladat milyen nehézségek árán oldható meg.

A kernel gépekkel kapcsolatos első eredmények alapvetően a kilencvenes években születtek. A számos nyitott kérdés miatt azonban folyamatosan jelennek meg újabb és újabb eredmények, melyek többirányú kutatás eredményei. A fontosabb irányok: a kernel függvény megválasztása, adaptív és adatfüggő kernel konstrukció, az általánosítóképességre vonatkozó újabb és kevésbé pesszimista korlátok meghatározása, továbbá a ritka megoldások elérése és a számítási komplexitás további mérséklése. Fontos kérdés az is, hogy a kernel gépek alkalmazásával minél több tapasztalat gyűljön össze, melyek a hatékony gyakorlati felhasználást segíthetik. Néhány alkalmazási területről a következő fejezetben lesz szó.

Feladatok

6.1 Mutassa meg, hogy egy x pontnak a wTx+b=0 egyenlettel definiált lineáris szeparáló felülettől való távolsága

r=|wTx+b|wMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOCaiabg2da9maalaaabaWaaqWaaeaacaWH3bWaaWbaaSqabeaacaWGubaaaOGaaCiEaiabgUcaRiaadkgaaiaawEa7caGLiWoaaeaadaqbdaqaaiaahEhaaiaawMa7caGLkWoaaaaaaa@4404@ .

6.2 A XOR probléma megoldásában az (xTx+1)pMathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaiaacIcacaWH4bWaaWbaaSqabeaacaWGubaaaOGaaCiEaiabgUcaRiaaigdacaGGPaWaaWbaaSqabeaacaWGWbaaaaaa@3D14@ polinomiális kernel függvény alkalmazható, ha p=2. Vizsgálja meg a polinomiális kernel alkalmazhatóságát más pozitív egész p értékekre.

6.3 Konstruáljon szupport vektor gépet az egydimenziós sinc függvény approximálására (xTx+1)pMathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVCI8FfYJH8YrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfeaY=biLkVcLq=JHqpepeea0=as0Fb9pgeaYRXxe9vr0=vr0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaiaacIcacaWH4bWaaWbaaSqabeaacaWGubaaaOGaaCiEaiabgUcaRiaaigdacaGGPaWaaWbaaSqabeaacaWGWbaaaaaa@3D14@ polinomiális kernel függvény mellett. Vizsgálja meg p szerepét az approximáció minőségét illetően.

6.4 Készítsen egy osztályozós mintakészletet (ld. 6.21 ábra), valamint egy paraméterezhető (kernel paraméterek – pl. RBF esetén σMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeq4Wdmhaaa@3797@ , CMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4qaaaa@369C@ , εMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyTdugaaa@377B@ ) tesztkörnyezetet, ami egy tanítókészlet alapján megtanít egy SVM osztályozót és meghatározza a hibás osztályozások számát (arányát) a tesztkészletre. (A feladatok során mindig legyen figyelemmel a megoldás hibájára, a számítási időre valamint a szupport vektorok számára.)

  1. Bontsa fel a mintapontokat tartalmazó fájlokat egy tanító és egy teszt készletre. A fájlban a pontok elrendezése (sorrendje) nem ismert, ezért célszerű figyelni arra, hogy mindkét osztályból és egyenletesen válasszunk elemeket. (Segítség: keverje össze az adatfájlt a válogatás előtt.)

  2. Határozza meg az SVM egy olyan paraméterezését, melyre az osztályozás elfogadható eredményt ad. (Segítség: használjon kicsi – max. 200 mintapontból álló – tanítókészletet és Gauss kernelt.)

  3. Vizsgálja meg, hogy hogyan függ az eredmény a kernel függvény megválasztásától. Tesztelje a hálózatot az egyes kernelek paramétereinek változtatásával is.

  4. Hogyan függ az eredmény a CMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4qaaaa@369C@ paraméter megválasztásától?

  5. Vizsgálja meg, hogy hogyan függ az eredmény és a futási idő a tanítópontok számától. (Segítség: célszerű kisebb tanítókészletből kiindulni és addig növelni a pontok számát, amíg a számítás kivárható.)

6.21. ábra - Két lehetséges mintakészlet az osztályozós feladatokhoz.
Két lehetséges mintakészlet az osztályozós feladatokhoz.

6.5 Készítsen egy mintakészletet a sinc(x) függvény pontjaiból, valamint egy paraméterezhető tesztkörnyezetet (kernel paraméterek – pl. RBF esetén σMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeq4Wdmhaaa@3797@ , CMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4qaaaa@369C@ , εMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyTdugaaa@377B@ ), ami egy tanítókészlet alapján megtanít egy SVM regresszort és meghatározza a regresszió négyzetes hibáját.

  1. Bontsa fel a mintapontokat egy tanító és egy teszt készletre (Segítség: Vegye például az adatfájl minden n-edik elemét, vagy keverje össze a mintapontokat és ezt ossza ketté.)

  2. Határozza meg az SVM egy olyan paraméterezését, mely elfogadható eredményt ad. (Segítség: használjon kis – max. 200 mintapont – tanítókészletet és Gauss kernelt.)

  3. Vizsgálja meg, hogy hogyan függ az eredmény a kernel függvény megválasztásától. Tesztelje a hálózatot az egyes kernelek paramétereinek változtatásával is.

  4. Hogyan függ az eredmény a CMathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4qaaaa@369C@ paraméter megválasztásától?

  5. Vizsgálja meg, hogy hogyan függ az eredmény és a futási idő a tanítópontok számától. (Segítség: célszerű kisebb tanítókészlettel indulni és addig növelni a pontok számát, amíg a számítás kivárható.)

6.6 Az előző regressziós feladatokat végezze el LS-SVM illetve LS2-SVM használatával is.

6.7 Származtassa a magasabbrendű CMAC kernel függvényét, ha a CMAC hálózat bázisfüggvénye k-adrendű B-spline.

6.8 Mutassa meg, hogy az RRKRR eljárásnál a bázisvektorok kiválasztásának alapját képező approximációs hiba (6.128) és (6.129) összefüggései ekvivalensek.