Perché PCA massimizza la varianza totale della proiezione?


10

Christopher Bishop scrive nel suo libro Pattern Recognition and Machine Learning una dimostrazione che ogni componente principale consecutivo massimizza la varianza della proiezione in una dimensione, dopo che i dati sono stati proiettati nello spazio ortogonale ai componenti precedentemente selezionati. Altri mostrano prove simili.

Tuttavia, ciò dimostra solo che ogni componente consecutivo è la migliore proiezione su una dimensione, in termini di massimizzazione della varianza. Perché questo implica che la varianza di una proiezione per dire 5 dimensioni è massimizzata scegliendo prima tali componenti?


Potresti dirci esattamente cosa significherebbe la "varianza" del set di dati a cinque dimensioni che deriva da una proiezione di un set di dati in cinque dimensioni? (Affinché una tale quantità sia soggetta a massimizzazione dovrebbe essere un unico numero.)
whuber

3
Ottimo punto Chris Bishop nel suo libro si riferisce alla minimizzazione della varianza di una proiezione e non è molto chiaro cosa significherebbe per più di 1 dimensione. Vorrei imparare in che senso la varianza è minimizzata e perché tale procedura la minimizza congiuntamente.
michal,

1
@ user123675: Nel tuo ultimo commento probabilmente intendi "massimizzare", non "minimizzare".
amoeba,

Si hai ragione. Scusate!
michal,

Risposte:


10

Ciò che è compreso dalla varianza in diverse dimensioni ("varianza totale") è semplicemente una somma delle varianze in ogni dimensione. Matematicamente, è una traccia della matrice di covarianza: la traccia è semplicemente una somma di tutti gli elementi diagonali. Questa definizione ha varie belle proprietà, ad esempio la traccia è invariante nelle trasformazioni lineari ortogonali, il che significa che se si ruotano gli assi delle coordinate, la varianza totale rimane invariata.

