Liniowość PCA

35

PCA jest uważana za procedurę liniową, jednak:

PCA(X)PCA(X1)+PCA(X2)++PCA(Xn),

gdzie . To znaczy, że wektory własne uzyskane przez PCA na macierzach danych nie sumują się do zrównania wektorów własnych uzyskanych przez PCA z sumą macierzy danych . Ale nie jest to definicja funkcji liniowej która:X i X i fX=X1+X2++XnXiXif

f(x+y)=f(x)+f(y)?

Dlaczego PCA jest uważane za „liniowe”, jeśli nie spełnia tego bardzo podstawowego warunku liniowości?

AlphaOmega
źródło
Kiedyś napisałem lub usłyszałem (przepraszam, nie pamiętam gdzie i kiedy), że PCA „należy do rodziny procedur liniowych”, ponieważ opiera się na liniowych zależnościach między zmiennymi. Wykorzystuje macierz korelacji Pearsona i szuka kombinacji liniowych o największej wariancji.
Łukasz Deryło,
4
Natura tego pytania może stać się nieco jaśniejsza, biorąc pod uwagę znacznie prostsze i rutynowe ustawienie zwykłej regresji metodą najmniejszych kwadratów: jest to archetyp liniowej procedury statystycznej. Niemniej jednak proces szacowania współczynników najmniejszych kwadratów jest wyraźnie nieliniową funkcją macierzy danych , o czym świadczy wzór . (Zauważ, że jest to funkcja liniowa wektora odpowiedzi .)β = ( X ' X ) - 1 x ' y yXβ^=(XX)1Xyy
whuber
4
Warto pamiętać, że f (x) = x + 1 jest również „funkcją liniową” ... ale nie spełnia tego, co właśnie powiedziałeś ... co powinno coś wyjaśnić.
Mehrdad,
To dlatego, że(X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel Romon

Odpowiedzi:

39

Kiedy mówimy, że PCA jest metodą liniową, odnosimy się do mapowania zmniejszającego wymiary z przestrzeni o wysokich wymiarach do przestrzeni o niższych wymiarach . W PCA to odwzorowanie jest podane przez pomnożenie przez macierz wektorów własnych PCA, a zatem jest ewidentnie liniowe (mnożenie macierzy jest liniowe):Jest to w przeciwieństwie do nieliniowych metod redukcji wymiarowości , w których mapowanie zmniejszające wymiarowość może być nieliniowe.R p R k x z = f ( x ) = Vx .f:xzRpRkx

z=f(x)=Vx.

Z drugiej strony, najwyższych wektorów własnych oblicza się z macierzy danych przy użyciu tego, co nazwałeś w twoim pytaniu: a to mapowanie jest z pewnością nieliniowe: obejmuje obliczenie wektorów własnych macierzy kowariancji, co jest procedurą nieliniową . (Jako trywialny przykład, mnożenie przez zwiększa macierz kowariancji o , ale jej wektory własne pozostają takie same, jak są znormalizowane, aby miały długość jednostkową.)kVRp×kXRn×pPCA()

V=PCA(X),
X24
ameba mówi Przywróć Monikę
źródło
To, że otrzymałem 35 głosów pozytywnych za tę trywialną odpowiedź, jest dość śmieszne (i wynika głównie z tego, że ten wątek jest przez jakiś czas w Hot Network Questions).
ameba mówi Przywróć Monikę
5

„Liniowy” może oznaczać wiele rzeczy i nie jest stosowany wyłącznie w sposób formalny.

PCA nie jest często definiowane jako funkcja w sensie formalnym, dlatego też nie oczekuje się, że spełni wymagania dotyczące funkcji liniowej, gdy zostanie opisana jako taka. Jest to częściej opisywane, jak powiedziałeś, jako procedura, a czasem algorytm (chociaż nie podoba mi się ta ostatnia opcja). Często mówi się, że jest liniowy w nieformalny, nie dokładnie zdefiniowany sposób.

PCA można na przykład uznać za liniowe w następującym znaczeniu. Należy do rodziny metod, które uważają, że każda zmienna może być aproksymowana funkcją gdzie a to zbiór zmiennych z pewnymi pożądanymi własność. W przypadku PCA jest zbiorem zmiennych niezależnych, które można zmniejszyć licznością przy minimalnej utracie dokładności aproksymacji w konkretnym sensie. Są to pożądane właściwości w wielu ustawieniach.Xi

XifY(α)
αRkYkY

Teraz, PCA, każdy jest ograniczony do postaci to jest kombinacja liniowa zmiennych .fi

fY(α)=i=1kαiYi
Y

Biorąc pod uwagę to ograniczenie, oferuje procedurę znajdowania optymalnych (w pewnym sensie) wartości i . Oznacza to, że PCA uważa tylko funkcje liniowe za prawdopodobne hipotezy. W tym sensie myślę, że można go słusznie opisać jako „liniowy”.α i jYαij

broncoAbierto
źródło
3

PCA zapewnia / jest transformacją liniową.

Jeśli weźmiesz mapę powiązaną z określoną analizą, powiedz a następnie .M ( X 1 + X 2 ) = M ( X 1 ) + M ( X 2 )MPCA(X1+X2)M(X1+X2)=M(X1)+M(X2)

Winowajcą jest to, że , i nie są tymi samymi transformacjami liniowymi.P C A ( X 1 ) P C A ( X 2 )PCA(X1+X2)PCA(X1)PCA(X2)


Dla porównania bardzo prosty przykład procesu wykorzystującego transformację liniową, ale nie będącego samą transformacją liniową:

Obrót który podwaja kąt wektora (powiedz punkt w 2-d przestrzeni euklidesowej) z jakimś wektorem odniesienia (powiedz ), nie jest transformacją liniową. Na przykładD(v)v[x,y]=[1,0]

D([1,1])[0,2]

i

D([0,1])[1,0]

ale

D([1,1]+[0,1]=[1,2])[0.78,2.09][1,2]

to podwojenie kąta, które obejmuje obliczenie kątów, nie jest liniowe i jest analogiczne do stwierdzenia ameby, że obliczenie wektora własnego nie jest liniowe

Sextus Empiricus
źródło