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
Ottieni un'espressione semplice per la funzione oggettiva.
Allarga il suo dominio, che non è convesso, in uno che lo è.
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)= x′Ax subject to x′x=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 ( ∗ )x′Ax/x′xx→λx(∗)
Qualsiasi problema di ottimizzazione può essere formulato in modo astratto come
Trova almeno una che renda la funzione più ampia possibile. f : X → Rx∈Xf:X→R
Ricorda che un problema di ottimizzazione è convesso quando gode di due proprietà separate:
Il dominio è convesso. X⊂Rn 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 Xx∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX
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 ( yx∈Xy∈X0≤λ≤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.y→ay2+by+ca≤0.
Una difficoltà con è che è la sfera unitaria , che è decisamente non convessa. X S n - 1 ⊂ R n(∗)XSn−1⊂Rn 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<x′x<1xfDn={x∈ R n∣x′x≤1}(∗)λ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1} Riformuliamo quindi come(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
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ΣPAx→x′Ax
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 ≥ ⋯ ≥ σ n ≥ 0.AΣP
σ1≥σ2≥⋯≥σn≥0.
Se lasciamo le nuove coordinate (che implica ), la funzione èx=P′yxy=Pxf
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
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 funzionex′x=1σ1fXffσ1
g(y)=f(y)−σ1y′y.
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−σ1y′yPy′y=x′xxg
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
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=0x′x=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 fg∂Dn=Sn−1y′y=1fgσ1gfDnfg