Czy jądro PCA z jądrem liniowym jest równoważne standardowemu PCA?

17

Jeśli w jądrze PCA wybiorę liniowe jądro , czy wynik będzie inny niż zwykły liniowy PCA ? Czy rozwiązania są zasadniczo różne, czy istnieje jakaś dobrze zdefiniowana relacja?K(x,y)=xy

tgoossens
źródło

Odpowiedzi:

27

Podsumowanie: jądro PCA z liniowym jądrem jest dokładnie równoważne standardowemu PCA.

Niech X będzie wyśrodkowaną macierzą danych o rozmiarze N×D ze zmiennymi D w kolumnach i punktami danych w rzędach. Następnie macierz kowariancji jest podawana przez , jej wektory własne to główne osie, a wartości własne to wariancje PC. W tym samym czasie, można wziąć pod uwagę tak zwane bakterie Gram matrycy o wielkości. Łatwo zauważyć, że ma te same wartości własne (tj. Wariancje PC) aż do współczynnika , a jego wektory własne są głównymi składnikami skalowanymi do normy jednostkowej.D × D XX / ( n - 1 ) X X N × N n - 1ND×DXX/(n1)XXN×Nn1

To był standardowy PCA. Teraz w jądrze PCA rozważamy funkcję która odwzorowuje każdy punkt danych na inną przestrzeń wektorową, która zwykle ma większą wymiarowość , być może nawet nieskończoną. Ideą jądra PCA jest wykonanie standardowego PCA w tej nowej przestrzeni.D n e wϕ(x)Dnew

Ponieważ wymiarowość tej nowej przestrzeni jest bardzo duża (lub nieskończona), obliczenie macierzy kowariancji jest trudne lub niemożliwe. Możemy jednak zastosować drugie podejście do PCA opisane powyżej. W istocie, bakterie Gram matryca będzie nadal te same opanowania wielkości. Elementy tej macierzy podane są przez , który nazwiemy funkcją jądra . Jest to tak zwana sztuczka jądra : tak naprawdę nie trzeba nigdy obliczać , ale tylko . Wektory własne tej macierzy Gram będą głównymi składnikami w przestrzeni docelowej, tymi, którymi jesteśmy zainteresowani.ϕ ( x i ) ϕ ( x j ) K ( x i , x j ) = ϕ ( x i )N×Nϕ(xi)ϕ(xj)K(xi,xj)=ϕ(xi)ϕ(xj)ϕ()K()

Odpowiedź na twoje pytanie staje się teraz oczywista. Jeśli , to gramatyka jądra zmniejsza się do która jest równa standardowej macierzy Gram , a zatem główne składniki nie ulegną zmianie.K(x,y)=xyXX

Bardzo czytelnym odniesieniem są Scholkopf B, Smola A i Müller KR, Analiza głównych składników jądra, 1999 , i zauważ, że np. Na rycinie 1 wyraźnie odnoszą się do standardowego PCA jako tego, który używa produktu kropkowego jako funkcji jądra:

jądro PCA

ameba mówi Przywróć Monikę
źródło
skąd pochodzą te zdjęcia? Z jakiejś książki?
Pinokio
@ Pinokio, rysunek pochodzi z Scholkopf i in. papier, do którego odsyłam i do którego odsyłam w mojej odpowiedzi.
ameba mówi Przywróć Monikę
„Łatwo zauważyć, że ma takie same wartości własne (tj. Wariancje PC) aż do współczynnika n-1 ” - czy to nie znaczy, że nie są one wtedy całkowicie równoważne? Powiedzmy, że mam macierz z n = 10 próbek, d = 200 wymiarów. W standardowym PCA mógłbym rzutować dane do 199 wymiarów, jeśli chciałbym, ale w jądrze PCA z jądrem liniowym mogę tylko do 10 wymiarów.
Cesar
1
@ Cesar, nie, jeśli masz n = 10 próbek, to macierz kowariancji będzie miała rangę 10-1 = 9, a standardowy PCA znajdzie tylko 9 wymiarów (jak również jądro PCA). Zobacz tutaj: stats.stackexchange.com/questions/123318 .
ameba mówi Przywróć Monikę
Otrzymuję plik nie znaleziony dla linku referencyjnego Scholkopf B, Smola A i Müller KR.
możliwy do odczytania
5

XN×DDNX=UΣVUXXX=UΣ2U ma te same lewe wektory pojedyncze, a więc te same główne składniki.

Martha White
źródło
W przypadku standardowego PCA, myślałem, że nam zależy, na SVD macierzy kowariancji, więc tak naprawdę nie rozumiem, w jaki sposób SVD X ma znaczenie, czy możesz rozwinąć?
m0s
@ m0s W przypadku PCA zależy nam na składzie macierzy kowariancji, który zwykle wykonujemy za pomocą SVD (wyśrodkowanej) macierzy danych.
MrDrFenner
1

Wydaje mi się, że KPCA z liniowym jądrem powinien być taki sam jak prosty PCA.

Macierz kowariancji, z której otrzymamy wartości własne, jest taka sama:

linearKPCAmatrix=1lj=1lK(xj,xj)=1lj=1lxjxjT=PCAmatrix

Możesz sprawdzić więcej szczegółów tutaj .

Jundiaius
źródło
3
K(xi,xj)