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
Obtenga una expresión simple para la función objetivo.
Amplíe su dominio, que no es convexo, en uno que sí lo sea.
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)= x′Ax subject to x′x=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 ( ∗ ) .)x′Ax/x′xx→λx(∗)
Cualquier problema de optimización puede formularse de manera abstracta como
Encuentre al menos una que haga que la función f : X → R sea lo más grande posible.x∈Xf:X→R
Recuerde que un problema de optimización es convexo cuando disfruta de dos propiedades separadas:
El dominio es convexo. X⊂Rn 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 .x∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX
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 Xx∈Xy∈X0≤λ≤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.y→ay2+by+ca≤0.
Una dificultad con es que X es la esfera unitaria S n - 1 ⊂ R n , que definitivamente no es convexa. (∗)XSn−1⊂Rn 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<x′x<1x, aumentando asífpero permaneciendo dentro de la bola unitariaDn={x∈ R n∣x′x≤1}. Por lo tanto, reformulemos(∗)comoλ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1}(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
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
ΣPAx→x′Ax
AΣP
σ1≥σ2≥⋯≥σn≥0.
x=P′yxy=Pxf
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
Xσi
(∗∗)x′x=1σ1fXffσ1
g(y)=f(y)−σ1y′y.
σ1fgfX
−σ1−σ1y′yPy′y=x′xxg
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
σ1≥σiiggx2=x3=⋯=xn=0x′x=1x1=±1y=P(±1,0,…,0)′P
g∂Dn=Sn−1y′y=1fgσ1gfDnfg