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.