Analyse en composantes principales
Mme Leila HAMDAD
ESI, LCSI.
Introduction au Machine Learning
Plan
Introduction au Machine Learning
Introduction
L’ACP est une méthode descriptive permettant de traiter des tableaux de
données quantitatives Xn,p (de grandes dimension) où n représente le
nombre d’individus et p le nombre de variables quantitatives. Le but de
l’ACP est de résumer la grande quantité d’information contenue dans X ,
et cela dans un tableau de plus petite dimension Yn,q (q < p). Et ainsi
fournir une représentation visuelle tels que :
Y j est une combinaison linéaire des p variables quantitatives,
X j , j = 1, ..., p.
Les variables (Y j )j=1,...q sont non correlées entre elles.
Le tableau X peut être reconstitué à partir du nouveau tableau Y .
Y contient le maximum d’informations sur X .
Exemple de tableau de données :
- Notes de n étudiants en p modules,
- Relevés des dépenses de ménages en 10 postes.
- Teneur en mineraux de certaines eaux, ect.......
Introduction au Machine Learning
Tableau de données
X1 ··· Xj ··· Xp
1 ··· ··· xj1 ··· xp1
..
.
i x11 xji xpi
..
.
n x1n xjn xpn
- x1j représente la mesure de la variable X j sur l’individu
1 ”i”.
xi
A chaque individu ”i” on associe le vecteur Xi = ... et un poids
xip
pi , tel que 0 ≤ pi ≤ 1.
Introduction au Machine Learning
Le nuage de n individus appartenant à Rp :
ℵ(I ) = {Xi ∈ Rp , i = 1, ..., n} .
L’espace Rp est muni d’une métrique qu’on notera M. Cette métrique
peut être euclidienne c’est à dire que :
1 0 0
.. .
M= . ..
1
ou
1
σ1 0 0
.. ..
M=
. .
1
σp
σj représente l’écart type de de la variable X j .
Remarque
Notons que le choix de l’une ou de l’autre des métriques se fera selon des
cas qu’on citera ci après.
Introduction au Machine Learning
x1j
A chaque variable est associé le vecteur X j = ... de Rn et on
xnj
définit le nuage de variables par :
ℵ(J) = X j ∈ Rn , j = 1, ..., p
p1 0
Rn est muni de la métrique des poids Dp =
.. . Lorsque
.
0 pn
les individus sont pris aléatoirement équiprobablement alors ;
pi = n1 , ∀i = 1, . . . , n.
Introduction au Machine Learning
Le centre de gravité du nuage N(I)
Il est défini par
n
1
xi1
P
x1
n
i=1
n
1 X
..
..
g= xi = =
n . .
n
i=1 xp
1
xip
P
n
i=1
où x j représente la moyenne arithmétique de la j i ème variable.
L’inertie est une mesure de dispersion multidimentionnelle, elle est défini
par :
X n
Ig = pi kxi − g k2M .
i=1
La mesure de dispersion dans le cas unidimentionnel n’est rien d’autre
que l’ écart type.
Introduction au Machine Learning
Formulation du problème d’ACP
Le principe est d’obtenir une représentation approchée du nuage N(I )
(N(J)) dans un sous espace de plus faible dimension par projection.
Ainsi, formellement :
1- On commence par rechercher un sous espace vectoriel de dimension 1,
E1 = ∆u1 engendré par un vecteur unitaire u1 , qui ajuste au mieux le
N(I ) de Rn
2- Ensuite rechercher un sous espace vectoriel de dimension 2, E2 en
déterminant ∆u2 orthogonal à ∆u1 qui ajuste au mieux le N(I ) de Rn
3- En général rechercher un sous espace vectoriel Ek de dimension k en
déterminant ∆uk orthogonal à ∆uk−1 qui ajuste au mieux le N(I ) de Rn
avec
Ek = ∆uk ⊕ ∆uk−1
Introduction au Machine Learning
Détermination des axes factoriels
A partir de maintenant, on suppose que le tableau X est centré.
Ajustement sur (RP , M) : Dans ce cas le nuage N(I ) est ajusté.
On recherche le sous espace vectoriel de dim1, ∆u1 passant par l’origine
et engendré par le vecteur unitaire u1 qui ajuste au mieux le nuage N(I).
Cela se fait, en déterminant u1 qui maximise l’inertie du nuage N(I ),
défini précedemment.
Notons par αi la valeur de projection du vecteur individu Xi du nuage
N(I ) sur l’axe ∆uk engendré par le vecteur unitaire uk , αi est donnée
par :
αi = hXi , u1 iM = Xit Mu1 ,
Le vecteur de projection de tout les individus est donc donné par :
t
α1 X1 Mu1
.. ..
Y = . = = XMu1
.
αn Xnt Mu1
Y est appelé composante principale.
Introduction au Machine Learning
Ainsi l’inertie du nuage N(I ) défini plus haut s’écrit :
I = φ(u) =k Y k2Dp = u1t MX t Dp XMu1 .
V = X t Dp X représente la matrice de variance covariance des p variables.
Dans la suite, nous déterminons u1 unitaire qui maximise φ(u).
Commençons par écrire la fonction de Lagrange correspondant à notre
problème d’optimisation :
L(u) = φ(u) − λ(u t Mu − 1)
u1 est solution du système suivant :
dL(u)
du (u1 ) = 0
u1t Mu1 = 1
Aprés résolution, nous obtenons l’équation suivante :
VMu1 = λu1
. u1 est vecteur propre de la matrice VM associé à la valeur propre λ.
Laquelle des valeurs propres de VM ?
En utilisant le contrainte sur le vecteur propre et en multipliant chaque
coté de l’équation précédente par u1T M, nous obtenons :
u1t MVMu1 = λu1t Mu1 = λ.
Introduction au Machine Learning
Pour retrouver le sous espace vectoriel de dimension 2 qui ajuste au
mieux le nuage de points N(I ), il suffit de trouver u2 vecteur propre
unitaire orthogonale à u1 qui maximise φ(u).
Dans ce cas la fonction de Lagrange sous deux contraintes s’écrit :
L(u, v ) = L(u) = φ(u) − λ(u t Mu − 1) − αu t Mv .
u2 est solution du systhème
dL(u,v )
du (u2 , u1 ) = 0
dL(u,v )
dv (u2 , u1 ) = 0
u2t Mu2 = 1, u2t Mu1
=0
Aprés résolution du système et en prenant en considération les
contraintes, on déduit que u2 est vecteur propre de VM associ é à la
deuxième plus grande valeur propre.
En général, le sous espace vectoriel de dimension k qui ajuste au mieux le
nuage de points N(I ) est engendré par les vecteurs propres u1 , ..., uk de
VM unitaires et deux à deux orthogonaux associés aux valeurs propres
λ1 , ..., λk , ordonnées de manière décroissantes, c’est à dire que
λ1 ≥ ... ≥ λk .
Introduction au Machine Learning
Ajustement sur (Rn , Dp )
Dans ce cas le nuage N(J) des variables est ajusté.
On recherche le sous espace vectoriel de dim 1, ∆v1 engendré par le
vecteur unitaire v1 qui ajuste au mieux le nuage N(J) et ceci en
déterminant v1 qui maximise l’inertie du nuage N(J), défini dans ce qui
suit.
le sous espace vectoriel de dimension k qui ajuste au mieux le nuage de
points N(J) est engendrée par les vecteurs propres v1 , ..., vk de TDp
unitaires et deux à deux orthogonaux associés aux valeurs propres
λ1 , ..., λk , ordonnées de manière décroissantes.
Introduction au Machine Learning
Remarque
Pour éviter la différence dans l’echelle de mesure de variables et pour
faire jouer à chaque variable un rôle identique dans la définition des
proximités entre individus, on passe à l’ACP normé qui consiste réduire
les variables, c’est à dire :
Xj
Xij → σj,i
1
0
σ1
ou bien utiliser la métrique M =
..
.
1
0 σj
Introduction au Machine Learning
Propriétés des composantes principales
Nous rappelons que Yα (i) qui représente le vecteur de projection des
individus sur l’axe factoriel δα est appelé composante principale ou
nouvelle variable, ses propriétés sont :
∀α = 1, ..., p, y α = 0,
2
kyα k = varyα = λα ,
cov (yα , yα0 ) = 0.
Représentation d’un individu supplémentaireSoit xi un individu
supplémentaire, sa représentation est donnée par :
αxi = xei t u, tel que xei = xi − g t .
Introduction au Machine Learning
Représentation d’une variable supplémentaire
Soit x j une variable supplémentaire, sa représentation est donnée par :
αxi = X jt Dp v , tel que xej = x j − x j est la variable centrée.
Remarque
Si l’ACP est normée en plus d’être centré les vecteurs sont réduits.
Introduction au Machine Learning
Formules de transitions
Ces dernières permettent de passer de l’analyse d’un nuage à un autre.
Proposition
: Les matrices XX t Dp et X t Dp X ont les mêmes valeurs propres.
Les aides à l’interprétation :
Qualité globale de représentation d’un axe factoriel : Elle est
mesurée par le pourcentage d’inertie et elle est donnée par
λα
I = p × 100
P
λr
r =1
Contribution absolue
La contribution absolue mesure le taux de participation d’un individu ou
d’une variable à la constructon d’un axe factoriel.
a- Individu :
2
α (yα (i))
Cab (i) =
nλα
Introduction au Machine Learning
b-Variable :
2
α (Vα (j))
Cab (j) =
λα
Qualité d’un individu (variable) par un axe factoriel
bigskip
a- Individu :
2
(yα (i))
Creα (i) = cos2i (θ) = 2
kxi k
b-Variable :
2
(Vα (j))
Creα (j) = cos2j (θ) = 2
kx j kDp
Introduction au Machine Learning
b-Variable :
2
α (Vα (j))
Cab (j) =
λα
Qualité d’un individu (variable) par un axe factoriel
bigskip
a- Individu :
2
(yα (i))
Creα (i) = cos2i (θ) = 2
kxi k
b-Variable :
2
(Vα (j))
Creα (j) = cos2j (θ) = 2
kx j kDp
Introduction au Machine Learning
Dés que cos2i (θ) ' 1, on dira que l’individu ou la variable sont trés bien
représenté par le αtème axe factoriel.
Remarque
Il y a une relation très étroite entre le coéffcient de corrélation entre
l’ancienne et la nouvelle variable et la projection de cette dernière sur
l’axe factoriel, en effet
Vα (j)
r (X j , Yα ) =
σj
Ceci implique que lorsque l’ACP est normée, les variables varient à
l’intérieur d’un cercle appelé cercle de corrélation.
X Si les variables sont proches du cercle, alors elles seront bien
représentées par le plan factoriel.
Introduction au Machine Learning
Reconstitution du tableau de données : Le tableau de données est
complètement reconstitué à partir de la formule suivante :
p
X p
X = λα vα uαt
α=1
En effet à partir des formules de transition, on a
1 √
v = √ Xu ⇔ λv = Xu
λ
On multiplie les deux cotés de l’égalité par u t on aura
√ X p
λvu t = Xuu t ⇔ X uα uαt =α λα vα uαt
α
Introduction au Machine Learning
Récapitulation
Algorithme ACP
j
1 Calculer les moyennes des variables X , j = 1, ..., p.
2 Centrer le tableau X (réduire si les données sont hétérogènes).
3 Calculer la matrice de variance covariance V = X t Dp X = n1 X t X .
4 Calculer les valeurs propres et les vecteurs propres de V .
5 Calculer les projections des √ individus et des variables sur les axes
factoriels : Yα = Xu, Vα = λα u.
6 Représenter graphiquement les individus et les variables.
7 Interpréter les résultats de l’analyse.
Introduction au Machine Learning