se é observado matriz de dados e é variável latente, entãoY
Onde é a média dos dados observados, e é o erro / ruído gaussiano nos dados, e é chamado subespaço principal.ϵ W
Minha pergunta é: quando o PCA normal é usado, obteríamos um conjunto de autovetores ortonormais para os quais o seguinte é verdadeiro
Mas no PPCA, não é ortonormal nem autovetor. Então, como posso obter os principais componentes do ?W
Seguindo meu instinto, procurei ppca no MATLAB, onde me deparei com essa linha:
Na convergência, as colunas de W abrangem o subespaço, mas não são ortonormais. ppca obtém os coeficientes ortogonais, coeff, para os componentes por ortogonalização de W.
Eu modifiquei código PPCA um pouco para obter o W , ele correu e depois ortogonalização eu tive P de W .
Por que essa ortogonalização deu autovetores, ao longo dos quais a maioria das variações será vista?
Estou assumindo que a ortogonalização está me fornecendo um conjunto de vetores ortogonais / ortogonais que abrangem o subespaço principal, mas por que essa matriz resultante ortogonalizada é igual a eigenmatrix (eu sei que eigenmatrix em pca também ortonormal)? Posso assumir que o subespaço principal é estendido apenas por um conjunto exclusivo de vetores ortonormais? Nesse caso, ambos os resultados sempre coincidem.
fonte
Respostas:
Esta é uma excelente pergunta.
O PCA probabilístico (PPCA) é o seguinte modelo de variável latente onde é uma observação e é latente vetor variável; geralmente . Observe que isso difere da análise fatorial em apenas um pequeno detalhe: a estrutura de covariância de erros no PPCA é e no FA é uma matriz diagonal arbitrária .
Tipping & Bishop, 1999, Análise Probabilística de Componentes Principais provam o seguinte teorema: a solução de máxima verossimilhança para PPCA pode ser obtida analiticamente e é dada por (Eq. 7): que é uma matriz de direções principais principais (vetores próprios da matriz de covariância), é a matriz diagonal dos valores próprios correspondentes, também é fornecida por uma fórmula explícita e é uma matriz de rotação arbitrária (correspondente a rotações no espaço latente). L q q Λ q σ 2 M L R Q×q
AWML
ppca()
função implementa o algoritmo de maximização de expectativa para ajustar-se ao modelo, mas sabemos que ele deve convergir para o conforme indicado acima.Sua pergunta é: como obter se você conhece .W M LUq WML
A resposta é que você pode simplesmente usar a decomposição de valores singulares de . A fórmula acima já possui o formato matriz ortogonal vezes matriz diagonal vezes matriz ortogonal, portanto fornece o SVD e, como é único, você receberá como vetores singulares deixados como .U q V M LWML Uq WML
É exatamente isso que a
ppca()
função do Matlab está fazendo na linha 305:Não! Existe um número infinito de bases ortogonais que abrangem o mesmo subespaço principal. Se você aplicar algum processo arbitrário de ortogonalização ao não há garantia de obter o . Mas se você usar SVD ou algo equivalente, ele funcionará.U qWML Uq
fonte