Jestem zdezorientowany co do wybielania ZCA i normalnego wybielania (które uzyskuje się poprzez podzielenie głównych składników przez pierwiastki kwadratowe wartości własnych PCA). Z tego co mi wiadomo,
gdzie to wektory własne PCA.
Jakie są zastosowania wybielania ZCA? Jakie są różnice między wybielaniem normalnym a wybielaniem ZCA?
pca
dimensionality-reduction
image-processing
RockTheStar
źródło
źródło
Odpowiedzi:
Niech twoje (wyśrodkowane) dane będą przechowywane w macierzy z funkcjami (zmiennymi) w kolumnach i punktami danych w rzędach. Niech macierz kowariancji ma wektory własne w kolumnach i wartości własne na przekątnej , tak aby .n×d X d n C=X⊤X/n E D C=EDE⊤
To, co nazywacie „normalną” transformacją wybielania PCA, podaje , patrz np. Moja odpowiedź w Jak wybielić dane za pomocą Analiza głównych składowych?WPCA=D−1/2E⊤
Ta transformacja wybielania nie jest jednak wyjątkowa. Rzeczywiście, wybielone dane pozostaną wybielone po każdym obrocie, co oznacza, że każdy z macierzą ortogonalną będzie również transformacją wybielającą. W tak zwanym wybielaniu ZCA bierzemy (ułożone razem wektory własne macierzy kowariancji) jako tę macierz ortogonalną, tj.W=RWPCA R E
Jedną z cech definiujących transformację ZCA ( czasami nazywaną także „transformacją Mahalanobisa”) jest to, że powoduje ona wybielenie danych, które są jak najbardziej zbliżone do pierwotnych danych (w sensie najmniejszych kwadratów). Innymi słowy, jeśli chcesz zminimalizować zastrzeżeniem, że jest wybielony, powinieneś wziąć . Oto ilustracja 2D:∥X−XA⊤∥2 XA⊤ A=WZCA
Lewy wykres podrzędny pokazuje dane i ich główne osie. Zwróć uwagę na ciemne cieniowanie w prawym górnym rogu rozkładu: oznacza jego orientację. Rzędy są pokazane na drugim wykresie: są to wektory, na które rzutowane są dane. Po wybieleniu (poniżej) rozkład wygląda na okrągły, ale zauważ, że również wygląda na obrócony - ciemny narożnik znajduje się teraz po stronie wschodniej, a nie po stronie północno-wschodniej. Rzędy są pokazane na trzeciej podplocie (zwróć uwagę, że nie są one ortogonalne!). Po wybieleniu (poniżej) rozkład wygląda na okrągły i jest zorientowany w taki sam sposób, jak pierwotnie. Oczywiście, można uzyskać od PCA wybielone dane ZCA wybielone danych poprzez obracanie z .WPCA WZCA E
Termin „ZCA” wydaje się być wprowadzony w Bell and Sejnowski 1996w kontekście niezależnej analizy składników i oznacza „analizę składników fazy zerowej”. Zobacz tam po więcej szczegółów. Najprawdopodobniej trafiłeś na ten termin w kontekście przetwarzania obrazu. Okazuje się, że po nałożeniu na kilka naturalnych obrazów (piksele jako cechy, każdy obraz jako punkt danych), główne osie wyglądają jak składowe Fouriera o rosnących częstotliwościach, patrz pierwsza kolumna ich ryc. 1 poniżej. Są więc bardzo „globalni”. Z drugiej strony wiersze transformacji ZCA wyglądają bardzo „lokalnie”, patrz druga kolumna. Dzieje się tak właśnie dlatego, że ZCA stara się jak najmniej przekształcać dane, dlatego też każdy wiersz powinien być bliższy pierwotnej funkcji bazowej (która byłaby obrazem z tylko jednym aktywnym pikselem). I można to osiągnąć,
Aktualizacja
Więcej przykładów filtrów ZCA i obrazów przekształconych za pomocą ZCA podano w Kriżewskim, 2009, Uczenie się wielu warstw cech z małych obrazów , patrz także przykłady w odpowiedzi @ bayerj (+1).
Myślę, że te przykłady dają wyobrażenie, kiedy wybielanie ZCA może być lepsze niż PCA. Mianowicie, obrazy wybielone ZCA nadal przypominają zwykłe obrazy , podczas gdy obrazy wybielone PCA nie przypominają normalnych obrazów. Jest to prawdopodobnie ważne w przypadku algorytmów takich jak splotowe sieci neuronowe (jak np. Używane w pracy Kriżewskiego), które traktują sąsiednie piksele razem, a zatem bardzo zależą od lokalnych właściwości naturalnych obrazów. W przypadku większości innych algorytmów uczenia maszynowego absolutnie nie ma znaczenia, czy dane są wybierane za pomocą PCA, czy ZCA.
źródło
Biorąc pod uwagę skład Eigend macierzy kowariancji gdzie jest diagonalną macierzą wartości własnych , zwykłe wybielanie polega na przekształceniu danych w przestrzeń, w której macierz kowariancji jest ukośna: (z pewnym nadużyciem notacji.) Oznacza to, że możemy przekątnie kowariancję, przekształcając dane zgodnie z
Jest to zwykłe wybielanie za pomocą PCA. Teraz ZCA robi coś innego - dodaje mały epsilon do wartości własnych i przekształca dane z powrotem. Oto kilka zdjęć z zestawu danych CIFAR przed i po ZCA.
Przed ZCA:
Po ZCA zϵ=0.0001
Po ZCA zϵ=0.1
W przypadku danych wizyjnych dane o wysokiej częstotliwości zwykle znajdują się w przestrzeni rozpiętej przez niższe wartości własne. Dlatego ZCA to sposób na ich wzmocnienie, prowadzące do bardziej widocznych krawędzi itp.
źródło