• Nem Talált Eredményt

Kernel PCA

In document Intelligens adatelemzés (Pldal 26-29)

A PCA során a bemeneti térben keresünk főkomponenseket úgy, hogy a bemenetek megfelelő lineáris transzformációját végezzük. A kernel PCA ezzel szemben nem a bemeneti térben keres főkomponenseket, hanem előbb a bemeneti vektorokat nemlineáris transzformációval egy ún. jellemzőtérbe transzformálja, és itt keres főkomponenseket.

Az eljárás bemutatásához a következő jelölésekből induljunk ki. Jelöljük a bemeneti térből a jellemzőtérbe való nemlineáris transzformációt -vel. A bemeneti tér lehet pl. a valós szám -esek tere, , ekkor a nemlineáris transzformáció -ből egy jellemzőtérbe képez le:

Az jellemzőtér tetszőlegesen sokdimenziós, akár végtelen dimenziós tér is lehet. Tételezzük fel, hogy az térben is fennáll, hogy , ahol a bemeneti vektorok száma. Becsüljük a jellemzőtérbeli kovarianciamátrixot a véges számú mintapont (jellemzőtérbeli vektor) alapján:

A jellemzőtérbeli főkomponensek meghatározásához először most is meg kell határoznunk a kovarianciamátrix nemnulla sajátértékeit és a megfelelő sajátvektorokat, melyek kielégítik a szokásos sajátvektor-sajátérték egyenletet:

majd a jellemzőtérbeli főkomponenseket a jellemzőtérbeli vektorok és az egységnyi hosszúságúra normált sajátvektorok skalár szorzataként kapjuk.

A sajátértékek és a sajátvektorok meghatározásához hasznos, ha felhasználjuk, hogy a kovarianciamátrix sajátvektorai a jellemzőtérbeli vektorok által kifeszített térben vannak:

tehát léteznek olyan együtthatók, melynek segítségével a sajátvektorok előállíthatók a bemeneteket a jellemzőtérben reprezentáló vektorok súlyozott összegeként. A (23) összefüggés felhasználásával azonban meg tudjuk mutatni, hogy a jellemzőtérbeli főkomponensek anélkül is meghatározhatók, hogy a bemeneti vektorok jellemzőtérbeli reprezentációját meghatároznánk.

Ennek érdekében tekintsük a következő egyenletet:

Helyettesítsük ebbe az egyenletbe (17) és (23) összefüggését. Ekkor minden -re a következőt kapjuk:

Vegyük észre, hogy ebben az összefüggésben a jellemzőtérbeli vektorok mindig csak skalár szorzat formájában szerepelnek.

Definiáljunk egy méret kernel mátrixot, melynek -edik eleme:

Ezzel a (25) összefüggés az alábbi tömör formában is felírható:

ahol az oszlopvektor az együtthatókból áll. szimmetrikus mátrix, és ha megoldjuk a következő sajátvektor-sajátérték problémát:

ahol az vektorok sajátvektorai és a értékek a sajátértékek, a megoldás kielégíti a (27) egyenletet is.

Jelöljük nemnulla sajátértékeit nagyság szerint sorbarendezve -vel, a hozzájuk tartozó sajátvektorokat pedig -vel, és legyen az első (legkisebb) nemnulla sajátérték. (Ha feltételezzük, hogy nem azonosan , akkor mindig léteznie kell egy ilyen -nek.) Normalizáljuk az

sajátvektorokat, hogy az térben a következő egyenlőség teljesüljön -re :

Ez a következő normalizálási feltételt szabja az sajátvektorokra:

A főkomponensek meghatározása után szükségünk van még a jellemzőtérbeli vektorok sajátvektorok szerinti vetítésére. Legyen egy tesztpont, képpel -ben, ekkor

A jellemzőtérbeli főkomponens tehát a közvetlenül a kernel értékek függvényében kifejezhető, anélkül, hogy a nemlineáris leképezéseket meg kéne határozni. Tehát itt is a kernel trükköt alkalmazhatjuk, ha a nemlineáris PCA számítását nem a nemlineáris leképezések rögzítésével, hanem a mátrix (a kernel függvény) megválasztásával végezzük. A kernel PCA-nál tehát nem a nemlineáris leképezésekből, hanem a kernel függvényből indulunk ki. A kernel függvény implicit módon definiálja a jellemzőtérbeli leképezést.

