Qual é a função objetivo do PCA?

42

A análise de componentes principais pode usar a decomposição da matriz, mas isso é apenas uma ferramenta para chegar lá.

Como você encontraria os principais componentes sem o uso de álgebra matricial?

Qual é a função objetivo (objetivo) e quais são as restrições?

Neil McGuigan
fonte
1
Talvez esteja faltando alguma coisa, por favor, corrija-me se estiver errado, mas deve ser possível (pelo menos em princípio) construir o que é feito no PCA usando matrizes como um problema de programação linear (complicado), mas não saiba como você declararia todas as restrições necessárias. Também não tenho certeza de que seria muito simples de fazer, em comparação com apenas o uso do PCA. Por que você está tentando evitar matrizes?
Chris Simokat
@ Chris Não vejo como se pode chegar a um problema de programação linear. Também não entendi que matrizes deveriam ser evitadas no cálculo . A questão era que tipo de problema é resolvido pelo PCA, e não da maneira como é feito (calculando o SVD, por exemplo). A solução do cardeal diz que você encontra direções ortogonais sucessivas de variação máxima . A solução que apresentei diz que você encontra hiperplanos com o mínimo de erro de reconstrução.
NRH
@chris Espero encontrar outra maneira de visualizar o PCA, sem a álgebra matricial, para aumentar minha compreensão.
Neil McGuigan
1
@ Chris, você tem uma função de objetivo quadrático e uma restrição de igualdade de norma . Como alternativa, na formulação da resposta da @ NRH, você tem uma restrição de classificação da matriz. Isso não vai acabar com um problema de programação linear. O @NRH fornece uma boa intuição e, de fato, existe uma conexão muito estreita entre as duas perspectivas que foram dadas no PCA. Talvez em colaboração com o @NRH, possamos adicioná-lo ao seu post para tornar o conjunto completo de respostas mais completo. 2
cardeal
1
@NRH, na verdade, eu gosto muito de ESL , mas acho que o tratamento desse tópico é bastante superficial, assim como ocorre com muitos dos tópicos do livro. Em particular, eles não provam (ou mesmo atribuem como exercício) a parte importante da solução para o problema de otimização que você fornece.
cardeal

Respostas:

41

Sem tentar fornecer um iniciador completo no PCA, do ponto de vista da otimização, a principal função objetivo é o quociente de Rayleigh . A matriz que figura no quociente é (alguns múltiplos) da matriz de covariância de amostra onde cada é um vector de características e é a matriz de tal modo que a -ésima linha é .xipXix T i

S=1ni=1nxixiT=XTX/n
xipXixiT

O PCA procura resolver uma sequência de problemas de otimização. O primeiro da sequência é o problema irrestrito

maximizeuTSuuTu,uRp.

Desde, o problema irrestrito acima é equivalente ao problema restrito uTu=u22=uu

maximizeuTSusubject touTu=1.

Aqui é onde a álgebra da matriz entra. Como é uma matriz semidefinida positiva simétrica (por construção!), Ela tem uma decomposição de autovalor da forma onde é matriz ortogonal (então ) e é uma matriz diagonal com entradas não-negativas tais que .S

S=QΛQT,
QQQT=IΛλiλ1λ2λp0

Portanto, . Como está restrito no problema a ter uma norma de um, também o é pois , em virtude de ser ortogonal.uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

Mas, se queremos maximizar a quantidade sob as restrições que , o melhor que podemos fazer é: defina , ou seja, e para .i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

Agora, retornando o correspondente , que é o que buscamos em primeiro lugar, obtemos que onde indica a primeira coluna de , isto é, o vector próprio correspondente ao maior valor próprio de . O valor da função objetivo também é facilmente visto como .u

u=Qe1=q1
q1QSλ1

Os vetores de componentes principais restantes são encontrados resolvendo a sequência (indexada por ) dos problemas de otimização Portanto, o problema é o mesmo, exceto que adicionamos a restrição adicional de que a solução deve ser ortogonal a todas as soluções anteriores na sequência. Não é difícil estender a discussão acima indutivamente para mostrar que a solução do th problema é, de facto, , o th vector próprio de .i

maximizeuiTSuisubject touiTui=1uiTuj=01j<i.
iqiiS

A solução PCA também é frequentemente expressa em termos da decomposição de valor singular de . Para ver por isso, deixe . Então e então (estritamente falando, até assinar flips) e .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

Os componentes principais são encontrados projetando nos vetores dos componentes principais. A partir da formulação SVD apresentada, é fácil ver que X

XQ=XV=UDVTV=UD.

