14 votos

¿Por qué usamos PCA para acelerar algoritmos de aprendizaje cuando simplemente podríamos reducir el número de características?

En una máquina de aprendizaje supuesto, me enteré de que uno de uso común de la PCA (Principal Component Analysis) es la velocidad de otros algoritmos de aprendizaje automático. Por ejemplo, imagine que usted es el entrenamiento de un modelo de regresión logística. Si usted tiene un conjunto de entrenamiento, $(x^{(i)},y^{(i)})$ para i de 1 a n y resulta que la dimensión de su vector x es muy grande (digamos que una de las dimensiones), usted puede usar el PCA para obtener una dimensión menor (digamos k dimensiones) característica del vector z. Entonces usted puede entrenar a su modelo de regresión logística en el conjunto de entrenamiento $(z^{(i)},y^{(i)})$ para i de 1 a n. La formación de este modelo será más rápido porque su función vectorial tiene menos dimensiones.

Sin embargo, no entiendo por qué no se puede reducir la dimensión de su función de vector de k dimensiones simplemente eligiendo k de sus características al azar y eliminando el resto.

La z de los vectores de combinaciones lineales de su una característica de los vectores. Desde la z de los vectores están confinados a una k-dimensional de la superficie, se puede escribir la a-k eliminado los valores de la característica como una función lineal de las k resto de los valores de la característica, y por lo tanto todos los de la z puede estar formado por la combinación lineal de k tu cuenta. Así que ¿no debería un modelo formado por un conjunto de entrenamiento con eliminada de las funciones tienen el mismo poder como un modelo formado por un conjunto de entrenamiento, cuya dimensión se redujo por la PCA? No sólo dependen del tipo de modelo y si se basa en algún tipo de combinación lineal?

27voto

Paulius Puntos 369

Supongamos que inicialmente $p$ características, pero esto es demasiado para que usted desea en realidad se ajuste a tu modelo en $d < p$ características. Usted puede elegir el $d$ de sus características y colocar el resto. Si $X$ es nuestra característica de la matriz, esto se corresponde con el uso de $XD$ donde $D \in \{0,1\}^{p \times d}$ recoge exactamente las columnas de a $X$ que queremos incluir. Pero esto ignora toda la información en el resto de las columnas, así que ¿por qué no considerar una dimensión más general de reducción de la $XV$ donde $V \in \mathbb R^{p \times d}$? Esto es exactamente lo PCA: nos encontramos con la matriz $V$ tal que $XV$ contiene la mayor cantidad de información en $X$ como sea posible. No todas las combinaciones lineales son creados iguales. A menos que nuestra $X$ matriz es tan bajo rango que un conjunto aleatorio de $d$ columnas (con alta probabilidad) palmo de la columna espacio de todas las $p$ columnas sin duda no va a ser capaz de hacerlo tan bien como con todos los $p$ características. Parte de la información se pierde, y por lo que nos corresponde para perder la menor información posible. Con PCA, la "información" que estamos tratando de evitar perder es la variación en los datos.

En cuanto a por qué nos limitamos a transformaciones lineales de los predictores, el punto clave en este caso de uso es el tiempo de cálculo. Si pudiéramos hacer de fantasía no-lineal de reducción de dimensiones en $X$ que probablemente podría encajar el modelo en todos los de $X$. Así PCA se sienta perfectamente en la intersección de rápido de calcular y eficaz.

5voto

eiTan LaVi Puntos 131

PCA reduce características preservando la varianza/información de los datos originales. Esto ayuda a que permite el cómputo y no perder la semejanza de los datos de la realidad.

2voto

Silvercode Puntos 438

PCA solución

En primer lugar, tenga cuidado al uso de PCA para este propósito. Como escribí en respuesta a una pregunta relacionada con la PCA no necesariamente conducen a la selección de características que son de carácter informativo para la regresión que se pretende hacer (ver también Jolliffe 1982).

OP solución propuesta

Ahora considere la propuesta de mecanismo alternativo: reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest. Ahora en el enunciado del problema nos pidió que nos suponga que dimension of your vector x is very large. Vamos a llamar a esta dimensión $p$

Hay $pCk$ formas de elegir los $k$ predictores de un grupo de $p$. Para dar un ejemplo, si $p=1000$ y elegimos $k=5$ predictores del conjunto de datos no serían $\approx 8.25 \times 10^{12}$ diferentes modelos que tendría que encajar. Y eso suponiendo que sabíamos que $k=5$, y no $k=6$, etc, etc. Sencillamente, no es un problema que usted quiere a la fuerza bruta en un gran$p$.

Propuesta de solución

Para hacer frente con regresiones donde $p$ es una gran cantidad de sancionados de regresión estrategias han sido propuestas. En particular, el LAZO método va a hacer de reducción de dimensiones , mientras que la construcción de un modelo de regresión mediante la reducción a cero de la contribución de los predictores que no contribuyen lo suficiente para el modelo. Hay una muy inteligente algroithm (LARS) para ajustar el modelo de manera eficiente.

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