¿La optimización de PCA es convexa?

12

La función objetivo del Análisis de Componentes Principales (PCA) es minimizar el error de reconstrucción en la norma L2 (ver sección 2.12 aquí . Otra vista está tratando de maximizar la varianza en la proyección. También tenemos una excelente publicación aquí: ¿Cuál es la función objetivo de PCA? ? )

Mi pregunta es que es la optimización de PCA convexa? (Encontré algunas discusiones aquí , pero desearía que alguien pudiera proporcionar una buena prueba aquí en CV).

Haitao Du
fuente
3
No. Está maximizando una función convexa (bajo restricciones).
user603
55
Creo que debe ser específico sobre lo que quiere decir con "optimización de PCA". Una formulación estándar es maximizar sujeto a . El problema es que la convexidad ni siquiera tiene sentido: el dominio es una esfera, no un espacio euclidiano. x x = 1 x x = 1xAxxx=1xx=1
whuber
1
@whuber gracias por tu comentario, es posible que no pueda aclarar la pregunta debido al conocimiento limitado. Puedo esperar algunas respuestas que pueden ayudarme a aclarar la pregunta al mismo tiempo.
Haitao Du
3
Le recomendaría cualquier definición de "convexo" con la que esté familiarizado. ¿No implican todos ellos un concepto de puntos en el dominio de una función situada "entre" otros puntos? Vale la pena recordarlo, porque le recuerda que debe considerar la geometría del dominio de una función, así como las propiedades algebraicas o analíticas de los valores de la función. En ese sentido, se me ocurre que la formulación que maximiza la varianza puede modificarse ligeramente para hacer que el dominio sea convexo: simplemente requiere lugar de . La solución es la misma, y ​​la respuesta se vuelve bastante clara. x x = 1xx1xx=1
whuber

Respuestas:

17

No, las formulaciones habituales de PCA no son problemas convexos. Pero pueden transformarse en un problema de optimización convexo.

La idea y la diversión de esto es seguir y visualizar la secuencia de transformaciones en lugar de solo obtener la respuesta: se basa en el viaje, no en el destino. Los principales pasos en este viaje son

  1. Obtenga una expresión simple para la función objetivo.

  2. Amplíe su dominio, que no es convexo, en uno que sí lo sea.

  3. Modifique el objetivo, que no es convexo, en uno que lo sea, de una manera que obviamente no cambia los puntos en los que alcanza sus valores óptimos.

Si observa de cerca, puede ver los multiplicadores SVD y Lagrange al acecho, pero son solo un espectáculo secundario, allí por interés paisajístico, y no comentaré más sobre ellos.


La formulación estándar de PCA que maximiza la varianza (o al menos su paso clave) es

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

donde la matriz A es una matriz simétrica, semidefinida positiva construida a partir de los datos (generalmente su suma de cuadrados y matriz de productos, su matriz de covarianza o su matriz de correlación).n×nA

(De manera equivalente, podemos tratar de maximizar el objetivo sin restricciones . No solo es una expresión desagradable, ya no es una función cuadrática, sino que graficar casos especiales mostrará rápidamente que no es una función convexa , o bien. Por lo general, se observa que esta función es invariante bajo los cambios de escala x λ x y luego se reduce a la formulación restringida ( ) .)xAx/xxxλx()

Cualquier problema de optimización puede formularse de manera abstracta como

Encuentre al menos una que haga que la función f : XR sea lo más grande posible.xXf:XR