A simplicidade de representação dos vetores de componentes principais e dos próprios componentes principais em termos do SVD da matriz de recursos é um dos motivos pelos quais o SVD apresenta tanto destaque em alguns tratamentos de PCA.

cardeal
fonte
Se apenas os primeiros valores / vetores singulares forem necessários, Nash e Shlien fornecerão um algoritmo remanescente do método de potência usual para calcular valores próprios dominantes. Isso pode ser do interesse do OP.
JM não é estatístico
@ NRH, obrigado por capturar (e corrigir) meus erros de digitação antes que eu conseguisse vê-los!
cardeal
1
Olá @ cardinal, obrigado pela sua resposta. Mas parece que você não deu o passo de provar por que a otimização seqüencial leva a um ótimo global. Poderia, por favor, elaborar sobre isso? Obrigado!
Lifu Huang
21

A solução apresentada pelo cardeal concentra-se na matriz de covariância da amostra. Outro ponto de partida é o erro de reconstrução dos dados por um hiperplano q- dimensional. Se os pontos de dados p- dimensionais são o objetivo é resolverx1,,xn

minμ,λ1,,λn,Vqi=1n||xiμVqλi||2

para uma matriz com colunas ortonormais e . Isso fornece a melhor classificação q- reconstrução conforme medido pela norma euclidiana, e as colunas da solução são os primeiros q vetores de componentes principais.p×qVqλiRqVq

Para a solução para e (isso é regressão) é Vqμλi

μ=x¯=1ni=1nxiλi=VqT(xix¯)

Para facilitar a notação, vamos supor que tenha sido centralizado nos cálculos a seguir. Temos então que minimizar xi

i=1n||xiVqVqTxi||2

sobre com colunas ortonormais. Observe que é a projeção no espaço da coluna q- dimensional. Portanto, o problema é equivalente a minimizar ao longo do posto de q projecções . Ou seja, precisamos maximizar sobre a classificação q projeções , onde é a matriz de covariância de amostra. AgoraVqP=VqVqT

i=1n||xiPxi||2=i=1n||xi||2i=1n||Pxi||2
P
i=1n||Pxi||2=i=1nxiTPxi=tr(Pi=1nxixiT)=ntr(PS)
PS
tr(PS)=tr(VqTSVq)=i=1quiTSui
onde são as colunas (ortonormais) em , e os argumentos apresentados na resposta do @ cardinal mostram que o máximo é obtido usando o ' s são vetores próprios para com os maiores valores próprios.u1,,uqqVquiqSq

O erro de reconstrução sugere uma série de generalizações úteis, por exemplo, componentes principais esparsos ou reconstruções por variedades de baixa dimensão em vez de hiperplanos. Para detalhes, consulte a Seção 14.5 em Os elementos do aprendizado estatístico .

NRH
fonte
(+1) Bons pontos. Algumas sugestões: Seria bom definir e seria muito bom fornecer uma prova curta do resultado. Ou, alternativamente, pode ser conectado ao problema de otimização que envolve os quocientes de Rayleight. Eu acho que isso tornaria as respostas para essa pergunta muito completas! λi
cardeal
@ cardinal, acredito que concluí as etapas que faltam para passar da formulação de reconstrução para o problema que você resolve.
NRH
Bom trabalho. Acredito que a única lacuna restante esteja em sua última declaração. Não é imediatamente aparente que otimizar a soma é o mesmo que executar a sequência de otimizações na minha resposta. Na verdade, acho que não segue diretamente, em geral. Mas, também não precisa ser abordado aqui.
cardeal
@ cardinal, segue por indução. Você fornece o início da indução e, na etapa de indução, escolha vetores ortonormais que maximizem a soma e organize-os para que seja um vetor unitário ortogonal a . Então, pelos seus resultados e pela suposição de indução . Obviamente, a base não é única para o espaço dimensional. Você também pode generalizar o "argumento de combinação convexa" usado para fornecer uma prova direta. w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH
1
@ cardinal, não estou forçando um aninhamento, apenas usando uma consideração de dimensão. Se tivermos um subespaço dimensional, você sempre poderá escolher nesse espaço, de modo que seja ortogonal a um subespaço -dimensional. Então você preenche a base da maneira que quiser. qwq(q1)w
NRH
4

Veja NIPALS ( wiki ) para um algoritmo que não usa explicitamente uma decomposição de matriz. Suponho que é isso que você quer dizer quando diz que deseja evitar álgebra matricial, já que realmente não pode evitar álgebra matricial aqui :)

JMS
fonte