Para realizar el análisis de componentes principales (ACP), hay que restar las medias de cada columna de los datos, calcular la matriz de coeficientes de correlación y, a continuación, hallar los vectores propios y los valores propios. Bueno, más bien, esto es lo que hice para implementarlo en Python, salvo que sólo funciona con matrices pequeñas porque el método para hallar la matriz del coeficiente de correlación (corrcoef) no me permite usar un array con alta dimensionalidad. Como tengo que usarlo para imágenes, mi implementación actual no me ayuda mucho.
He leído que es posible simplemente tomar su matriz de datos $D$ y calcula $DD^\top/n$ en lugar de $D^\top D/n$ pero a mí no me funciona. Bueno, no estoy exactamente seguro de entender lo que significa, además del hecho de que se supone que es un $n \times n$ en lugar de $p\times p$ (en mi caso $p\gg n$ ). Leí sobre ello en los tutoriales de eigenfaces, pero ninguno de ellos parecía explicarlo de forma que realmente pudiera entenderlo.
En resumen, ¿existe una descripción algorítmica sencilla de este método para que pueda seguirlo?