Dichiarazione problema
Il problema geometrico che PCA sta cercando di ottimizzare è chiaro per me: PCA cerca di trovare il primo componente principale minimizzando l'errore di ricostruzione (proiezione), che massimizza simultaneamente la varianza dei dati proiettati.
Giusto. Spiego la connessione tra queste due formulazioni nella mia risposta qui (senza matematica) o qui (con matematica).
Cw∥w∥=1w⊤Cw
(Nel caso non fosse chiaro: se è la matrice di dati centrata, la proiezione è data da e la sua varianza è .)XXw1n−1(Xw)⊤⋅Xw=w⊤⋅(1n−1X⊤X)⋅w=w⊤Cw
D'altra parte, un autovettore di è, per definizione, qualsiasi vettore tale che .CvCv=λv
Si scopre che la prima direzione principale è data dall'autovettore con il più grande autovalore. Questa è un'affermazione non banale e sorprendente.
prove
Se si apre un libro o tutorial su PCA, è possibile trovare la seguente prova di quasi una riga della dichiarazione sopra. Vogliamo massimizzare con il vincolo che ; questo può essere fatto introducendo un moltiplicatore di Lagrange e massimizzando ; differenziando, otteniamo , che è l'equazione di autovettore. Vediamo che deve in effetti essere il più grande autovalore sostituendo questa soluzione nella funzione oggettiva, che dàw⊤Cw∥w∥=w⊤w=1w⊤Cw−λ(w⊤w−1)Cw−λw=0λw⊤Cw−λ(w⊤w−1)=w⊤Cw=λw⊤w=λ . In virtù del fatto che questa funzione oggettiva dovrebbe essere massimizzata, deve essere il più grande autovalore, QED.λ
Questo tende ad essere poco intuitivo per la maggior parte delle persone.
Una prova migliore (vedi ad esempio questa risposta chiara di @cardinale ) afferma che poiché è una matrice simmetrica, è diagonale nella sua base di autovettore. (Questo in realtà si chiama teorema spettrale .) Quindi possiamo scegliere una base ortogonale, cioè quella data dagli autovettori, dove è diagonale e ha autovalori sulla diagonale. In tale base, semplifica in , o in altre parole la varianza è data dalla somma ponderata degli autovalori. È quasi immediato che per massimizzare questa espressione si debba semplicemente prendereCCλiw⊤Cw∑λiw2iw=(1,0,0,…,0), vale a dire il primo autovettore, che produce varianza (in effetti, deviando da questa soluzione e "scambiando" parti del più grande autovalore per le parti di quelli più piccoli porterà solo a una varianza complessiva più piccola). Si noti che il valore di non dipende dalla base! Passare alla base dell'autovettore equivale a una rotazione, quindi in 2D si può immaginare semplicemente di ruotare un pezzo di carta con il diagramma a dispersione; ovviamente questo non può cambiare nessuna variazione.λ1w⊤Cw
Penso che questo sia un argomento molto intuitivo e molto utile, ma si basa sul teorema spettrale. Quindi il vero problema qui penso sia: qual è l'intuizione dietro il teorema spettrale?
Teorema spettrale
Prendete una matrice simmetrica . Prendi il suo autovettore con il più grande autovalore . Rendi questo autovettore il vettore della prima base e scegli casualmente altri vettori di base (in modo che tutti siano ortonormali). Come apparirà in questa base?Cw1λ1C
Avrà nell'angolo in alto a sinistra, perché in questa base e deve essere uguale a .λ1w1=(1,0,0…0)Cw1=(C11,C21,…Cp1)λ1w1=(λ1,0,0…0)
Con lo stesso argomento avrà zeri nella prima colonna sotto .λ1
Ma poiché è simmetrico, avrà anche zero nella prima riga dopo . Quindi sembrerà così:λ1
C=⎛⎝⎜⎜⎜⎜λ10⋮00…0⎞⎠⎟⎟⎟⎟,
dove spazio vuoto significa che c'è un blocco di alcuni elementi lì. Poiché la matrice è simmetrica, anche questo blocco sarà simmetrico. Quindi possiamo applicare esattamente lo stesso argomento ad esso, usando efficacemente il secondo autovettore come vettore della seconda base e ottenendo e sulla diagonale. Questo può continuare fino a quando è diagonale. Questo è essenzialmente il teorema spettrale. (Nota come funziona solo perché è simmetrico.)λ1λ2CC
Ecco una riformulazione più astratta esattamente dello stesso argomento.
Sappiamo che , quindi il primo autovettore definisce un sottospazio monodimensionale in cui agisce come una moltiplicazione scalare. Prendiamo ora qualsiasi vettore ortogonale a . Quindi è quasi immediato che anche sia ortogonale a . Infatti:Cw1=λ1w1Cvw1Cvw1
w⊤1Cv=(w⊤1Cv)⊤=v⊤C⊤w1=v⊤Cw1=λ1v⊤w1=λ1⋅0=0.
Ciò significa che agisce sull'intero sottospazio rimanente ortogonale a modo che rimanga separato da . Questa è la proprietà cruciale delle matrici simmetriche. Quindi possiamo trovare il più grande autovettore lì, , e procedere allo stesso modo, costruendo infine una base ortonormale di autovettori.Cw1w1w2