Quelle est la fonction objectif de la PCA?


42

L'analyse en composantes principales peut utiliser la décomposition matricielle, mais il ne s'agit que d'un outil pour y parvenir.

Comment trouverais-tu les composantes principales sans utiliser l'algèbre matricielle?

Quelle est la fonction objectif (but) et quelles sont les contraintes?


1
Peut-être que quelque chose me manque alors corrigez-moi si je me trompe, mais il devrait être possible (du moins en principe) de construire ce qui est fait dans PCA en utilisant des matrices comme un problème de programmation linéaire (compliqué), mais je ne le fais pas. savez comment vous énoncez toutes les contraintes requises. De plus, je ne suis pas sûr que ce serait très simple à faire par rapport à la simple utilisation de la PCA. Pourquoi essayez-vous d'éviter les matrices?
Chris Simokat

@ Chris Je ne vois pas comment on peut arriver à un problème de programmation linéaire. Je ne comprenais pas non plus qu'il fallait éviter les matrices dans le calcul . La question était de savoir quel type de problème était résolu par la PCA et non de la manière dont il était traité (en calculant le SVD par exemple). La solution de cardinal dit que vous trouvez des directions orthogonales successives de variance maximale . La solution que j'ai présentée indique que vous trouvez des hyperplans avec une erreur de reconstruction minime.
NRH

@ chris J'espère trouver un autre moyen de visualiser PCA, sans algèbre matricielle, afin d'améliorer ma compréhension de celle-ci.
Neil McGuigan

1
@Chris, vous avez une fonction d'objectif quadratique et une contrainte d'égalité de norme 2 . Alternativement, dans la formulation de la réponse de @ NRH, vous avez une contrainte de rang matriciel. Cela ne va pas se réduire à un problème de programmation linéaire. @NRH donne une bonne intuition et, en fait, il existe un lien très étroit entre les deux perspectives sur la CPA. Peut-être qu'en collaboration avec @NRH, nous pourrons ajouter cela à son message afin de compléter l'ensemble des réponses.
cardinal

1
@NRH, en fait, j'aime beaucoup ESL , mais je pense que le traitement de ce sujet ici est assez superficiel, comme c'est le cas pour la plupart des sujets abordés dans le livre. En particulier, ils ne prouvent pas (ni même assignent comme exercice) la partie importante de la solution au problème d'optimisation que vous donnez.
cardinal

Réponses:


41

Sans essayer de donner un aperçu complet de la PCA, du point de vue de l'optimisation, l' objectif principal est le quotient de Rayleigh . La matrice qui figure dans le quotient est (un multiple de) l'exemple de matrice de covariance , où chaque est un vecteur de fonctions et est la matrice de telle sorte que la ième ligne est .xipxix T i

S=1ni=1nxixiT=XTX/n
xipXixiT

PCA cherche à résoudre une série de problèmes d'optimisation. Le premier de la séquence est le problème sans contrainte

maximizeuTSuuTu,uRp.

Depuis, le problème ci-dessus non contraint est équivalent au problème contraint uTu=u22=uu

maximizeuTSusubject touTu=1.

C’est ici que l’algèbre matricielle entre en jeu. Puisque est une matrice semi-définie positive symétrique (par construction!), Il possède une décomposition en valeurs propres de la forme où est un matrice orthogonale (donc ) et est une matrice diagonale avec des entrées non négatives telles que .S

S=QΛQT,
QQQT=IΛλiλ1λ2λp0

Par conséquent, . Puisque est contraint dans le problème à avoir une norme de un, alors il en est de même de puisque , en vertu de étant orthogonal.uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

Mais, si nous voulons maximiser la quantité sous les contraintes que , le mieux que nous puissions faire est de définissez , c’est-à-dire et pour .i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

Maintenant, en annulant le correspondant , ce que nous recherchions en premier lieu, nous obtenons que où désigne la première colonne de , soit le vecteur propre correspondant à la plus grande valeur propre de . La valeur de la fonction objectif apparaît alors facilement comme étant .u

u=Qe1=q1
q1QSλ1

Les vecteurs de composantes principales restants sont ensuite trouvés en résolvant la séquence (indexée par ) des problèmes d'optimisation Le problème est donc le même, sauf que nous ajoutons la contrainte supplémentaire selon laquelle la solution doit être orthogonale à toutes les solutions précédentes de la séquence. Il est difficile de ne pas étendre l'argument ci - dessus pour montrer que inductivement la solution du e problème est, en effet, , le ème vecteur propre de .i

maximizeuiTSuisubject touiTui=1uiTuj=01j<i.
iqiiS

La solution PCA est également souvent exprimée en termes de décomposition en valeurs singulières de . Pour voir pourquoi, laissez . Alors et ainsi de suite (à proprement parler, jusqu’à signer se retourne) et .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

Les composants principaux sont trouvés en projetant sur les vecteurs des composants principaux. Dans la formulation SVD que nous venons de donner, il est facile de voir que X

