si se observa matriz de datos e es variable latente
Donde es la media de los datos observados, y es el error / ruido gaussiano en los datos, y se llama subespacio principal.
Mi pregunta es cuando se usa PCA normal, obtendríamos un conjunto de vectores propios ortonormales para los cuales lo siguiente es cierto
Pero en PPCA, no es un vector ortonormal ni eigen. Entonces, ¿cómo puedo obtener los componentes principales de ?
Siguiendo mi instinto, busqué ppca en MATLAB, donde encontré esta línea:
En la convergencia, las columnas de W abarcan el subespacio, pero no son ortonormales. ppca obtiene los coeficientes ortonormales, coeff, para los componentes por ortogonalización de W.
He modificado el código PPCA un poco para conseguir la W , corrió y después de ortogonalización Me hizo llegar P de W .
¿Por qué esta ortogonalización dio vectores propios, a lo largo de los cuales se verá la mayor parte de la variación?
Supongo que la ortogonalización me está dando un conjunto de vectores ortogonales / ortonormales que abarcan el subespacio principal, pero ¿por qué esta matriz resultante ortogonalizada es igual a eigenmatrix (sé que eigenmatrix en pca también es ortonormal)? ¿Puedo suponer que el subespacio principal se extiende solo por un conjunto único de vectores ortonormales? En ese caso, ambos resultados coincidirán siempre.
fuente
Respuestas:
Esta es una excelente pregunta.
El PCA probabilístico (PPCA) es el siguiente modelo de variable latente donde es una observación y es latente vector variable generalmente . Tenga en cuenta que esto difiere del análisis factorial en solo un pequeño detalle: la estructura de covarianza de error en PPCA es y en FA es una matriz diagonal arbitraria .
Tipping y Bishop, 1999, Probabilistic Component Principal Analysis demuestran el siguiente teorema: la solución de máxima verosimilitud para PPCA se puede obtener analíticamente y viene dada por (Ec. 7): donde es una matriz de direcciones principales (vectores propios de la matriz de covarianza), es la matriz diagonal de los valores propios correspondientes, también viene dada por una fórmula explícita, y es una matriz de rotación arbitraria (correspondiente a rotaciones en el espacio latente).
LaWM L
ppca()
función implementa el algoritmo de maximización de expectativas para ajustarse al modelo, pero sabemos que debe converger a como se anteriormente.Su pregunta es: cómo obtener si conoce .Uq WM L
La respuesta es que simplemente puede usar la descomposición de valores singulares de . La fórmula anterior ya tiene la forma de matriz ortogonal multiplicada por matriz diagonal multiplicada por matriz ortogonal, por lo que proporciona la SVD y, como es única, obtendrá como vectores singulares izquierdos de .WM L Uq WM L
Eso es exactamente lo que
ppca()
está haciendo la función de Matlab en la línea 305:¡No! Hay un número infinito de bases ortogonales que abarcan el mismo subespacio principal. Si aplica algún proceso de ortogonalización arbitrario a , no se garantiza que obtenga . Pero si usa SVD o algo equivalente, entonces funcionará.WM L Uq
fuente