L'algorithme PCA peut être formulé en termes de matrice de corrélation (supposons que les données ont déjà été normalisées et que nous ne considérons que la projection sur le premier PC). La fonction objectif peut s'écrire:
C'est très bien, et nous utilisons des multiplicateurs lagrangiens pour le résoudre, c'est-à-dire le réécrire comme:
ce qui équivaut à
et donc ( voir ici sur Mathworld ) semble être égal à
Mais cela dit de maximiser la distance entre le point et la ligne, et d'après ce que j'ai lu ici , c'est incorrect - ce devrait être , pas . Où est mon erreur?
Ou, quelqu'un peut-il me montrer le lien entre maximiser la variance dans l'espace projeté et minimiser la distance entre le point et la ligne?
pca
optimization
Cam.Davidson.Pilon
la source
la source
Réponses:
Soit une matrice de données centrée avec observations en lignes. Soit sa matrice de covariance. Soit un vecteur unitaire spécifiant un axe dans l'espace variable. Nous voulons que soit le premier axe principal. nX n Σ=X⊤X/(n−1) w w
Selon la première approche, le premier axe principal maximise la variance de la projection (variance de la première composante principale). Cette variance est donnée par leXw
Selon la deuxième approche, le premier axe principal minimise l'erreur de reconstruction entre et sa reconstruction , c'est-à-dire la somme des distances au carré entre les points d'origine et leurs projections sur . Le carré de l'erreur de reconstruction est donné parX Xww⊤ w
Remarquez le signe moins avant le terme principal. Pour cette raison, minimiser l'erreur de reconstruction revient à maximiser , qui est la variance. Ainsi, minimiser l'erreur de reconstruction équivaut à maximiser la variance; les deux formulations donnent le même .w⊤Σw w
la source