No es raro que alguien lo etiquete como una técnica no supervisada. Puede hacer un análisis de los vectores propios y eso ayuda a explicar el comportamiento de los datos. Naturalmente, si su transformación aún tiene muchas características, este proceso puede ser bastante difícil. Sin embargo, es posible, por lo que lo considero aprendizaje automático.
Editar:
Como mi respuesta fue seleccionada (no tengo idea de por qué), pensé que agregaría más detalles.
PCA hace dos cosas que son equivalentes. Primero, y lo que comúnmente se conoce, maximiza las variaciones. En segundo lugar, minimiza el error de reconstrucción al observar distancias por pares.
Al observar los vectores propios y los valores propios, se vuelve bastante simple deducir qué variables y características están contribuyendo a la varianza y también cómo se mueven las diferentes variables junto con otras.
Al final, realmente depende de cómo se defina el "aprendizaje". PCA aprende un nuevo espacio de características que captura las características del espacio original. Tiendo a pensar que puede ser significativo.
¿Es complejo? No, en realidad no, pero ¿eso lo disminuye como algoritmo? No, no lo creo.
PCA es en realidad solo una rotación. En serio, eso es todo: es una forma inteligente de cambiar los datos sobre una nueva base. Esta base tiene propiedades que lo hacen útil como un paso de preprocesamiento para varios procedimientos.
La base es ortonormal . Esto es increíblemente útil si sus características exhiben multicolinealidad (dos o más características son linealmente dependientes): la aplicación de PCA le garantiza una base donde esto ya no es un problema. Este procedimiento se conoce como regresión de componentes principales.
Los vectores de base son significativos con respecto a la propagación de los datos: son los vectores propios de la matriz de covarianza . Esta segunda propiedad da lugar a la famosa utilidad de PCA como técnica de reducción de dimensionalidad: después de rotar los datos, proyectar los datos en un subconjunto de los vectores de base asociados con una porción significativa de la varianza total produce una representación dimensional más baja que (a menudo) retiene ( la mayoría de) las propiedades estructurales (interesantes) de los datos.
Entonces: ¿ es un algoritmo de aprendizaje? Esta es una especie de pregunta filosófica. ¿Qué hace que algo sea un algoritmo de aprendizaje? Ciertamente, PCA no es un algoritmo de aprendizaje "supervisado", ya que podemos hacerlo con o sin una variable objetivo, y generalmente asociamos técnicas "no supervisadas" con la agrupación.
Sí, PCA es un procedimiento de preprocesamiento. Pero antes de descartarlo por completo como algo que no "aprende", me gustaría que considere lo siguiente: la PCA se puede calcular tomando literalmente los vectores propios de la matriz de covarianza, pero no es así como generalmente se hace en la práctica. Un procedimiento numéricamente equivalente y más eficiente computacionalmente es tomar la SVD de los datos. Por lo tanto, PCA es solo una aplicación específica de SVD, por lo que preguntar si PCA es un algoritmo de aprendizaje es realmente preguntar si SVD es un algoritmo de aprendizaje.
Ahora, aunque puede sentirse cómodo descartando PCA como un algoritmo de aprendizaje, he aquí por qué debería sentirse menos cómodo haciendo lo mismo con SVD: es un método sorprendentemente poderoso para el modelado de temas y el filtrado colaborativo . Las propiedades de SVD que lo hacen útil para estas aplicaciones son exactamente las mismas propiedades que lo hacen útil para la reducción de dimensionalidad (es decir, PCA).
SVD es una generalización de la descomposición propia, y eso también es extremadamente poderoso incluso como una versión restringida de SVD. Puede realizar la detección de la comunidad en un gráfico mirando los vectores propios de la matriz de adyacencia, o determinar las probabilidades de estado estable de un modelo de Markov mirando los vectores propios de la matriz de transición, que casualmente también es esencialmente cómo se calcula el PageRank .
Debajo del capó, PCA está realizando una operación de álgebra lineal simple. Pero, esta es exactamente la misma operación que subyace a muchas aplicaciones a las que la mayoría de las personas no cuestionarían la aplicación de la etiqueta "aprendizaje automático". Esta clase de algoritmos se llama Factorización matricial , e incluso se extiende a técnicas sofisticadas como word2vec : de hecho, puede obtener resultados similares a word2vec simplemente aplicando PCA a una matriz de coincidencia de palabras . Generalizando nuevamente, otra palabra para los resultados de PCA es una incrustación . Word2vec es probablemente el ejemplo más famoso de una incrustación, pero la construcción de incrustaciones (como intermediarios) también es un componente importante de la arquitectura codificador-decodificador utilizada en RNNy GAN , que son la vanguardia de la investigación de ML en este momento.
Volviendo a su pregunta: ¿es PCA un "algoritmo de aprendizaje automático"? Bueno, si no es así, también debe estar preparado para decir lo mismo sobre el filtrado colaborativo, el modelado de temas, la detección de la comunidad, la centralidad de la red y los modelos de integración.
El hecho de que sea un álgebra lineal simple no significa que no sea mágico.
fuente
Absolutamente, no es un algoritmo de aprendizaje, ya que no aprende nada en PCA. Sin embargo, se puede usar en diferentes algoritmos de aprendizaje para alcanzar un mejor rendimiento real, como la mayoría de los otros métodos de reducción de dimensiones.
fuente
PCA se utiliza para eliminar funciones redundantes. Encuentra direcciones en las que los datos están altamente distribuidos. No le importan las etiquetas de los datos, porque se trata de proyecciones que representan datos en sentido mínimo cuadrado. Análisis discriminante múltiple,
MDA
intente encontrar proyecciones que separen mejor los datos. Este último considera la etiqueta y encuentra direcciones para que los datos se puedan separar mejor, aunque tiene algunos detalles sobre el tipo de decisión que encuentra. Para concluir,PCA
no es un algoritmo de aprendizaje. Simplemente trata de encontrar direcciones cuyos datos están altamente distribuidos para eliminar las funciones correlacionadas. Enfoques similares, comoMDA
intentar encontrar direcciones para clasificar los datos. AunqueMDA
es muy parecidoPCA
, pero el primero se usa para la clasificación, considera las etiquetas, pero el segundo no se usa directamente para la clasificación.fuente