Qual é o subespaço principal no PCA probabilístico?

10

se é observado matriz de dados e é variável latente, entãoYXY

X=WY+μ+ϵ

Onde é a média dos dados observados, e é o erro / ruído gaussiano nos dados, e é chamado subespaço principal.ϵ WμϵW

Minha pergunta é: quando o PCA normal é usado, obteríamos um conjunto de autovetores ortonormais para os quais o seguinte é verdadeiroE

Y=EX

Mas no PPCA, não é ortonormal nem autovetor. Então, como posso obter os principais componentes do ?WWW

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.

user3086871
fonte
1
Apenas para esclarecer minha confusão, verifiquei exatamente onde o W é calculado e o atribui a um novo parâmetro de saída chamado prin_sub. Eu sei que ppca retorna W em SW, mas, para ser absolutamente claro, eu fiz isso de forma redundante. e no documento um exemplo foi dado usando os dados 'hald', usei o código deles: P = orth (SW) also @amoeba Excluí minhas outras perguntas.
user3086871

Respostas:

19

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 .

zN(0,I)xN(Wz+μ,σ2I),
zR q q p σ 2 I ΨxRpzRqqpσ2IΨ

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

WML=Uq(ΛqσML2I)1/2R,
UqqΛqσML2Rq×q

A 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.WML

Sua pergunta é: como obter se você conhece .W M LUqWML

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 LWMLUqWML

É exatamente isso que a ppca()função do Matlab está fazendo na linha 305:

% Orthogonalize W to the standard PCA subspace
[coeff,~] = svd(W,'econ');

Posso assumir que o subespaço principal é estendido apenas por um conjunto exclusivo de vetores ortonormais?

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 qWMLUq

ameba
fonte
1
Que resposta excelente! Você é incrível! Grande ajuda! Muito obrigado. @amoeba
user3086871