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×dXdnC=X⊤X/nEDC=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=RWPCARE
WZCA=ED−1/2E⊤=C−1/2.
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⊤∥2XA⊤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 .WPCAWZCAE
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.