Consenti ai tuoi dati (centrati) di essere archiviati in una matrice con caratteristiche (variabili) in colonne e punti dati in righe. Lascia che la matrice di covarianza abbia autovettori in colonne di e autovalori sulla diagonale di , in modo che .n×dXdnC=X⊤X/nEDC=EDE⊤
Quindi quella che chiami trasformazione "normale" dello sbiancamento PCA è data da , vedi ad esempio la mia risposta in Come sbiancare i dati usando analisi del componente principale?WPCA=D−1/2E⊤
Tuttavia, questa trasformazione sbiancante non è unica. In effetti, i dati sbiancati rimarranno imbiancati dopo ogni rotazione, il che significa che qualsiasi con matrice ortogonale sarà anche una trasformazione imbiancante. In quello che viene chiamato sbiancamento ZCA, prendiamo (raggruppando insieme gli autovettori della matrice di covarianza) come questa matrice ortogonale, cioèW=RWPCARE
WZCA=ED−1/2E⊤=C−1/2.
Una proprietà che definisce la trasformazione ZCA (a volte chiamata anche "trasformazione Mahalanobis") è che si traduce in dati sbiancati il più vicino possibile ai dati originali (nel senso dei minimi quadrati). In altre parole, se vuoi minimizzare soggetto a sbiancamento di , allora dovresti prendere . Ecco un'illustrazione 2D:∥X−XA⊤∥2XA⊤A=WZCA
La sottotrama sinistra mostra i dati e i suoi assi principali. Nota l'ombreggiatura scura nell'angolo in alto a destra della distribuzione: segna il suo orientamento. Le righe di sono mostrate nella seconda sottotrama: questi sono i vettori su cui vengono proiettati i dati. Dopo lo sbiancamento (sotto) la distribuzione appare rotonda, ma nota che sembra anche ruotata --- l'angolo scuro è ora sul lato est, non sul lato nord-est. Le righe di sono mostrate nella terza sottotrama (si noti che non sono ortogonali!). Dopo lo sbiancamento (sotto) la distribuzione si presenta rotonda ed è orientata allo stesso modo originale. Naturalmente, si può ottenere da PCA sbiancato dati ZCA sbiancato i dati ruotando con .WPCAWZCAE
Il termine "ZCA" sembra essere stato introdotto in Bell e Sejnowski 1996nel contesto dell'analisi indipendente dei componenti e sta per "analisi dei componenti in fase zero". Vedi lì per maggiori dettagli. Molto probabilmente, ti sei imbattuto in questo termine nel contesto dell'elaborazione delle immagini. Si scopre che quando applicati a un gruppo di immagini naturali (pixel come caratteristiche, ogni immagine come punto dati), gli assi principali sembrano componenti di Fourier di frequenze crescenti, vedere la prima colonna della loro Figura 1 di seguito. Quindi sono molto "globali". D'altra parte, le righe della trasformazione ZCA sembrano molto "locali", vedere la seconda colonna. Questo proprio perché ZCA cerca di trasformare i dati il meno possibile, e quindi ogni riga dovrebbe essere più vicina a una delle funzioni di base originali (che sarebbero immagini con un solo pixel attivo). E questo è possibile raggiungere,
Aggiornare
Altri esempi di filtri ZCA e di immagini trasformate con ZCA sono riportati in Krizhevsky, 2009, Imparare più livelli di funzionalità da immagini minuscole , vedere anche esempi nella risposta di @ bayerj (+1).
Penso che questi esempi diano un'idea di quando lo sbiancamento ZCA potrebbe essere preferibile a quello PCA. Vale a dire, le immagini imbiancate con ZCA assomigliano ancora alle immagini normali , mentre quelle imbiancate con PCA non assomigliano affatto alle immagini normali. Ciò è probabilmente importante per algoritmi come le reti neurali convoluzionali (come ad esempio utilizzate nel documento di Krizhevsky), che trattano insieme i pixel vicini e si affidano così tanto alle proprietà locali delle immagini naturali. Per la maggior parte degli altri algoritmi di apprendimento automatico dovrebbe essere assolutamente irrilevante se i dati sono sbiancati con PCA o ZCA.