Az eddigiekben láttuk, hogy a bázisfüggvényes hálózatok értelmezhetők kernel gépként is, amennyiben a jellemzőtérből a belső szorzat felhasználásával áttérünk a kernel térre. A kernel interpretáció származhat újfajta megközelítésből (szupport vektor gépek), melynek nincs a klasszikus neuronhálók között ekvivalense, de olyan úton is származtatható, hogy az eredmény valójában a klasszikus bázisfüggvényes megoldással ekvivalens (LS-SVM, ridge regresszió és változataik). Az előbbi esetben a komplexitásra vonatkozó előnyökön túl további előnyök is jellemzik a kernel gépeket: a szupport vektor gépeknél az általánosító-képességre is megfogalmazhatók állítások. Az utóbbi esetben ilyen következménye nincs a kernel megközelítésnek. A komplexitás jelentős redukciója, a limitált komplexitás biztosítása azonban önmagában is jelentős előny. Az LS-SVM vagy a ridge regressziós megközelítést tehát érdemes akkor is alkalmazni, ha ezzel csupán a kapott háló komplexitását tudjuk redukálni. Ennek különösen akkor van jelentősége, ha az eredeti változatot a nagy komplexitás miatt esetleg meg sem tudjuk valósítani, miközben a kernel változat könnyen implementálható. Ilyen esetre ad példát az előző fejezetben bemutatott CMAC háló, amely számos előnyös tulajdonsága ellenére, többdimenziós esetben komplexitás-problémák miatt csak korlátozottan alkalmazható.
A következőkben azt mutatjuk be, hogy ez a komplexitás-probléma a kernel reprezentáció segítségével hogyan oldható meg. A kernel-CMAC származtatásához induljunk ki a CMAC válaszát megadó (5.48) összefüggésből:
y(x)=a(x) Tw. (6.135)
A választ megkapjuk, ha az optimális súlyvektor (5.55) kifejezését ebbe behelyettesítjük. Ezzel egy adott x-re a CMAC válasza:
(6.136)
Vegyük észre, hogy ez az összefüggés formailag azonos az egyszerű kernel gép válaszával ((1.9) összefüggés), ha az ottani
bemenet helyére a CMAC kimeneti rétegének bemenetét (az asszociációs vektort) helyettesítjük, és hasonlóan az
mátrix helyére az asszociációs mátrixot A-t írjuk. A CMAC bázisfüggvényes háló, tehát az asszociációs vektor a bázisfüggvényes hálók
vektorának felel meg. Vagyis a CMAC válasza az (6.14) összefüggéshez hasonlóan kernel formában is megadható:
. (6.137)
A kernel függvény a CMAC-nál az asszociációs vektorok skalár szorzataként származtatható:
. (6.138)
Az
vektor a kernel térbeli súlyvektor:
(6.139)
Előfordulhat, hogy az
mátrix nem invertálható, pl. numerikus problémák miatt. Ekkor a szokásos regularizáció alkalmazható, vagyis
helyett a regularizált (
) mátrixot invertáljuk. Vegyük észre, hogy ekkor valójában egy eltolásérték (bias) nélküli LS-SVM-et oldottunk meg, hiszen – mint láttuk – a mátrix inverziónál bevezettet regularizáció hatása ekvivalens egy olyan LS-SVM megoldásával, ahol a kritériumfüggvénybe a súlyvektor hosszának négyzete, mint minimalizálandó mennyiség is szerepel.
A kernel reprezentáció előnye nyilvánvaló: amíg az eredeti jellemzőtérbeli reprezentációnál a wi súlyok száma a tanítópotok számánál jóval nagyobb (ld. a (5.50)-(5.52) összefüggéseket), addig a kernel térbeli α i súlyok száma a tanítópontok számával egyezik meg. A különbség különösen többdimenziós esetben jelentős. Az 5. fejezetben láttuk, hogy a súlymemória többdimenziós esetben még viszonylag kisméretű (néhány dimenziós) feladatnál is olyan óriási, hogy semmilyen eszközzel nem implementálható. A különféle módosítások (hash kódoló réteg bevezetése, a többdimenziós feladat egy- vagy kétdimenziós részfeladatokra való dekomponálása, stb.) célja az volt, hogy a hatalmas méretű memóriát megvalósítható méretűre redukáljuk. Láthatóan a kernel reprezentáció is egy eszköz az extrém komplexitás letörésére.
A kernel térben a CMAC válaszát kernel függvények súlyozott összegeként állítjuk elő. A kernel gépekre ugyanakkor az is jellemző, hogy a kernel függvényekből indulunk ki, és a jellemzőtérbeli leképezés nemlineáris transzformációját megvalósító
leképezést csak implicit módon határozza meg a kernel függvény. A kernel CMAC-nál nem ez a helyzet. Itt valóban a CMAC négyszögletes (bináris) bázisfüggvényeiből belső szorzat útján határozzuk meg a kernel függvényeket.
A bináris véges tartójú bázisfüggvények miatt kernel függvényként egydimenziós esetben a háromszögfüggvényt kapjuk. Többdimenziós esetben a kernel függvény attól függ, hogy teljes lefedést vagy csak C-szeres lefedést alkalmazunk. Az eredeti Albus CMAC esetében az extrém komplexitás miatt a teljes lefedés szóba sem kerülhet, ha a bemeneti dimenzió 3-4-nél nagyobb. A kernel reprezentációnál azonban a komplexitást nem a jellemzőtér, hanem a kernel tér dimenziója határozza meg. A kernel tér dimenziója semmiképpen sem lehet nagyobb, mint a mintapontok száma, bármekkora – akár végtelen – is a jellemzőtér dimenziója. Ez azt jelenti, hogy a kernel reprezentáció esetén nincs szükség a lefedések számának korlátozására, a teljes lefedés is alkalmazható. A kétféle megoldás mindössze annyiban tér el egymástól, hogy más kernel függvényt eredményez, de a kernel függvények száma azonos lesz.
A teljes lefedés azzal az előnnyel is jár, hogy így elkerülhető a C-szeres lefedés következtében előálló approximációs képességbeli korlátozás. Láttuk, hogy többdimenziós esetben a C-szeres lefedésű bináris CMAC csak az additív függvényeket tudja hibátlanul megtanulni (ld. (5.58) konzisztencia-egyenlet). Teljes lefedés, illetve az annak megfelelő kernel változat mellett ez a korlátozás megszűnik.
A 6.20 ábrán a bináris CMAC kernel függvényét mutatja egydimenziós (a) és többdimenziós esetben. A többdimenziós CMAC-nál mind a C-szeres lefedésnek (b), mind a teljes lefedésnek (c) megfelelő kernel függvény látható. A teljes lefedéshez tartozó kernel függvényt kvantált változatban is megadjuk (d).
A kernel változatnak azonban van egy hátrányos következménye. Az ábrából látható, hogy a kernel függvények már nem bináris függvények, emiatt a kimenet előállításánál a szorzásokat ténylegesen el kell végezni, a szorzónélküli felépítés, mint előnyös tulajdonság elveszett. A véges tartójú bázisfüggvények következtében azonban a kernel függvények is véges tartójúak, ami azt jelenti, hogy adott bemenet mellett a kimenet előállításában a kernel függvényeknek csak egy töredéke vesz részt, így a szorzások száma is erősen korlátozott.
A válaszokat tekintve a kernel változat ekvivalens az eredeti változattal. Ez azt jelenti, hogy a kernel reprezentáció mellett is megjelenik a nagy általánosítási hiba mindazon esetekben, ha a C/t nem egész (t az egyes dimenziók mentén az egyenletesen elhelyezkedő mintapontok távolságát jelenti kvantumokban mérve). Ennek a hibának a jelentős mérséklését egy súlykiegyenlítő vagy súlysimító regularizáció alkalmazásával értük el (ld. 5. fejezet). A következőkben röviden azt foglaljuk össze, hogy ez a súlykiegyenlítő regularizációa kernel CMAC esetében is alkalmazható.
6.5.1. Kernel CMAC súlykiegyenlítő regularizációval
A regularizált kernel CMAC megoldását a minimalizálandó kritériumfüggvény felírásából származtathatjuk [Hor07].
(6.140)
ahol aj,i a j-edik bemenethez rendelt asszociációs vektor i-edik bitje. (A továbbiakban a négyzetes hibatag együtthatóját γ-val jelöljük az eddigi C-vel szemben, hogy a CMAC C paraméterével való jelölésbeli ütközést elkerüljük.) Látható, hogy a kritériumfüggvény az LS-SVM kritériumfüggvényének felel meg, azzal a különbséggel, hogy egy regularizációs taggal bővült. A regularizációs tag együtthatója λ. Valójában az LS-SVM kritériumfüggvénye is értelmezhető regularizált kritériumfüggvényként, így itt most két egymástól független regularizációt alkalmazunk.
Az LS-SVM-nél szokásos utat követve felírhatjuk a Lagrange függvényt:
, (6.141)
ami a következő alakra hozható:
(6.142)
ahol diag(aj) egy olyan diagonálmátrix, melynek főátlójában aj található. A megfelelő deriválások és behelyettesítések elvégzése után itt is egy lineáris egyenletrendszert kapunk, melynek megoldása:
. (6.143)
Itt
és
. (6.144)
a regularizált esetnek megfelelő kernel mátrix. Látható, hogy a regularizáció hatására a kernel mátrix megváltozott. A regularizáció tehát módosítja a kernel függvényt. A (6.138) által megadott kernel függvény helyett a
. (6.145)
kernel függvényt kapjuk. Mivel D a tanítópontok elhelyezésének függvénye, valójában adatfüggő kernel függvényt kaptunk. A kernel függvény azonban csak a tanítópontoknak a bemeneti térben való elhelyezkedésétől függ, a kívánt válaszoktól nem.
A háló válasza a regularizált esetben a következőre adódik:
. (6.146)
Ez az alábbi formában is felírható:
, (6.147)
ahol a
együtthatóvektor a módosított kernel függvényekkel felépített kernel térbeli megoldás súlyvektorát jelöli:
. (6.148)
A regularizálás a kernel reprezentációs megoldás mellett is biztosítja a háló sima válaszát, tehát az általánosítóképesség jelentős javítását. A regularizált kernel CMAC tehát nemcsak a komplexitás jelentős redukcióját biztosítja, hanem az approximációs- és általánosítóképességet is javítja.
A regularizált kernel CMAC azon túl, hogy egy jobb tulajdonságú tanuló rendszert eredményez, arra is 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.