L'ottimizzazione della PCA è convessa?


12

La funzione oggettiva dell'analisi dei componenti principali (PCA) è ridurre al minimo l'errore di ricostruzione nella norma L2 (vedere la sezione 2.12 qui . Un'altra visione sta cercando di massimizzare la varianza sulla proiezione. Abbiamo anche un post eccellente qui: qual è la funzione oggettiva della PCA ? ).

La mia domanda è che l' ottimizzazione della PCA è convessa? (Ho trovato alcune discussioni qui , ma vorrei che qualcuno potesse fornire una bella prova qui sul CV).


3
No. Stai massimizzando una funzione convessa (sotto vincoli).
user603

5
Penso che devi essere specifico su ciò che intendi per "ottimizzazione PCA". Una formulazione standard è quella di massimizzare soggetto a . Il problema è che la convessità non ha nemmeno senso: il dominio è una sfera, non uno spazio euclideo. x x = 1 x x = 1xAxxx=1xx=1
whuber

1
@whuber grazie per il tuo commento, potrei non essere in grado di chiarire la domanda a causa della conoscenza limitata. Potrei aspettare che alcune risposte possano aiutarmi a chiarire la domanda allo stesso tempo.
Haitao Du,

3
Ti farei riferimento a qualsiasi definizione di "convesso" con cui hai familiarità. Non implicano tutti un concetto di punti nel dominio di una funzione che giace "tra" altri punti? Vale la pena ricordare, perché ti ricorda di considerare la geometria del dominio di una funzione e qualsiasi proprietà algebrica o analitica dei valori della funzione. Alla luce di ciò, mi viene in mente che la formulazione che massimizza la varianza può essere leggermente modificata per rendere convesso il dominio: richiede semplicemente anziché . La soluzione è la stessa e la risposta diventa abbastanza chiara. x x = 1xx1xx=1
whuber

Risposte:


17

No, le solite formulazioni di PCA non sono problemi convessi. Ma possono essere trasformati in un problema convesso di ottimizzazione.

L'intuizione e il divertimento di questo sta seguendo e visualizzando la sequenza delle trasformazioni piuttosto che semplicemente ottenere la risposta: sta nel viaggio, non nella destinazione. I passi principali in questo viaggio sono

  1. Ottieni un'espressione semplice per la funzione oggettiva.

  2. Allarga il suo dominio, che non è convesso, in uno che lo è.

  3. Modificare l'obiettivo, che non è convesso, in uno che sia, in modo che ovviamente non cambi i punti in cui raggiunge i suoi valori ottimali.

Se stai attento, puoi vedere i moltiplicatori SVD e Lagrange in agguato, ma sono solo un evento secondario, lì per interesse scenico, e non li commenterò ulteriormente.


La formulazione standard che massimizza la varianza del PCA (o almeno il suo passaggio chiave) è

(*)Maximize f(x)= xAx  subject to  xx=1

dove la matrice è una matrice simmetrica semidefinita positiva costruita dai dati (di solito la sua somma di quadrati e matrice di prodotti, la sua matrice di covarianza o la sua matrice di correlazione).An×nA

(Equivalentemente, potremmo provare a massimizzare l'obiettivo non vincolato . Non solo questa è un'espressione più cattiva - non è più una funzione quadratica - ma la rappresentazione grafica di casi speciali lo farà mostra rapidamente che non è nemmeno una funzione convessa. Di solito si osserva che questa funzione è invariante nei riscalamenti da e quindi la riduce alla formulazione vincolata )x λ x ( )xAx/xxxλx()

Qualsiasi problema di ottimizzazione può essere formulato in modo astratto come

Trova almeno una che renda la funzione più ampia possibile. f : XRxXf:XR

Ricorda che un problema di ottimizzazione è convesso quando gode di due proprietà separate:

  1. Il dominio è convesso. XRn Questo può essere formulato in molti modi. Uno è che ogni volta che e e , anche . Geometricamente: ogni volta che due estremi di una menzogna segmento in , l'intero segmento risiede in . y X 0λ1λx+(1-λ)y X X XxXyX0λ1λx+(1λ)yXXX

  2. La funzione è convessa. f Anche questo può essere formulato in molti modi. Uno è che ogni volta che e e ,(Avevamo bisogno che fosse convesso affinché questa condizione avesse un senso.) Geometricamente: ogni volta che è qualsiasi segmento di linea in , il grafico di (limitato a questo segmento) si trova sopra o sul segmento che collega e in . y X 0 λ 1 f ( λ x + ( 1 - λ ) y ) λ f ( x ) + ( 1 - λ ) f ( y ) . X ¯ x y X f ( x , f ( x ) ) ( y , f ( yxXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xxy¯Xf(x,f(x))R n + 1(y,f(y))Rn+1

    L'archetipo di una funzione convessa è localmente ovunque parabolico con coefficiente iniziale non positivo: su qualsiasi segmento di linea può essere espresso nella forma cona 0.yay2+by+ca0.

Una difficoltà con è che è la sfera unitaria , che è decisamente non convessa. X S n - 1R n()XSn1Rn Tuttavia, possiamo modificare questo problema includendo vettori più piccoli. Questo perché quando scaliamo di un fattore , viene moltiplicato per . Quando , possiamo ridimensionare fino alla lunghezza dell'unità moltiplicandola per , aumentando così ma rimanendo all'interno del unit ball .λ f λ 2 0 < x x < 1 x λ = 1 / xλfλ20<xx<1xfDn={x R nxx1}()λ=1/xx>1f Dn={xRnxx1} Riformuliamo quindi come()

(**)Maximize f(x)= xAx  subject to  xx1

Il suo dominio è che chiaramente è convesso, quindi siamo a metà strada. Resta da considerare la convessità del grafico di . fX=Dnf

Un buon modo di pensare al problema anche se non si intende eseguire i calcoli corrispondenti, è in termini di teorema spettrale. ()P R n A Dice che per mezzo di una trasformazione ortogonale , puoi trovare almeno una base di in cui è diagonale: cioè,PRnA

A=PΣP

dove tutte le voci fuori diagonale di sono zero. Una simile scelta di può essere concepita come una modifica di nulla su , ma semplicemente cambiando il modo in cui la descrivi : quando ruoti il ​​tuo punto di vista, gli assi del livello ipersuperfici della funzione (che erano sempre ellissoidi) allineati con gli assi delle coordinate.P A x x A xΣPAxxAx

Poiché è positivo-semidefinito, tutte le voci diagonali di devono essere non negative. Potremmo inoltre permutare gli assi (che è solo un'altra trasformazione ortogonale, e quindi possono essere assorbiti in ) per assicurare cheΣ P σ 1σ 2σ n0.AΣP

σ1σ2σn0.

Se lasciamo le nuove coordinate (che implica ), la funzione èx=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

Questa funzione è decisamente non convesso! Il suo grafico sembra parte di un iperparaboloide: in ogni punto all'interno di , il fatto che tutti i siano non negativi lo fa arricciarsi verso l' alto piuttosto che verso il basso . Xσi

Tuttavia, possiamo trasformare in un problema convesso con una tecnica molto utile. () Sapendo che il massimo si verificherà dove , sottraggiamo la costante da , almeno per i punti sul confine di . Ciò non cambierà la posizione di alcun punto sul limite in cui è ottimizzato, perché abbassa tutti i valori di sul limite dello stesso valore . Questo suggerisce di esaminare la funzionexx=1σ1fXffσ1

g(y)=f(y)σ1yy.

Questo effettivamente sottrae la costante da in punti di confine e sottrae valori più piccoli in punti interni. Ciò assicurerà che , rispetto a , non ha alcuna nuova Maxima globale sul lato interno della .σ1fgfX

Esaminiamo cosa è successo con questo gioco di prestigio di sostituzione con . Poiché è ortogonale, . (Questa è praticamente la definizione di una trasformazione ortogonale.) Pertanto, in termini di coordinate , può essere scrittaσ1σ1yyPyy=xxxg

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

Poiché per tutti , ciascuno dei coefficienti è zero o negativo. Di conseguenza, (a) è convesso e (b) è ottimizzato quando . ( implica quindi e l'ottimale viene raggiunto quando , che è - fino a segno - la prima colonna di )σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

Ricapitoliamo la logica. Perché è ottimizzato sul confine dove , perché differisce da semplicemente dalla costante su quel confine e perché i valori di sono ancora più vicini ai valori di all'interno di , i massimi di devono coincidere con i massimi di .D n = S n - 1 y y = 1 fgDn=Sn1yy=1fgσ1gfDnfg


4
+1 Molto bello. Ho modificato per correggere una formula per quello che penso tu intendessi (ma per favore controlla). A parte questo, ho trovato la frase "che non cambierà i valori limite in cui f è ottimizzato" per essere fonte di confusione in un primo momento, perché i valori limite fanno il cambiamento: si sta sottraendo . Forse ha senso riformulare un po '? σ1
ameba dice Reinstate Monica il

@amoeba Proprio sotto tutti gli aspetti; grazie. Ho amplificato la discussione di quel punto.
whuber

3
(+1) Nella tua risposta, sembri definire una funzione convessa come quella che la maggior parte delle persone considererebbe una funzione concava (forse poiché un problema di ottimizzazione convessa ha un dominio convesso e una funzione concava sulla quale viene calcolato un massimo (o una funzione convessa su cui viene calcolato un minimo ))
user795305

2
@amoeba È un argomento sottile. Si noti, tuttavia, che i nuovi massimi - quelli di - si sono verificati solo al limite. Ciò esclude i tuoi controesempi. Un altro punto degno di nota è che alla fine non ci interessa davvero se nuovi massimi locali (o persino globali) si presentano all'interno di , perché in origine siamo preoccupati solo dei massimi locali al suo confine. Siamo quindi liberi di alterare in qualsiasi modo che non farà muovere o scomparire nessuno di quei massimi del limite locale. gXf
whuber

2
Si, sono d'accordo. Non importa come sia modificato all'interno, se la risultante è "convessa" e sembra avere dei massimi sul limite. Il tuo ha i massimi al limite, e questo fa funzionare l'intero argomento. Ha senso. fgg
ameba dice Reinstate Monica il

6

No.

Il grado PCA della matrice può essere formulato comekM

X^=argminrank(X)kMXF2

( è la norma di Frobenius ). Per derivazione vedi teorema di Eckart-Young .F

Sebbene la norma sia convessa, l'insieme su cui è ottimizzata non è convesso.


Un rilassamento convesso del problema di PCA è chiamato approssimazione di basso rango convesso

X^=argminXcMXF2

( è norma nucleare . è rilassamento convesso del rango - proprio come è rilassamento convesso del numero di elementi diversi da zero per i vettori)1

Puoi vedere Statistical Learning with Sparsity , cap 6 (decomposizioni di matrici) per i dettagli.

Se sei interessato a problemi più generali e al modo in cui si collegano alla convessità, vedi Modelli generalizzati di basso rango .


1

Dichiarazione di non responsabilità: le risposte precedenti fanno un ottimo lavoro nel spiegare come la PCA nella sua formulazione originale non sia convessa ma possa essere convertita in un problema di ottimizzazione convessa. La mia risposta è pensata solo per quelle povere anime (come me) che non hanno molta familiarità con il gergo di Unit Spheres e SVD - che è, a proposito, buono a sapersi.

La mia fonte è questa nota del Prof. Tibshirani

Per risolvere un problema di ottimizzazione con tecniche di ottimizzazione convessa, esistono due prerequisiti.

  1. La funzione obiettivo deve essere convessa.
  2. Le funzioni di vincolo dovrebbero anche essere convesse.

La maggior parte delle formulazioni di PCA comportano un vincolo sul grado di una matrice.

In questo tipo di formulazioni di PCA, la condizione 2 è violata. Perché, il vincolo che non è convesso. Ad esempio, lascia che , siano matrici zero 2 × 2 con un singolo 1 rispettivamente nell'angolo in alto a sinistra e nell'angolo in basso a destra. Quindi, ognuno di questi ha il rango 1, ma la loro media ha il rango 2.J 11 J 22rank(X)=k,J11J22


Potresti spiegare a cosa si riferisce " " e perché ci sono vincoli nel suo rango? Ciò non corrisponde alla mia comprensione di PCA, ma forse stai pensando a una versione più specializzata in cui vengono ricercati solo i componenti principali di . kXk
whuber

Sì, è la matrice di dati trasformata (ruotata). In questa formulazione, cerchiamo matrici che siano almeno del grado . Puoi fare riferimento al link nella mia risposta per una descrizione più accurata. kXk
Kasa,
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.