Funzione obiettivo PCA: qual è la connessione tra massimizzare la varianza e minimizzare l'errore?


32

L'algoritmo PCA può essere formulato in termini di matrice di correlazione (supponiamo che i dati X già stati normalizzati e stiamo considerando solo la proiezione sul primo PC). La funzione obiettivo può essere scritta come:

maxw(Xw)T(Xw)stwTw=1.

Questo va bene, e usiamo moltiplicatori lagrangiani per risolverlo, cioè riscrivendolo come:

maxw[(Xw)T(Xw)-λwTw],

che equivale a

maxw(Xw)T(Xw)wTw,

e quindi ( vedi qui su Mathworld ) sembra essere uguale a

maxwΣio=1n(distanza dal punto Xio alla linea w)2.

Ma questo sta dicendo per massimizzare la distanza tra punto e linea, e da quello che ho letto qui , questo non è corretto - dovrebbe essere , non \ max . Dov'è il mio errore?minmax

Oppure qualcuno può mostrarmi il legame tra massimizzare la varianza nello spazio proiettato e minimizzare la distanza tra punto e linea?


Penso che la distanza minima venga utilizzata per soddisfare il criterio di ortogonalità per i componenti. I punti vengono proiettati nei PC che sono ortogonali tra loro ma in ogni componente successivo viene massimizzata la varianza rimanente.
— Michael R. Chernick,

Suggerimento: cosa succede quando si considera prima l'autovalore più piccolo , anziché il più grande?
— whuber

@whuber L'autovalore più piccolo ha probabilmente il PC che è la soluzione alla funzione obiettivo finale. Ma questo PC non massimizza la funzione obiettivo originale.
— Cam.Davidson.Pilon

2
Non sono sicuro di cosa intendi per funzione obiettivo "finale" e "originale", Cam. PCA non è (concettualmente) un programma di ottimizzazione. Il suo output è un insieme di direzioni principali, non solo una. È un (interessante) teorema matematico che queste direzioni possono essere trovate risolvendo una sequenza di programmi quadratici vincolati, ma questo non è basilare per i concetti o la pratica del PCA. Sto solo suggerendo che, concentrandosi sul più piccolo autovalore piuttosto che su quello più grande, è possibile conciliare le due idee di (1) minimizzare le distanze e (2) prendere una visione di ottimizzazione del PCA.
— whuber

1
Va bene - la tua risposta è stata la versione non sbagliata di quello che stavo cercando di fare.
— Cam.Davidson.Pilon

Risposte:


42

Sia una matrice di dati centrata con n osservazioni in righe. Lascia che sia la sua matrice di covarianza. Sia un vettore unitario che specifica un asse nello spazio variabile. Vogliamo che sia il primo asse principale.Xnw wΣ=X⊤X/(n−1)ww

Secondo il primo approccio, il primo asse principale massimizza la varianza della proiezione (varianza del primo componente principale). Questa varianza è data daV a r ( X w ) = w ⊤ X ⊤ X w / ( n - 1 ) = w ⊤ Σ w .Xw

Var(Xw)=w⊤X⊤Xw/(n−1)=w⊤Σw.

Secondo il secondo approccio, il primo asse principale minimizza l'errore di ricostruzione tra e la sua ricostruzione , ovvero la somma delle distanze al quadrato tra i punti originali e le loro proiezioni su . Il quadrato dell'errore di ricostruzione è dato da X w w ⊤ w ‖ X - X w w ⊤ ‖ 2XXww⊤w

‖X−Xww⊤‖2=tr((X−Xww⊤)(X−Xww⊤)⊤)=tr((X−Xww⊤)(X⊤−ww⊤X⊤))=tr(XX⊤)−2tr(Xww⊤X⊤)+tr(Xww⊤ww⊤X⊤)=const−tr(Xww⊤X⊤)=const−tr(w⊤X⊤Xw)=const−const⋅w⊤Σw.

Notare il segno meno prima del termine principale. Per questo motivo, ridurre al minimo l'errore di ricostruzione equivale a massimizzare , che è la varianza. Quindi minimizzare l'errore di ricostruzione equivale a massimizzare la varianza; entrambe le formulazioni producono lo stesso .w⊤Σww


Qualcosa che ho notato, non è una funzione convessa (rispetto a as è PSD? Come mai proviamo a massimizzarlo?wTΣwwΣ
— Royi

@amoeba puoi spiegare come passi da tr () a const nell'ultimo passaggio?
— Alberto

1
@alberto Cosa c'è dentro la traccia è un numero (matrice 1x1); una traccia di un numero è questo numero stesso, quindi la traccia può essere rimossa. La costante appare perché è uguale a , quindi esiste questo fattore . X ⊤ X / n 1 / nΣX⊤X/n1/n
— ameba dice di reintegrare Monica il

1
@Leullame Il calcolo conterrà testualmente per se si tratta di una matrice con colonne ortonormali. È necessario per passare dalla riga 3 alla riga 4. Se la matrice ha colonne ortonormali, allora sarà una proiezione di sul sottospazio attraversato dalle colonne di (qui è un vettore di riga). WW⊤W=ioWxWW⊤xWx
— ameba dice di reintegrare Monica il

1
@ DanielLópez Bene, stiamo cercando un sottospazio monodimensionale che riduca al minimo l'errore di ricostruzione. Un sottospazio monodimensionale può essere definito da un vettore unit-norm che punta nella sua direzione, che è ciò che è considerato. Ha norma unitaria per costruzione. w
— ameba dice di reintegrare Monica il
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.