XQ=XV=UDVTV=UD.

La simplicité de la représentation des vecteurs de la composante principale et des composantes principales elles-mêmes en termes de SVD de la matrice de caractéristiques est l'une des raisons pour lesquelles la SVD est si bien en évidence dans certains traitements de PCA.


Si seuls les premiers valeurs / vecteurs singuliers sont nécessaires, Nash et Shlien proposent un algorithme rappelant la méthode de la puissance habituelle pour calculer les valeurs propres dominantes. Cela pourrait intéresser le PO.
JM n'est pas statisticien

@NRH, Merci d'avoir attrapé (et corrigé) mes fautes de frappe avant que je réussisse à les voir!
cardinal

1
Bonjour @ cardinal, merci pour votre réponse. Mais il semble que vous n'ayez pas voulu démontrer pourquoi l'optimisation séquentielle conduit à un optimum global. Pourriez-vous élaborer, s'il vous plaît? Merci!
Lifu Huang

21

La solution présentée par cardinal se concentre sur la matrice de covariance de l’échantillon. Un autre point de départ est l’ erreur de reconstruction des données par un hyperplan à q dimensions. Si les points de données à dimensions p sont l’objectif est de résoudrex1,,xn

minμ,λ1,,λn,Vqi=1n||xiμVqλi||2

pour une matrice avec des colonnes orthonormales et . Ceci donne le meilleur classement q -reconstruction tel que mesuré par la norme euclidienne, et les colonnes de la solution sont les q premiers vecteurs de composantes principales.p×qVqλiRqVq

Pour la solution pour et (il s’agit d’une régression) est Vqμλi

μ=x¯=1ni=1nxiλi=VqT(xix¯)

Pour faciliter la notation, supposons que ait été centré dans les calculs suivants. Nous devons ensuite minimiser xi

i=1n||xiVqVqTxi||2

sur avec des colonnes orthonormées. Notez que est la projection sur l' espace de colonne de dimension q . Le problème est donc équivalent à minimiser sur le rang q projections . C’est-à-dire que nous devons maximiser sur le rang q des projections , où est l'exemple de matrice de covariance. À présentVqP=VqVqT

i=1n||xiPxi||2=i=1n||xi||2i=1n||Pxi||2
P
i=1n||Pxi||2=i=1nxiTPxi=tr(Pi=1nxixiT)=ntr(PS)
PS
tr(PS)=tr(VqTSVq)=i=1quiTSui
où sont les colonnes (orthonormées) dans , et les arguments présentés dans la réponse de @ cardinal montrent que le maximum est obtenu en prenant ' s pour être vecteurs propres avec les plus grandes valeurs propres.u1,,uqqVquiqSq

L'erreur de reconstruction suggère un certain nombre de généralisations utiles, par exemple des composantes principales éparses ou des reconstructions par des variétés de faible dimension plutôt que des hyperplans. Pour plus de détails, voir la section 14.5 dans Les éléments de l’apprentissage statistique .


(+1) Bons points. Quelques suggestions: Il serait bon de définir et ce serait vraiment bien de donner une courte preuve du résultat. Ou, alternativement, il peut être connecté au problème d'optimisation impliquant des quotients de Rayleight. Je pense que cela rendrait les réponses à cette question très complètes! λi
cardinal

@ Cardinal, je crois avoir achevé les étapes manquantes pour passer de la formulation de la reconstruction au problème que vous résolvez.
NRH

Bon travail. Je crois que la dernière lacune est dans votre dernière déclaration. Il n'est pas immédiatement évident que l'optimisation de la somme est la même chose que l'exécution de la séquence d'optimisations dans ma réponse. En fait, je ne pense pas que cela découle directement, en général. Mais, il ne faut pas non plus en parler ici.
cardinal

@ cardinal, il s'ensuit par induction. Vous indiquez le début de l'induction et dans l'étape d'induction, choisissez les vecteurs orthonormaux qui maximisent la somme et organisez-les de sorte que soit un vecteur unitaire orthogonal à . Ensuite, par vos résultats, et par l'hypothèse d'induction . Bien entendu, la base n'est pas une base unique pour l' espace dimensionnel. Vous pouvez également généraliser "l'argument de combinaison convexe" que vous utilisez pour donner une preuve directe. w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH

1
@ cardinal, je ne force pas une imbrication, j'utilise simplement une considération de dimension. Si nous avons un sous-espace dimensionnel, vous pouvez toujours choisir dans cet espace, de sorte qu'il soit orthogonal à un sous-espace -dimensionnel. Ensuite, vous remplissez le -basis comme vous le souhaitez. qwq(q1)w
NRH

4

Voir NIPALS ( wiki ) pour un algorithme qui n'utilise pas explicitement une décomposition matricielle. Je suppose que c'est ce que vous voulez dire quand vous dites que vous voulez éviter l'algèbre matricielle puisque vous ne pouvez vraiment pas éviter l'algèbre matricielle ici :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.