Je peux vous donner ma propre explication / preuve de la PCA, qui, à mon avis, est très simple et élégante, et ne nécessite rien d’autre que des connaissances de base en algèbre linéaire. Cela a été assez long, parce que je voulais écrire dans un langage simple et accessible.
Supposons que nous ayons quelques échantillons de données provenant d'un espace à n dimensions. Maintenant, nous voulons projeter ces données sur quelques lignes dans l’ espace à n dimensions, de manière à conserver le plus de variance possible (c’est-à-dire que la variance des données projetées doit être aussi grande que celle des données originales. possible).Mnn
Maintenant, observons que si nous traduisons (déplacer) tous les points par un vecteur , la variance reste le même, puisque le déplacement tous les points par β se déplaceront leur moyenne arithmétique par β ainsi, et la variance est linéairement proportionnelle à Σ M i = 1 ‖ x i - μ ‖ 2 . Nous traduisons donc tous les points par - μ , de sorte que leur moyenne arithmétique devienne 0 , pour le confort de calcul. Notons les points traduits par x ′ i = x i - μβββ∑Mi=1∥xi−μ∥2−μ0X′je= xje- μ. Nous allons aussi observer, que la variance peut maintenant être exprimé simplement comme .ΣMi = 1∥ x′je∥2
Maintenant le choix de la ligne. Nous pouvons décrire toute ligne comme un ensemble de points satisfaisant l’équation , pour certains vecteurs v , w . Notez que si nous déplaçons la ligne par un vecteur γ orthogonal à v , toutes les projections sur la ligne seront également déplacées par γ , de sorte que la moyenne des projections sera déplacée par γx = α v + wv , wγvγγla variance des projections restera donc inchangée. Cela signifie que nous pouvons déplacer la ligne parallèlement à elle-même et ne pas modifier la variance des projections sur cette ligne. Encore une fois pour des raisons de commodité, limitons-nous aux lignes passant par le point zéro (cela signifie les lignes décrites par ).x = α v
Bon, supposons maintenant que nous avons un vecteur qui décrit la direction d’une ligne qui est un candidat possible pour la ligne que nous recherchons. Nous devons calculer la variance des projections sur la droite α v . Nous aurons besoin de points de projection et de leur moyenne. De l' algèbre linéaire , nous savons que dans ce cas simple la projection de x ' i sur α v est ⟨ x i , v ⟩ / ‖ v ‖ 2 . Limitons-nous désormais aux seuls vecteurs unitaires v . Cela signifie que nous pouvons écrire la longueur de la projection du point x 'vα vX′jeα v⟨ xje, V ⟩ / ∥ v ∥2v survsimplement⟨x ' i ,v⟩.X′jev⟨ x′je, V ⟩
Dans certaines des réponses précédentes, quelqu'un a dit que PCA minimise la somme des carrés de distances par rapport à la ligne choisie. Nous pouvons maintenant voir que c’est vrai, car la somme des carrés des projections plus la somme des carrés des distances de la ligne choisie est égale à la somme des carrés des distances du point . En maximisant la somme des carrés des projections, nous minimisons la somme des carrés des distances et inversement, mais il ne s'agissait que d'une digression réfléchie, pour en revenir à la preuve.0
En ce qui concerne la moyenne des projections, observons que fait partie de certaines bases orthogonales de notre espace, et que si nous projetons nos points de données sur chaque vecteur de cette base, leur somme s’annulera (c’est comme ça parce que la projection sur la les vecteurs de la base sont comme écrire les points de données dans la nouvelle base orthogonale). Donc, la somme de toutes les projections sur le vecteur v (appelons la somme S v ) et la somme des projections sur les autres vecteurs de la base (appelons-la S o ) est 0, car c'est la moyenne des points de données. Mais S v est orthogonal à S o ! Cela signifie que S o = S vvvSvSoSvSo .So= Sv= 0
La moyenne de nos projections est donc . 0Bien, c'est pratique, car cela signifie que la variance est simplement la somme des carrés des longueurs des projections, ou dans les symboles
Σi = 1M( x′je⋅ v )2= Σi = 1MvT⋅ x′ Tje⋅ x′je⋅ v = vT⋅ ( Σi = 1MX′ Tje⋅ xje) ⋅ v .
Et bien, tout à coup, la matrice de covariance est apparue. Nous allons noterons simplement par . Cela signifie que nous cherchons maintenant un vecteur unité v qui maximise v T ⋅ X ⋅ v , pour une matrice définie semi-positif X .XvvT⋅ X⋅ vX
Prenons maintenant les vecteurs propres et les valeurs propres de la matrice et notons-les par e 1 , e 2 , … , e n et λ 1 , … , λ n , tels que λ 1 ≥ λ 2 , ≥ λ 3 … . Si les valeurs λ ne se dupliquent pas, les vecteurs propres forment une base orthonormée. S'ils le font, nous choisissons les vecteurs propres de manière à ce qu'ils forment une base orthonormale.Xe1, e2, … , Enλ1, … , Λnλ1≥ λ2, ≥ λ3…λ
Maintenant , nous allons Calculons un vecteur propre e i . Nous avons e T i ⋅ X ⋅ e i = e T i ⋅ ( λ i e i ) = λ i ( ‖ e i ‖ 2 ) 2 = λ i .vT⋅ X⋅ veje
eTje⋅ X⋅ eje= eTje⋅ ( λjeeje) = λje( ∥ eje∥2)2= λje.
Assez bien, cela nous donne pour e 1 . Prenons maintenant un vecteur arbitraire v . Depuis forment une base des vecteurs propres orthonormé, on peut écrire v = Σ n i = 1 e i ⟨ v , e i ⟩ , et nous avons Σ n i = 1 ⟨ v , e i ⟩ 2 = 1 . Nous allons désignent β i = ⟨ v , e i ⟩ .λ1e1vv = ∑ni = 1eje⟨ V , eje⟩Σni = 1⟨ V , eje⟩2= 1βje= ⟨ V , eje⟩
Maintenant , nous allons compter . On réécrit v comme une combinaison linéaire de e i , et a : ( n Σ i = 1 β i e i ) T ⋅ X ⋅ ( n Σ i = 1 β i e i ) = ( n Σ i = 1 β i e i ) ⋅ ( n Σ ivT⋅ X⋅ vveje
( Σi = 1nβjeeje)T⋅ X⋅ ( Σi = 1nβjeeje) = ( Σi = 1nβjeeje) ⋅ ( Σi = 1nλjeβjeeje) = ∑i = 1nλje( βje)2( ∥ eje∥2)2.
La dernière équation vient du fait que les vecteurs propres ont été choisis orthogonaux par paires, de sorte que leurs produits de points sont nuls. Maintenant, parce que tous les vecteurs propres sont également d' une unité de longueur, on peut écrire , où β 2 i sont tous positifs, et la somme de 1 .vT⋅ X⋅ v = Σni = 1λjeβ2jeβ2je1
Cela signifie que la variance de la projection est une moyenne pondérée de valeurs propres. Certes, il est toujours inférieur à la plus grande valeur propre, raison pour laquelle nous devrions choisir le premier vecteur PCA.
l i n ( e2, e3, … , En)e2
Σki = 1λje/ Σni = 1λje
kkv1, … , Vk
Σj = 1kΣi = 1nλjeβ2je j= Σi = 1nλjeγje
γje=Σkj = 1β2je j.
ejev1, ... ,Vkvous1, ... , un - keje= Σkj = 1βje jvj+ ∑n - kj = 1θj⟨ eje, vousj⟩∥ eje∥2= 1Σkj = 1β2je j+ ∑n - kj = 1θ2j= 1γje≤ 1je
Σni = 1λjeγjeγje≤ 1Σni = 1γje= kΣki = 1λjek