A função objetivo da Análise de Componentes Principais (PCA) é minimizar o erro de reconstrução na norma L2 (consulte a seção 2.12 aqui . Outra visão é tentar maximizar a variação na projeção. Também temos um excelente post aqui: Qual é a função objetivo do PCA ? ).
Minha pergunta é que a otimização do PCA é convexa? (Encontrei algumas discussões aqui , mas gostaria que alguém pudesse fornecer uma boa prova aqui no CV).
machine-learning
pca
optimization
convex
Haitao Du
fonte
fonte
Respostas:
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) é
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×n A
(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′x x→λx (∗)
Qualquer problema de otimização pode ser formulado abstratamente como
Lembre-se de que um problema de otimização é convexo quando possui duas propriedades separadas:
The domainX⊂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∈X y∈X 0≤λ≤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+c a≤0.
Uma dificuldade com é que X é a esfera unitária S n - 1 ⊂ R n , que decididamente não é convexa.(∗) X Sn−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 λ2 0<x′x<1 x , aumentando assimfmas ficar dentro da bola unidadeDn={x∈ R n|x'x≤1}. Vamos reformular(∗)comoλ=1/x′x−−−√>1 f Dn={x∈Rn∣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,P Rn A
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.Σ P A x→x′Ax
SinceA 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
If we letx=P′y be the new coordinates x (entailing y=Px ), the function f is
This function is decidedly not convex! Its graph looks like part of a hyperparaboloid: at every point in the interior ofX , 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
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
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. Becauseg 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 .
fonte
No.
Rankk PCA of matrix M can be formulated as
(∥⋅∥F is Frobenius norm). For derivation see Eckart-Young theorem.
Though the norm is convex, the set over which it is optimized is nonconvex.
A convex relaxation of PCA's problem is called Convex Low Rank Approximation
(∥⋅∥∗ is nuclear norm. it's convex relaxation of rank - just like ∥⋅∥1 is convex relaxation of number of nonzero elements for vectors)
You can see Statistical Learning with Sparsity, ch 6 (matrix decompositions) for details.
If you're interested in more general problems and how they relate to convexity, see Generalized Low Rank Models.
fonte
Isenção de responsabilidade: As respostas anteriores fazem um bom trabalho ao explicar como o PCA em sua formulação original não é convexo, mas pode ser convertido em um problema de otimização convexo. Minha resposta é voltada apenas para aquelas pobres almas (como eu) que não estão tão familiarizadas com o jargão das Esferas Unitárias e SVDs - o que é bom saber.
Minha fonte é esta nota de aula do Prof. Tibshirani
Para que um problema de otimização seja resolvido com técnicas de otimização convexa, existem dois pré-requisitos.
A maioria das formulações de PCA envolve uma restrição na classificação de uma matriz.
Nesse tipo de formulações de PCA, a condição 2 é violada. Porque, a restrição quer a n k ( X)=k, is not convex. For example, let J11 , J22 be 2 × 2 zero matrices with a single 1 in the upper left corner and lower
right corner respectively. Then, each of these have rank 1, but their average has rank 2.
fonte