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Σ=XX/(n1)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 ) = wXX w / ( n - 1 ) = w Σ w .Xw

Var(Xw)=wXXw/(n1)=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 ww X - X w w2XXwww

XXww2=tr((XXww)(XXww))=tr((XXww)(XwwX))=tr(XX)2tr(XwwX)+tr(XwwwwX)=consttr(XwwX)=consttr(wXXw)=constconstwΣ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ΣXX/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). WWW=ioWxWWxWx
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.