Analiza głównego składnika (PCA) jest zwykle wyjaśniana za pomocą rozkładu własnego macierzy kowariancji. Jednakże, można także przeprowadzić za pomocą rozkładu wartości pojedyncza (SVD) macierzy danych . Jak to działa? Jaki jest związek między tymi dwoma podejściami? Jaki jest związek między SVD a PCA?
Lub innymi słowy, jak użyć SVD matrycy danych do przeprowadzenia redukcji wymiarowości?
Odpowiedzi:
Niech macierz danych będzie miała wielkość , gdzie jest liczbą próbek, a jest liczbą zmiennych. Załóżmy, że jest on wyśrodkowany , tzn. Średnie kolumnowe zostały odjęte i są teraz równe zero. n × p n pX n×p n p
Następnie macierz kowariancji jest wyrażona przez . Jest to macierz symetryczna, więc można ją przekątnie: gdzie jest macierzą wektorów własnych (każda kolumna jest wektorem własnym), a jest macierz diagonalna z wartościami własnymi w malejącej kolejności na przekątnej. Wektory własne nazywane są głównymi osiami lub głównymi kierunkami danych. Projekcje danych na głównych osiach nazywane są składowymi głównymi , znanymi również jako wyniki PCC C = X ⊤ X / ( n - 1 ) C = V L V ⊤ , V L λ i j j X V i i X Vp×p C C=X⊤X/(n−1)
Jeśli teraz wykonamy rozkład pojedynczej wartości , otrzymamy rozkład gdzie jest macierzą jednolitą, a jest macierzą diagonalną liczby pojedyncze . Stąd łatwo można zauważyć, że co oznacza, że prawe wektory w liczbie pojedynczej są głównymi kierunkami i że wartości w liczbie pojedynczej są powiązane z wartościami własnymi macierzy kowariancji za pomocą . Główne składniki podano przezX = U S V ⊤ , U S s i C = V S U ⊤ U S V ⊤ / ( n - 1 ) = V S 2X
Podsumowując:
Dalsze linki
Jaki jest intuicyjny związek między SVD a PCA - bardzo popularny i bardzo podobny wątek na math.SE.
Dlaczego PCA danych za pomocą SVD danych? - omówienie korzyści płynących z wykonywania PCA za pomocą SVD [krótka odpowiedź: stabilność liczbowa].
Analiza PCA i korespondencji w odniesieniu do Biplot - PCA w kontekście niektórych technik kongenerycznych, wszystkie oparte na SVD.
Czy jest jakaś przewaga SVD nad PCA? - pytanie, czy korzyści płynące ze stosowania SVD zamiast PCA [krótka odpowiedź: źle postawione pytanie].
Zrozumienie analizy głównych składników, wektorów własnych i wartości własnych - moja odpowiedź zawiera nietechniczne wyjaśnienie PCA. Aby zwrócić na siebie uwagę, odtwarzam tutaj jedną cyfrę:
źródło
Napisałem fragment kodu Python i Numpy, który towarzyszy odpowiedzi @ amoeba i zostawiam go tutaj na wypadek, gdyby był dla kogoś przydatny. Komentarze pochodzą głównie z odpowiedzi @ amoeba.
źródło
Zacznę od PCA. Załóżmy, że masz n punktów danych składających się z d liczb (lub wymiarów) każdy. Jeśli wyśrodkujesz te dane (odejmij średni punkt danych od każdego wektora danych ), możesz ułożyć dane w stos, aby utworzyć macierzμ xi
Macierz kowariancji
miary, w jakim stopniu różne współrzędne, w których podane są dane, różnią się razem. Nic więc dziwnego, że PCA - który jest zaprojektowany do przechwytywania zmienności twoich danych - może być podany w postaci macierzy kowariancji. W szczególności okazuje się , że rozkład wartości własnejS
gdzie to ty główny składnik lub PC, a to wartość własna i jest również równa wariancji danych wzdłuż komputera. Rozkład ten pochodzi z ogólnego twierdzenia z algebry liniowej, a niektóre prace nie muszą być wykonane, aby motywować relatino do PCA.vi i λi i S i
SVD to ogólny sposób na zrozumienie macierzy w kategoriach przestrzeni kolumn i przestrzeni wierszy. (Jest to sposób na przepisanie dowolnej macierzy w kategoriach innych macierzy z intuicyjnym stosunkiem do przestrzeni wierszy i kolumn.) Na przykład dla macierzy możemy znaleźć wskazówki i w domenie i zakresie, abyA=(1021) ui vi
Można je znaleźć, biorąc pod uwagę, w jaki sposób jako transformacja liniowa przekształca sferę jednostkową w swojej dziedzinie w elipsę: główne półosie elipsy wyrównują się z a są ich pierwowzorami.A S ui vi
W każdym razie, dla powyższej macierzy danych (tak naprawdę, po prostu ustaw ), SVD pozwala nam pisaćX A=X
gdzie i są ortonormalnymi zestawami wektorów. Porównanie z rozkładem wartości własnych ujawnia, że „prawe wektory osobliwe” są równe komputerom osobistym, „prawe wektory osobliwe” są{ v i } S v i{ui} {vi} S vi
a „wartości pojedyncze” są powiązane z macierzą danych za pośrednictwemσi
Jest to ogólnie to, że odpowiednie pojedyncze wektory obejmują przestrzeń kolumny . W tym konkretnym przypadku daje nam skalowane rzutowanie danych na kierunek głównego składnika. Lewe pojedyncze wektory ogólnie obejmują przestrzeń wierszy , co daje nam zestaw wektorów ortonormalnych, które obejmują dane podobnie jak komputery PC. X u i X i v i Xui X ui X i vi X
W tym dłuższym artykule omówię więcej szczegółów i korzyści związanych z relacją między PCA i SVD .
źródło