Czy PCA jest nadal wykonywane przez składową macierz kowariancji, gdy wymiarowość jest większa niż liczba obserwacji?

10

Mam macierz , zawierającą moje próbek w przestrzeni wymiarowej . Chcę teraz zakodować własną analizę głównych składników (PCA) w Matlabie. I poniżać do pierwszy.20×100N = 20 D = 100 X X 0XN=20D=100XX0

Czytam z czyjegoś kodu, że w takich scenariuszach, w których mamy więcej wymiarów niż obserwacji, nie rozkładamy już macierzy kowariancji . Zamiast tego eigen-decompose . Dlaczego to jest poprawne?1X01N.-1X0X0T.

Normalna macierz kowariancji ma rozmiar , z których każdy element mówi nam o kowariancji między dwoma wymiarami. Dla mnie \ frac {1} {N-1} X_0X_0 ^ T nie ma nawet właściwych wymiarów! Jest to macierz N \ razy N , więc co by nam powiedziała? Kowariancja między dwiema obserwacjami ?!1re×re N×N1N.-1X0X0T.N.×N.

Hazard Sibbs
źródło
Odpowiedź na twoje pytanie jest taka, że ​​- jak wynika z postawienia zadania - nie potrzebujesz dla siebie macierzy kowariancji kolumn. Chciałeś tylko, aby była to droga do uzyskania komputerów. Dobrze? Ale te same wyniki PCA można uzyskać poprzez własne X'Xi XX'(a także svd z Xi X'). To, co nazywa się „ładowaniami” w jednym przypadku, w drugim nazywa się „wynikami na PC” i odwrotnie. Ponieważ oba są tylko współrzędnymi ( patrz na przykład ) i osiami, „główne wymiary” są takie same.
ttnphns
1
(cd.) Jeśli tak, a ty masz swobodę wyboru, który rozkład - rozsądnie jest rozłożyć rozkład, który ma być wykonywany szybciej / wydajniej. Gdy n<pzajmuje mniej pamięci RAM i mniej czasu na rozkład, XX'ponieważ ma mniejszy rozmiar.
ttnphns
@ttnphns Świetne wyjaśnienie. Teraz rozumiem o co chodzi. Nadal jednak mam problemy z przejściem XX'na PC. Czy mógłbyś bardzo krótko pokazać mi, jak? Biorąc pod uwagę, że komputery PC są jedynie wektorami własnymi macierzy kowariancji, próbowałem przejść z własnego XX'do macierzy kowariancji X'X, ale zawiodłem.
Sibbs Hazard
1
Muszę iść. Być może @amoeba (który jest znacznie bardziej zwinny w algebrze niż ja) lub inny czytelnik wkrótce tu zajrzy i ci pomoże. Twoje zdrowie.
ttnphns
1
@ttnphns: Gotowe :)
ameba

Odpowiedzi:

22

Macierz kowariancji ma rozmiar i jest dana przez C = 1re×re

do=1N.-1X0X0.

Macierz, o której mówisz, oczywiście nie jest macierzą kowariancji; nazywa się to macierzą Gram i ma rozmiar : G = 1N.×N.

sol=1N.-1X0X0.

Analiza głównego składnika (PCA) może być zaimplementowana poprzez składanie dowolnej z tych matryc. To tylko dwa różne sposoby obliczenia tego samego.

Najłatwiejszym i najbardziej użytecznym sposobem na sprawdzenie tego jest użycie rozkładu wartości w liczbie pojedynczej macierzy danych . Włączając to do wyrażeń dla C i G , otrzymujemy: CX=USVCG

C=VS2N1VG=US2N1U.

Wektory własne macierzy kowariancji są głównymi kierunkami. Prognozy danych o tych wektorach własnych są głównymi składnikami; Występy te są podane U S . Podstawowe elementy przeskalowany jednostkę długości są podane U . Jak widać, wektory własne macierzy Gram są dokładnie tymi skalowanymi głównymi składnikami. A wartości własne C i G pokrywają się.VUSUCG

Powodem, dla którego możesz zobaczyć, że zaleca się stosowanie macierzy Gram, jeśli jest to, że będzie ona mniejszego rozmiaru w porównaniu do macierzy kowariancji, a zatem będzie szybsza do obliczenia i szybsza do skomponowania. W rzeczywistości, jeśli twoja wymiarowość D jest zbyt wysoka, nie ma sposobu, abyś nawet przechował macierz kowariancji w pamięci, więc działanie na macierzy Grama jest jedynym sposobem na wykonanie PCA. Ale do opanowania D ty może nadal korzystać eigendecomposition macierzy kowariancji jeśli wolisz nawet jeśli N < D .N<DDDN<D


ameba
źródło
1
Świetna odpowiedź! Nie wiedziałem, że ma nazwę! Wielkie dzięki! Teraz jestem pewien, że użyję go do przyspieszenia obliczeń.
Sibbs Hazard
3
US/(n1)VUXU
Ta odpowiedź jest jaśniejsza niż wiele ekspozycji, które widziałem w książkach. Dzięki.
usεr11852
Dla celów czysto referencyjnych: Myślę, że dokument Technometrics z 1969 r. IJ Gooda „ Some Applications of the Singular Decomposition of a Matrix ” jest jednym z pierwszych, który pierwszy w pełni go odwołuje.
usεr11852
1
@MattWenham Dokładnie.
ameba