7 votos

Descripción clara de PCA usando SVD de matriz de covarianza

Después de leer miles de artículos del PCA y de enfermedad vesicular porcina, su uso en un número de marcos de programación e incluso la aplicación de técnicas similares (como el Azar de Indexación) me enteré de que todavía tengo dudas acerca de algunas partes de PCA para la reducción de dimensiones. Así que permítanme mostrarles lo que yo sé y lo que tengo dudas acerca de.

Supongamos que tenemos $N$ observaciones de $M$-dimensional de datos, organizado como matriz $A \in R^{N * M}$. Para realizar PCA primero debemos calcular el MLE estimación de la matriz de covarianza $\Sigma \in R^{M*M}$:

$$\Sigma=\frac{1}{N}\sum_{i=1}^N(x_i - \bar x)(x_i - \bar x)^T$$

donde $x_i \in R^M$ $i$- ésima observación, $\bar x = \frac{1}{N}\sum_{k=1}^{N}x_k \in R^M$ es decir la observación.

Entonces podemos descomponer $\Sigma$ usando SVD de la siguiente manera:

$$\Sigma = USV^T$$

Ahora aquí hay varias cosas que no estoy seguro acerca de:

  1. ¿Cuáles son las dimensiones de $U$, $S$ y $V^T$?
  2. En $USV^T$ ¿qué es exactamente considerado como autovalores y cual de ellos debo usar como componentes principales?
  3. ¿Cómo puedo proyecto original observaciones $x_i$ en el nuevo espacio reducido y viceversa?

UPD. Hay una forma diferente para calcular PCA utilizando SVD - por factorización de la matriz de datos ($A$ aquí) en lugar de la matriz de covarianza ($\Sigma = AA^T$). Buena descripción de este proceso puede encontrarse en esta respuesta.

9voto

Tyler Puntos 274
  • ¿Cuáles son las dimensiones de $U$, $S$ y $V^T$?

Desde $\Sigma$ es una M por M de la matriz, las tres matrices $U$, $S$, $V^T$ serán todos los M y M de las matrices. Debido a la aplicación de enfermedad vesicular porcina a N por M de la matriz, usted conseguirá el $U_{N{\times}N}$, $S_{N{\times}M}$, y $V^T_{M{\times}M}$. Usted puede verificar que en matlab. Cuando truncar los valores singulares de a $S$ usted también debe eliminar las partes correspondientes en $U$$V^T$.

  • En $USV^T$ ¿qué es exactamente considerado como autovalores y cual de ellos debo usar como componentes principales?

PCA debe ser realizada por hacer autovalor descomposición de la matriz de covarianza $\Sigma$, o hacerse mediante la aplicación de enfermedad vesicular porcina $A$. La izquierda vectores singulares de $SVD(A)$ provienen de la eigen vectores de $AA^T$, y el derecho vectores singulares de $SVD(A)$ a partir de los vectores propios de a $A^TA$. Pero usted necesita a fin de ellos, de acuerdo con los valores propios de grande a pequeño, y hacer de ellos ortonormales. $A^TA$ se llama Matriz de Gram y se relaciona con la matriz de covarianza $\Sigma$. Si las dimensiones de los vectores en $A$ (M totalmente) se centran ya, Gram Matriz = N * matriz de Covarianza. Comprobar la Wikipedia y algunos tutoriales de enfermedad vesicular porcina y la PCA.

  • ¿Cómo puedo proyecto original observaciones $x_i$ en el nuevo espacio reducido y viceversa?

Si la aplicación de enfermedad vesicular porcina $A$ para PCA, sería $u_i*S$; si la aplicación eigen descomposición de una matriz de covarianza $\Sigma$, e $V$ es autovectores de a$\Sigma$$x_i*V$.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X