Qual è la funzione obiettiva di PCA?


42

L'analisi dei componenti principali può utilizzare la decomposizione della matrice, ma questo è solo uno strumento per arrivarci.

Come troveresti i componenti principali senza l'uso dell'algebra matriciale?

Qual è la funzione obiettivo (obiettivo) e quali sono i vincoli?


1
Forse mi manca qualcosa, quindi per favore correggimi se sbaglio, ma dovrebbe essere possibile (almeno in linea di principio) costruire ciò che viene fatto in PCA usando le matrici come un (complicato) problema di programmazione lineare, ma non sapere come si dichiarerebbero tutti i vincoli richiesti. Inoltre non sono sicuro che sarebbe molto semplice da fare rispetto al semplice utilizzo di PCA. Perché stai cercando di evitare le matrici?
Chris Simokat,

@Chris Non vedo come si possa arrivare a un problema di programmazione lineare. Non capivo neanche che le matrici dovessero essere evitate nel calcolo . La domanda era: che tipo di problema viene risolto da PCA e non come viene fatto (calcolando SVD per esempio). La soluzione del cardinale dice che trovi successive direzioni ortogonali di varianza massima . La soluzione che ho presentato dice che trovi iperpiani con un errore di ricostruzione minimo.
NRH,

@chris Spero di trovare un altro modo per visualizzare la PCA, senza l'algebra matriciale, al fine di aumentare la mia comprensione di ciò.
Neil McGuigan,

1
@Chris, hai una funzione quadratica dell'obiettivo e un vincolo di uguaglianza della norma . In alternativa, sotto la formulazione nella risposta di @ NRH, hai un vincolo di rango di matrice. Questo non si ridurrà a un problema di programmazione lineare. @NRH dà una buona intuizione e, in effetti, c'è una connessione molto stretta tra le due prospettive su PCA che sono state date. Forse in collaborazione con @NRH, possiamo aggiungerlo al suo post per rendere più completo l'intero set di risposte. 2
cardinale

1
@NRH, in realtà, mi piace molto ESL , ma penso che il trattamento di questo argomento sia piuttosto superficiale, come lo è per molti degli argomenti del libro. In particolare, non dimostrano (o addirittura assegnano come esercizio) la parte importante della soluzione per il problema di ottimizzazione che dai.
cardinale

Risposte:


41

Senza cercare di fornire un primer completo su PCA, dal punto di vista dell'ottimizzazione, la funzione obiettivo principale è il quoziente di Rayleigh . La matrice che figura nel quoziente è (alcuni multipli di) la matrice di covarianza di esempio dove ogni è un vettore di caratteristiche e è la matrice tale che la esima riga è .

S=1ni=1nxixiT=XTX/n
xipXixiT

PCA cerca di risolvere una sequenza di problemi di ottimizzazione. Il primo nella sequenza è il problema non vincolato

maximizeuTSuuTu,uRp.

Dato che, il suddetto problema non vincolato equivale al problema vincolato uTu=u22=uu

maximizeuTSusubject touTu=1.

Qui è dove entra in gioco l'algebra della matrice. Poiché è una matrice semidefinita positiva simmetrica (per costruzione!) Ha una decomposizione autovalore della forma dove è un matrice ortogonale (quindi ) e è una matrice diagonale con voci non tale che .S

S=QΛQT,
QQQT=IΛλiλ1λ2λp0

Quindi, . Poiché è vincolato nel problema ad avere una norma di uno, allora lo è anche da , in virtù del fatto che è ortogonale.uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

Ma, se vogliamo massimizzare la quantità sotto i vincoli che , il meglio che possiamo fare è impostare , ovvero e per .i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

Ora, ritirando il corrispondente , che è quello che abbiamo cercato in primo luogo, otteniamo che dove denota la prima colonna di , cioè, l'autovettore corrispondente autovalore della . Anche il valore della funzione obiettivo può essere facilmente visualizzato come .u

u=Qe1=q1
q1QSλ1

I restanti vettori dei componenti principali vengono quindi trovati risolvendo la sequenza (indicizzata da ) dei problemi di ottimizzazione Quindi, il problema è lo stesso, tranne per il fatto che aggiungiamo il vincolo aggiuntivo che la soluzione deve essere ortogonale a tutte le soluzioni precedenti nella sequenza. Non è difficile estendere l'argomento sopra induttivamente per dimostrare che la soluzione della esima problema è, infatti, , l' esimo autovettore .i

maximizeuiTSuisubject touiTui=1uiTuj=01j<i.
iqiiS

La soluzione PCA viene anche spesso espressa in termini di decomposizione del valore singolare di . Per vedere perché, lasciate . Quindi e così (a rigor di termini, fino a firmare i flip) e .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

I componenti principali si trovano proiettando sui vettori dei componenti principali. Dalla formulazione SVD appena data, è facile vedere che X