Ciò che è dimostrato nel libro di Bishop (sezione 12.1.1) è che il principale autovettore della matrice di covarianza dà la direzione della massima varianza. Il secondo autovettore fornisce la direzione della varianza massima sotto un ulteriore vincolo che dovrebbe essere ortogonale al primo autovettore, ecc. (Credo che ciò costituisca l'Esercizio 12.1). Se l'obiettivo è massimizzare la varianza totale nel sottospazio 2D, questa procedura è una massimizzazione golosa: prima scegli un asse che massimizzi la varianza, poi un altro.

La tua domanda è: perché questa procedura avida ottiene un massimo globale?

Ecco una bella discussione che @whuber ha suggerito nei commenti. Allineamo prima il sistema di coordinate con gli assi PCA. La matrice di covarianza diventa diagonale: . Per semplicità considereremo lo stesso caso 2D, ovvero qual è il piano con la varianza totale massima? Vogliamo dimostrare che è il piano dato dai primi due vettori base (con varianza totale ).Σ=diag(λi)λ1+λ2

Considera un piano attraversato da due vettori ortogonali e . La varianza totale in questo piano èQuindi è una combinazione lineare di autovalori con coefficienti che sono tutti positivi, non superano (vedi sotto) e sommano a . In tal caso, è quasi ovvio che il massimo viene raggiunto in .v u Σ u + v Σ v = λ i u 2 i + λ i v 2 i = λ i ( u 2 i + v 2 i ) . λ i 1 2 λ 1 + λ 2uv

uΣu+vΣv=λiui2+λivi2=λi(ui2+vi2).
λi12λ1+λ2

È rimasto solo per mostrare che i coefficienti non possono superare . Si noti che , dove è il -esimo vettore di base. Questa quantità è una lunghezza quadrata di una proiezione di sul piano attraversato da e . Pertanto deve essere inferiore alla lunghezza quadrata di che è uguale a , QED.1k k k u v k | k | 2 = 1uk2+vk2=(uk)2+(vk)2kkkuvk|k|2=1

Vedi anche la risposta di @ cardinal a Qual è la funzione oggettiva della PCA? (segue la stessa logica).


1
(+1) Ma non è intuitivamente ovvio che dato una raccolta di portafogli di varie quantità di denaro (modellando gli autovalori non negativi) e un numero fisso che puoi scegliere, che la selezione dei portafogli più ricchi massimizzerà il tuo totale Contanti? La prova che questa intuizione è corretta è quasi banale: se non hai preso il più grande, puoi migliorare la tua somma scambiando quella più piccola che hai preso per un importo maggiore. kkkk
whuber

@amoeba: se l'obiettivo è massimizzare la somma delle varianze e non la varianza della somma, non c'è motivo per cui la seconda proiezione sia ortogonale alla prima.
Innuo,

1
Chiedo scusa: avevo pensato che avessi già sviluppato l'analisi al punto da riconoscere che la varianza totale in un sottospazio -dimensionale è una combinazione lineare non negativa degli autovalori, in cui nessuno dei coefficienti può superare e il il totale dei coefficienti è uguale a . (È una questione di semplice moltiplicazione di matrici: non sono necessari moltiplicatori di Lagrange.) Questo ci porta alla metafora dei portafogli. Concordo sul fatto che alcune di tali analisi debbano essere fatte. 1 kk1k
whuber

1
@amoeba: Voglio dire, stiamo prendendo in considerazione il problema nella base costituita da autovettori (questa è la base di ue v se calcoliamo la loro varianza moltiplicando per la matrice di covarianza diagonale). u e v alla fine si rivelerà essere loro, ma nella fase di questa prova non dovremmo supporre che penso. L'argomento non dovrebbe piuttosto essere che se in qualsiasi momento la somma fosse maggiore di 1, allora i 2 vettori non sarebbero più ortogonali, poiché la base è ortogonale e ciascuno dei vettori porta al massimo 1? Ma ancora una volta, perché ci limitiamo ai vettori ortogonali u e v?
michal,

1
@Heisenberg: Ah, capisco! No, certo che non intendevo questo! Ma vedo ora perché è stato confuso. Ho riscritto quest'ultima parte della prova per sbarazzarmi di questo passaggio "scegliendo una base". Si prega di vedere la mia modifica. Grazie.
amoeba,

2

Se hai variabili casuali non correlate ordinate in ordine decrescente della loro varianza e ti è stato chiesto di sceglierne modo tale da massimizzare la varianza della loro somma, saresti d'accordo che l'approccio avido di scegliere il primo lo realizzerebbe?k kNkk

I dati proiettati sugli autovettori della sua matrice di covarianza sono essenzialmente colonne di dati non correlate e la cui varianza è uguale ai rispettivi autovalori.N

Perché l'intuizione sia più chiara, dobbiamo mettere in relazione la massimizzazione della varianza con il calcolo dell'autovettore della matrice di covarianza con il più grande autovalore e mettere in relazione la proiezione ortogonale con la rimozione delle correlazioni.

La seconda relazione mi è chiara perché il coefficiente di correlazione tra due vettori (media zero) è proporzionale al loro prodotto interno.

La relazione tra la varianza massimizzante e la decomposizione degli automi della matrice di covarianza è la seguente.

Supponiamo che sia la matrice di dati dopo aver centrato le colonne. Dobbiamo trovare la direzione della massima varianza. Per ogni vettore unitario , la varianza dopo la proiezione lungo èv vDvv

E[(Dv)tDv]=vtE[DtD]v=vtCov(D)v

che è massimizzato se è l'autovettore di corrispondente al più grande autovalore.C o v ( D )vCov(D)


kkk

Nk

Nkk

Ah, capisco la confusione. C'era un refuso nella mia risposta. Riparato ora.
Innuo,

Penso che potresti essere interessato a qualcosa qui, ma l'aspetto magico della somma deve essere spiegato. Quale rilevanza ha per la PCA o anche per le decomposizioni spettrali?
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.