Összefoglalva a következő teendőink vannak a főkomponensek meghatározása során. Először meg kell választanunk a kernel függvényt, majd meg kell határoznunk a mátrixot. Ennek a mátrixnak kell kiszámítanunk az sajátvektorait. A sajátvektorok normalizálását követően határozhatjuk meg a bemeneti vektorok jellemzőtérbeli főkomponenseit a (31) összefüggés felhasználásával.

Az eljárás fő előnye abban rejlik, hogy a függvény ismeretére nincs szükségünk, továbbá, hogy míg az eredeti PCA során a kovarianciamátrix mérete a bemeneti dimenziótól függ, addig itt a mátrix méretét a tanítópontok száma határozza meg. Lineáris PCA-nál legfeljebb sajátvektort és így főkomponenst

találunk, ahol a bemeneti vektorok dimenziója. Kernel PCA-nál maximum nemnulla sajátértéket kaphatunk, ahol a mintapontok száma.

2.6.1.1. A nulla várhatóérték biztosítása a jellemzőtérben

A korábbiakban tényéként kezeltük, hogy az térben igaz a megállapítás. Ez nyilvánvalóan nem lehet igaz minden függvényre, így szükségünk van arra, hogy a jellemzőtérbeli vektorokat is átlagértékűvé transzformáljuk. Ez megoldható, ha a vektorokból kivonjuk az átlagukat:

Az eddigi megállapítások szerint most ez alapján kell meghatározni a kovarianciamátrixot, illetve a

mátrixot az térben. Az így kapott mátrix sajátérték-sajátvektor rendszerét kell meghatároznunk:

ahol a sajátvektorok együtthatóit tartalmazza a következő formában:

A mátrix kiszámítása a definíciós összefüggés szerint azonban nem lehetséges a módosított jellemzőtérbeli vektorok ismerete nélkül. Lehetőségünk van viszont arra, hogy a mátrixot -val kifejezzük.

Használjuk a következő jelöléseket: , minden -re és .

Ezek után számítása:

Most már kiszámíthatók a sajátértékek és a sajátvektorok, a főkomponensek számítása pedig ugyanaz, mint a nem központosított adatok esetében.

2.6.1.2. Jelvisszaállítás

Mivel a kernel PCA a jellemzőtérben határoz meg főkomponenseket, ezért a főkomponensekből szintén a jel jellemzőtérbeli reprezentációját tudnánk előállítani. Viszont a kernel trükk miatt valójában nem is dolgozunk a jellemzőtérben, hiszen a jellemzőtérbeli vetületeket is meg tudjuk határozni a kerneltérbeli reprezentáció segítségével. Ha azt szeretnénk tudni, hogy mi a jellemzőtérbeli közelítő reprezentáció hatása a bemeneti térben, akkor a jellemzőtérbeli főkomponensekből vissza kell állítanunk a jelet a bemeneti térben. Ez a feladat egyáltalán nem triviális, sőt nem is feltétlenül egyértelmű. A visszaállításra Sebastian Mika [Mik99] és

munkatársai javasoltak közvetett eljárást. E szerint a bemeneti térben keresünk olyan vektort, amelynek jellemzőtérbeli főkomponensei minél inkább hasonlóak a visszaállítandó adatok főkomponenseihez.

Jelöljük az eredeti adatok főkomponens alapján kapott jellemzőtérbeli közelítő reprezentációját -mel.

Ekkor

vagyis a közelítő reprezentáció a jellemzőtérbeli sajátvektorok lineáris kombinációjaként állítható elő. A visszaállításhoz olyan bemenetet keresünk, melynek a jellemzőtérbeli képe minél kisebb mértékben tér el -től. E mögött az a feltevés áll, hogy ha két vektor jellemzőtérbeli reprezentációja között az eltérés kicsi, akkor a bemeneti térben is kicsi a köztük lévő eltérés. Négyzetes hibakritériumot alkalmazva ez azt jelenti, hogy keressük azt az bemeneti vektort, melyre

minimális. Behelyettesítve (41)-be (40)-at és (23) összefüggését, az eltérésre a következőt kapjuk:

ahol függtelen -től. A (42) kritérium minimumát biztosító gradiens eljárással megkereshető, ha rögzítettük a kernel függvényt.

In document Intelligens adatelemzés (Pldal 26-29)