XQ=XV=UDVTV=UD.

La semplicità di rappresentazione dei vettori dei componenti principali e dei componenti principali stessi in termini di SVD della matrice di funzionalità è uno dei motivi per cui SVD è così importante in alcuni trattamenti di PCA.


Se sono necessari solo i primi valori / vettori singolari, Nash e Shlien forniscono un algoritmo che ricorda il solito metodo di alimentazione per il calcolo degli autovalori dominanti. Ciò può essere di interesse per il PO.
JM non è uno statistico

@NRH, grazie per aver catturato (e corretto) i miei errori di battitura prima che riuscissi a vederli!
cardinale

1
Ciao @cardinale, grazie per la tua risposta. Ma sembra che tu non abbia dato il passo per dimostrare perché l'ottimizzazione sequenziale porta ad un ottimale globale. Potresti per favore approfondire questo? Grazie!
Lifu Huang,

21

La soluzione presentata dal cardinale si concentra sulla matrice di covarianza del campione. Un altro punto di partenza è l' errore di ricostruzione dei dati da parte di un iperpiano q- dimensionale. Se i punti di dati p -dimensionali sono l'obiettivo è risolverex1,,xn

minμ,λ1,,λn,Vqi=1n||xiμVqλi||2

per una matrice con colonne ortonormali e . Ciò fornisce la migliore ricostruzione q di grado misurata dalla norma euclidea e le colonne della soluzione sono i primi vettori del componente principale q .p×qVqλiRqVq

Per risolto le soluzioni per e (questa è la regressione) sono Vqμλi

μ=x¯=1ni=1nxiλi=VqT(xix¯)

Per semplicità di notazione supponiamo che sia stato centrato nei seguenti calcoli. Dobbiamo quindi ridurre al minimo xi

i=1n||xiVqVqTxi||2

over con colonne ortonormali. Si noti che è la proiezione sullo spazio della colonna q- dimensionale. Quindi il problema equivale a minimizzare sopra rango q proiezioni . Cioè, dobbiamo massimizzare oltre le proiezioni di grado q , dove è la matrice di covarianza del campione. AdessoVqP=VqVqT

i=1n||xiPxi||2=i=1n||xi||2i=1n||Pxi||2
P
i=1n||Pxi||2=i=1nxiTPxi=tr(Pi=1nxixiT)=ntr(PS)
PS
tr(PS)=tr(VqTSVq)=i=1quiTSui
dove sono le colonne (ortonormali) in , e gli argomenti presentati nella risposta di @ cardinal mostrano che il massimo si ottiene prendendo ' devono essere autovettori per con gli autovalori più grandi.u1,,uqqVquiqSq

L'errore di ricostruzione suggerisce una serie di utili generalizzazioni, ad esempio componenti principali o ricostruzioni sparse per varietà a bassa dimensione anziché per iperpiani. Per i dettagli, consultare la Sezione 14.5 in Gli elementi dell'apprendimento statistico .


(+1) Buoni punti. Alcuni suggerimenti: sarebbe bene definire e sarebbe davvero bello dare una breve prova del risultato. Oppure, in alternativa, può essere collegato al problema di ottimizzazione che coinvolge i quozienti Rayleight. Penso che renderebbe le risposte a questa domanda molto complete! λi
cardinale

@cardinale, credo di aver completato i passaggi mancanti nel passare dalla formulazione di ricostruzione al problema che risolvi.
NRH,

Bel lavoro. Credo che l'unico divario residuo sia nella tua ultima affermazione. Non è immediatamente evidente che l'ottimizzazione della somma equivale a eseguire la sequenza di ottimizzazioni nella mia risposta. In effetti, non penso che segua direttamente, in generale. Ma non deve essere affrontato neanche qui.
cardinale

@ cardinale, segue per induzione. Fornisci l'inizio dell'induzione e nella fase di induzione scegli i vettori ortogonali che massimizzano la somma e la organizzano in modo che sia un vettore unitario ortogonale a . Quindi dai tuoi risultati e di induzione . Naturalmente, la base non è una base unica per lo spazio dimensionale. Puoi anche generalizzare l '"argomento della combinazione convessa" che usi per dare una prova diretta. w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH

1
@ cardinale, non sto forzando un annidamento, ma semplicemente usando una considerazione dimensionale. Se abbiamo un sottospazio tridimensionale puoi sempre scegliere in quello spazio in modo che sia ortogonale a un sottospazio tridimensionale . Quindi riempi la base nel modo che preferisci. qwq(q1)w
NRH

4

Vedi NIPALS ( wiki ) per un algoritmo che non usa esplicitamente una decomposizione matriciale. Suppongo che sia questo che intendi quando dici che vuoi evitare l'algebra di matrice poiché non puoi davvero evitare l'algebra di matrice qui :)

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.