Recuerde que un problema de optimización es convexo cuando disfruta de dos propiedades separadas:

  1. El dominio es convexo. XRn Esto se puede formular de muchas maneras. Una es que siempre que e y X y 0 λ 1 , λ x + ( 1 - λ ) y X también. Geométricamente: siempre que dos puntos finales de una mentira segmento de línea en X , toda la mentiras segmento en X .xXyX0λ1λx+(1λ)yXXX

  2. La función es convexa. f Esto también se puede formular de muchas maneras. Una es que siempre que e y X y 0 λ 1 , f ( λ x + ( 1 - λ ) y ) λ f ( x ) + ( 1 - λ ) f ( y ) . (Necesitábamos XxXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xser convexo para que esta condición tenga sentido.) Geométricamente: siempre que sea ​​cualquier segmento de línea en X , la gráfica de f (restringida a este segmento) se encuentra arriba o en el segmento que conecta ( x , f ( x ) ) y ( y , f ( y ) ) en R n + 1 .xy¯Xf(x,f(x))(y,f(y))Rn+1

    El arquetipo de una función convexa es localmente parabólico en todas partes con coeficiente principal no positivo: en cualquier segmento de línea se puede expresar en la forma con un 0.yay2+by+ca0.

Una dificultad con es que X es la esfera unitaria S n - 1R n , que definitivamente no es convexa. ()XSn1Rn Sin embargo, podemos modificar este problema incluyendo vectores más pequeños. Esto se debe a que cuando escalamos por un factor λ , f se multiplica por λ 2 . Cuando 0 < x x < 1 , podemos escalar x hasta la longitud de la unidad multiplicándola por λ = 1 / xλfλ20<xx<1x, aumentando asífpero permaneciendo dentro de la bola unitariaDn={x R nxx1}. Por lo tanto, reformulemos()comoλ=1/xx>1f Dn={xRnxx1}()

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

Su dominio es que claramente es convexo, por lo que estamos a medio camino. Queda por considerar la convexidad de la gráfica de f .X=Dnf

Una buena forma de pensar sobre el problema incluso si no tiene la intención de realizar los cálculos correspondientes, es en términos del Teorema espectral. () Dice que por medio de una transformación ortogonal , puede encontrar al menos una base de R n en la que A es diagonal: es decir,PRnA

A=PΣP

ΣPAxxAx

AΣP

σ1σ2σn0.

x=Pyxy=Pxf

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

Xσi

()xx=1σ1fXffσ1

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

σ1fgfX

σ1σ1yyPyy=xxxg

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

σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

gDn=Sn1yy=1fgσ1gfDnfg

whuber
fuente
44
σ1
@amoeba Justo en todos los aspectos; gracias. He amplificado la discusión de ese punto.
whuber
3
(+1) En su respuesta, parece definir una función convexa como lo que la mayoría de la gente consideraría una función cóncava (quizás porque un problema de optimización convexa tiene un dominio convexo y una función cóncava sobre la cual se calcula un máximo (o una función convexa sobre la cual se calcula un mínimo ))
user795305
2
gXf
2
fgg
6

No.

kM

X^=argminrank(X)kMXF2

F

Aunque la norma es convexa, el conjunto sobre el que está optimizado no es convexo.


Una relajación convexa del problema de PCA se llama aproximación convexa de bajo rango

X^=argminXcMXF2

( es la norma nuclear . es la relajación convexa del rango, al igual que es la relajación convexa del número de elementos distintos de cero para los vectores)11

Puede ver Aprendizaje estadístico con dispersión , capítulo 6 (descomposiciones de matriz) para más detalles.

Si está interesado en problemas más generales y cómo se relacionan con la convexidad, consulte Modelos generalizados de bajo rango .

Jakub Bartczuk
fuente
1

Descargo de responsabilidad: las respuestas anteriores hacen un trabajo bastante bueno al explicar cómo la PCA en su formulación original no es convexa, pero puede convertirse en un problema de optimización convexa. Mi respuesta solo está dirigida a esas pobres almas (como yo) que no están tan familiarizadas con la jerga de las Esferas de la Unidad y las SVD, lo cual es, por cierto, bueno saber.

Mi fuente son estas notas de clase del profesor Tibshirani

Para que un problema de optimización se resuelva con técnicas de optimización convexa, hay dos requisitos previos.

  1. La función objetivo tiene que ser convexa.
  2. Las funciones de restricción también deben ser convexas.

La mayoría de las formulaciones de PCA implican una restricción en el rango de una matriz.

rank(X)=k,J11J22

kasa
fuente
Xk
Xk