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.