¿Por qué usamos PCA para acelerar los algoritmos de aprendizaje cuando podríamos reducir la cantidad de funciones?


12

En un curso de aprendizaje automático, aprendí que un uso común de PCA ( Análisis de componentes principales ) es acelerar otros algoritmos de aprendizaje automático. Por ejemplo, imagine que está entrenando un modelo de regresión logística. Si tiene un conjunto de entrenamiento para i de 1 a n y resulta que la dimensión de su vector x es muy grande (digamos dimensiones), usted puede usar PCA para obtener una dimensión más pequeña (digamos k dimensiones) con el vector de características z. Luego puede entrenar su modelo de regresión logística en el conjunto de entrenamiento para i de 1 a n. El entrenamiento de este modelo será más rápido porque su vector de características tiene menos dimensiones.(x(i),y(i))(z(i),y(i))

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

Los vectores z son combinaciones lineales de sus vectores de características. Dado que los vectores z están confinados a una superficie k-dimensional, puede escribir los valores de características ak eliminados como una función lineal de los k valores de características restantes, y así todas las z pueden formarse mediante combinaciones lineales de sus k características. Entonces, ¿no debería un modelo entrenado en un conjunto de entrenamiento con características eliminadas tener el mismo poder que un modelo entrenado en un conjunto de entrenamiento cuya dimensión se redujo por PCA? ¿Depende solo del tipo de modelo y de si se basa en algún tipo de combinación lineal?


1
las columnas desplegables conducirán a perder más información en comparación con el uso de PCA
Haitao Du

2
¿Qué tiene que ver la reacción en cadena de la polimerasa? :-) --- Con toda seriedad, siempre debe deletrear un término antes de usar una abreviatura.
Carl Witthoft

Puede ver los vectores propios obtenidos por PCA como nuevas características, por lo que PCA permite reducir características, al recombinar las que tenemos en las que capturan más de la varianza de las que comenzamos.
mathreadler

Respuestas:


26

Digamos que inicialmente tiene características , pero esto es demasiado, por lo que realmente desea ajustar su modelo a las características . Puede elegir de sus funciones y dejar el resto. Si es nuestra matriz de características, esto corresponde a usarpd<pdXXDD{0,1}p×dXXVVRp×dVXVXXdpp

XX


2
+1. Sin embargo, todavía tiene sentido preguntar por qué la variación en X (que PCA intenta retener) debería ser relevante para predecir Y ... Este es un hilo relacionado: stats.stackexchange.com/questions/141864 .
ameba dice Reinstate Monica

4

PCA reduce las características al tiempo que preserva la varianza / información en los datos originales. Esto ayuda a permitir el cálculo sin perder la semejanza de los datos con la realidad.


2

Solución de PCA

Primero, tenga cuidado al usar PCA para este propósito. Como escribí en respuesta a una pregunta relacionada, PCA no necesariamente conduce a la selección de características que son informativas para la regresión que tiene la intención de hacer (ver también Jolliffe 1982 ).

OP propuesta solución

reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.dimension of your vector x is very largep

pCkkpp=1000k=58.25×1012k=5k=6p

Solución sugerida

p

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.