Não, as formulações usuais de PCA não são problemas convexos. Mas eles podem ser transformados em um problema de otimização convexa.
O insight e a diversão disso é acompanhar e visualizar a sequência de transformações, em vez de apenas obter a resposta: está na jornada, não no destino. Os principais passos nessa jornada são
Obtenha uma expressão simples para a função objetivo.
Amplie seu domínio, que não é convexo, em um que seja.
Modifique o objetivo, que não é convexo, para aquele que é, de uma maneira que obviamente não altera os pontos nos quais atinge seus valores ideais.
Se você vigiar de perto, poderá ver os multiplicadores SVD e Lagrange à espreita - mas eles são apenas uma exibição lateral, para interesse cênico, e não vou comentar mais sobre eles.
A formulação padrão de maximização de variância do PCA (ou pelo menos sua etapa principal) é
Maximize f(x)= x′Ax subject to x′x=1(*)
onde o matriz A é um simétrica, matriz positiva-semidefinido construída a partir dos dados (geralmente a sua soma dos quadrados e produtos de matriz, a sua matriz de covariâncias, ou a sua matriz de correlação).n×nA
(Equivalentemente, podemos tentar maximizar o objetivo irrestrito . Essa expressão não é apenas mais desagradável - ela não é mais uma função quadrática - mas representar graficamente casos especiais mostrará rapidamente que não é uma função convexa Geralmente, observa-se que essa função é invariante sob os redimensionamentos x → λ x e depois a reduz à formulação restrita ( ∗ ) .)x′Ax/x′xx→λx(∗)
Qualquer problema de otimização pode ser formulado abstratamente como
Encontre pelo menos um que torne a função f : X → R a maior possível.x∈Xf:X→R
Lembre-se de que um problema de otimização é convexo quando possui duas propriedades separadas:
The domain X⊂Rn is convex. This can be formulated in many ways. One is that whenever x∈X and y∈X and 0≤λ≤1, λx+(1−λ)y∈X also. Geometrically: whenever two endpoints of a line segment lie in X, the entire segment lies in X.
A função é convexa. f Isso também pode ser formulado de várias maneiras. Uma é que sempre que e y ∈ X e 0 ≤ λ ≤ 1 , f ( λ x + ( 1 - λ ) y ) ≥ λ f ( x ) + ( 1 - λ ) f ( y ) . (Precisávamos de Xx∈Xy∈X0≤λ≤1
f(λx+(1−λ)y)≥λf(x)+(1−λ)f(y).
X sejam convexos em ordem para esta condição de fazer qualquer sentido) Geometricamente:. sempre é qualquer segmento de linha emX, o gráfico def(conforme restrito a esse segmento) fica acima ou no segmento de conexão(x,f(x))e(y,f(y))emRn+1.xy¯Xf(x,f(x))(y,f(y))Rn+1
O arquétipo de uma função convexa é localmente em toda a parte parabólica com coeficiente líder não-positiva: em qualquer segmento de linha que pode ser expressa sob a forma com um ≤ 0.y→ay2+by+ca≤0.
Uma dificuldade com é que X é a esfera unitária S n - 1 ⊂ R n , que decididamente não é convexa. (∗)XSn−1⊂Rn No entanto, podemos modificar esse problema incluindo vetores menores. Isso ocorre quando escalamos por um fator λ , f é multiplicado por λ 2 . Quando 0 < x ′ x < 1 , podemos escalar x até o comprimento da unidade multiplicando-o por λ = 1 /xλfλ20<x′x<1x, aumentando assimfmas ficar dentro da bola unidadeDn={x∈ R n|x'x≤1}. Vamos reformular(∗)comoλ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1}(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
Seu domínio é X=Dn o que claramente é convexo, então estamos no meio do caminho. Resta considerar a convexidade do gráfico de .f
Uma boa maneira de pensar sobre o problema mesmo que você não pretenda realizar os cálculos correspondentes - é em termos do Teorema Espectral. (∗∗) Diz que, por meio de uma transformação ortogonal , você pode encontrar pelo menos uma base de R n na qual A é diagonal: ou seja,PRnA
A=P′ΣP
onde todas as entradas fora da diagonal de são zero. Essa escolha de P pode ser concebida como algo que não muda nada em A , mas apenas muda como você a descreve : quando você gira seu ponto de vista, os eixos das hipersuperfícies de nível da função x → x ′ A x (que sempre elipsóides) se alinham com os eixos das coordenadas.ΣPAx→x′Ax
Since A is positive-semidefinite, all the diagonal entries of Σ must be non-negative. We may further permute the axes (which is just another orthogonal transformation, and therefore can be absorbed into P) to assure that
σ1≥σ2≥⋯≥σn≥0.
If we let x=P′y be the new coordinates x (entailing y=Px), the function f is
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
This function is decidedly not convex! Its graph looks like part of a hyperparaboloid: at every point in the interior of X, the fact that all the σi are nonnegative makes it curl upward rather than downward.
However, we can turn (∗∗) into a convex problem with one very useful technique. Knowing that the maximum will occur where x′x=1, let's subtract the constant σ1 from f, at least for points on the boundary of X. That will not change the locations of any points on the boundary at which f is optimized, because it lowers all the values of f on the boundary by the same value σ1. This suggests examining the function
g(y)=f(y)−σ1y′y.
This indeed subtracts the constant σ1 from f at boundary points, and subtracts smaller values at interior points. This will assure that g, compared to f, has no new global maxima on the interior of X.
Let's examine what has happened with this sleight-of-hand of replacing −σ1 by −σ1y′y. Because P is orthogonal, y′y=x′x. (That's practically the definition of an orthogonal transformation.) Therefore, in terms of the x coordinates, g can be written
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
Because σ1≥σi for all i, each of the coefficients is zero or negative. Consequently, (a) g is convex and (b) g is optimized when x2=x3=⋯=xn=0. (x′x=1 then implies x1=±1 and the optimum is attained when y=P(±1,0,…,0)′, which is--up to sign--the first column of P.)
Let's recapitulate the logic. Because g is optimized on the boundary ∂Dn=Sn−1 where y′y=1, because f differs from g merely by the constant σ1 on that boundary, and because the values of g are even closer to the values of f on the interior of Dn, the maxima of f must coincide with the maxima of g.