Mam klasyfikator, na którym przeprowadzam walidację krzyżową, wraz z około setką funkcji, które wybieram do przodu, aby znaleźć optymalne kombinacje funkcji. Porównuję to również z przeprowadzaniem tych samych eksperymentów z PCA, w których biorę potencjalne cechy, stosuję SVD, przekształcam oryginalne sygnały w nową przestrzeń współrzędnych i używam najlepszych funkcji w moim procesie selekcji do przodu.
Moją intuicją było to, że PCA poprawi wyniki, ponieważ sygnały będą bardziej „informacyjne” niż oryginalne funkcje. Czy moje naiwne rozumienie PCA prowadzi mnie do kłopotów? Czy ktoś może zasugerować niektóre z najczęstszych powodów, dla których PCA może poprawić wyniki w niektórych sytuacjach, a pogorszyć je w innych?
classification
pca
feature-selection
Dolan Antenucci
źródło
źródło
Odpowiedzi:
Rozważ prosty przypadek, wzięty ze wspaniałego i niedocenianego artykułu „Uwaga na temat stosowania głównych składników w regresji” .
Załóżmy, że masz tylko dwie (skalowane i pozbawione znaczenia) cechy, oznacz je i z dodatnią korelacją równą 0,5, wyrównaną w i trzecią zmienną odpowiedzi którą chcesz sklasyfikować. Załóżmy, że klasyfikacja jest w pełni określona znakiem .x 2 X Y Y x 1 - x 2x1 x2 X Y Y x1−x2
Wykonanie PCA na daje nowe (uporządkowane według wariancji) funkcje , ponieważ . Dlatego, jeśli zredukujesz swój wymiar do 1, tj. Pierwszego głównego komponentu, odrzucasz dokładne rozwiązanie swojej klasyfikacji![ x 1 + x 2 , x 1 - x 2 ] Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1 - x 2 ) = 2 - 2 ρX [x1+x2,x1−x2] Var(x1+x2)=1+1+2ρ>Var(x1−x2)=2−2ρ
Problem pojawia się, ponieważ PCA jest agnostykiem do . Niestety nie można również uwzględnić w PCA, ponieważ spowoduje to wyciek danych.YY Y
Wyciek danych ma miejsce, gdy twoja macierz jest konstruowana przy użyciu omawianych predyktorów docelowych, dlatego wszelkie przewidywania poza próbą będą niemożliwe.X
Na przykład: w finansowych szeregach czasowych próba przewidzenia europejskiego zamknięcia na koniec dnia, które nastąpi o 11:00 EST, przy użyciu amerykańskich zamknięć na koniec dnia, o 16:00 EST, to wyciek danych od czasu zamknięcia amerykańskiego , które nastąpiły kilka godzin później, uwzględniły ceny europejskich zamknięć.
źródło
Istnieje proste geometryczne wyjaśnienie. Wypróbuj następujący przykład w R i przypomnij sobie, że pierwszy główny składnik maksymalizuje wariancję.
PCA pomaga
Kierunek maksymalnej wariancji jest poziomy, a klasy są rozdzielone poziomo.
PCA boli
Kierunek maksymalnej wariancji jest poziomy, ale klasy są rozdzielone w pionie
źródło
PCA jest liniowy, boli, gdy chcesz zobaczyć zależności nieliniowe.
PCA na obrazach jako wektorach:
Algorytm nieliniowy (NLDR), który zredukował obrazy do 2 wymiarów, obrotu i skali:
Więcej informacji: http://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction
źródło
Widzę, że pytanie ma już zaakceptowaną odpowiedź, ale chciałem udostępnić ten artykuł, który mówi o użyciu PCA do transformacji funkcji przed klasyfikacją .
Komunikat zwrotny (pięknie wizualizowany w odpowiedzi @ vqv) brzmi:
Dla zainteresowanych, jeśli spojrzysz na sekcję 4. Wyniki eksperymentalne , porównują one dokładności klasyfikacji z 1) oryginalnymi cechami, 2) cechami przekształconymi PCA i 3) kombinacją obu, co było dla mnie nowością.
Mój wniosek:
Transformacje funkcji oparte na PCA pozwalają na podsumowanie informacji z dużej liczby funkcji na ograniczoną liczbę komponentów, tj. Liniowe kombinacje oryginalnych cech. Jednak główne elementy są często trudne do interpretacji (nie intuicyjne), a ponieważ wyniki empiryczne w tym dokumencie wskazują, że zwykle nie poprawiają wyników klasyfikacji.
PS: Zwracam uwagę, że jednym z ograniczeń artykułu, który mógł zostać wymieniony, był fakt, że autorzy ograniczyli ocenę wyników klasyfikatorów tylko do „akumulacji”, co może być bardzo tendencyjnym wskaźnikiem wydajności.
źródło
źródło