Vous êtes sur la page 1sur 43

North-Western European Journal of Mathematics

Cours d’analyse de données


Nicolas Wicker

Ce cours est inspiré de plusieurs sources : les cours de Jean-Jacques Denimal et


A. Gretton ainsi que de Saporta (1990), Mardia, Kent et Bibby (1979) et Schölkopf
et Smola (2001).

1 Introduction
Les données sont typiquement : une matrice X ∈ Mn,p (R) décrivant n individus
et p variables, une matrice D ∈ Mn,n (R) décrivant des distances, dissimilarités entre
n individus, une matrice de similarités S ∈ Mn,n (R). D’une manière générale tout
objet x ∈ χ est envisageable, mais c’est uniquement lorsque l’on introduira les
noyaux positifs, que l’on pourra les traiter. Traiter des données dans R assure un
socle de méthodes qui se déclineront ensuite dans des espaces de Hilbert à noyau
reproduisant.

2 Méthodes factorielles
2.1 Décomposition en valeurs singulières
On dispose d’une matrice X n × p de rang r

Théorème 1 – X peut s’écrire U DV 0 où U ∈ Mn,r (R), V ∈ Mp,r (R), D matrice diago-


nale, U et V colonne-orthonormées, c’est-à-dire : U 0 U = Ir et V 0 V = Ir .

Preuve. Commençons par observer que X 0 X a le même rang que X. En effet, soit
x ∈ ker X 0 X,

X 0 Xx = 0
⇒ x0 X 0 Xx = 0
⇒ Xx = 0
⇒ x ∈ ker X 

Par ailleurs, si x ∈ ker X, Xx = 0 ⇒ X 0 Xx = 0 ⇒ ker X = ker X 0 X. D’où, rg X 0 X = rg X


par le théorème du rang. On en déduit que : X 0 X = V ΛV 0 où Λ = diag(λ1 , . . . , λr ) est
diagonale avec λi > 0 et V ∈ Mp,r est colonne-orthonormée. On définit D comme

D = Λ1/2 et U = (u1 | . . . |ur ) avec ui = di−1 Xvi où di = λi .

1
Cours d’analyse de données N. Wicker

Vérification :

ui0 uj = di−1 dj−1 vi0 X 0 Xvj


= di−1 dj−1 vi0 V ΛV 0 vj
= di−1 dj−1 ei0 Λej avec e1 , . . . , base canonique
= di−1 dj−1 λi δij
= di−2 λi δij
= δij

Pr
Soit x quelconque, on réécrit x : x = i=1 αi vi + y avec y ∈ ker X. Ainsi

Xr
U DV 0 x = U DV 0 ( αi vi + y)
i=1
r
X
= αi U DV 0 vi
i=1
r
X
= αi U Dei
i=1
Xr
= αi di U ei
i=1
Xr
= αi di di−1 Xvi
i=1
= Xx

d’où X = U DV 0 .

2.2 Principe de l’Analyse en composantes principales

Préambule
q
Pp 2
Choix d’une métrique En général, d(x, y) = i=1 (xi − yi ) . Souvent, on regarde
d(x, y)2= kx − yk2 .
Parfois, on a besoin de kx − yk2M = (x −
y)0 M(x − y) avec M
positive (semi-définie positive). Une métrique usuelle est la matrice diagonale

2
2. Méthodes factorielles

diag(Var−1 −1
1 , . . . Varp ) où l’on utilise les variances. Alors :

 Var−1
 
1 0 
..
 
kx − ykM = (x − y)0  .
 (x − y)

Var−1
 
0 p
p
X (xi − yi )2
=
Vari
i=1
p !2
X x yi
= √ i −√ = kx∗ − y ∗ k2
i=1
Vari Vari

où x∗ et y ∗ sont les données réduites.

Inertie ou variance
Pn Pn
Définition 1 – Le centre de gravité est g = i=1 mi xi avec i=1 mi = 1.

Typiquement, mi = n1 pour tout i. On peut donner une masse plus importante à des
données plus fiables que les autres .

Définition 2 – L’inertie est I = ni=1 mi kxi − gk2 .


P

Point de vue statistique


X { N (OnΣ) alors si Σ non singulière, Σ = U DU 0 et on considère Y = U 0 X de
telle sorte que

Var Y =E(Y Y 0 )
=U 0 XX 0 U
=U 0 U DU 0 U
=D

On obtient ainsi après changement de variables des gaussiennes marginales indé-


pendantes, il suffit alors de choisir celles de plus grandes variances.

Point de vue géométrique


On cherche à maximiser l’inertie lorsque l’on projette les points sur un axe.

Proposition 1 – Inertie totale est donnée par tr V M.

3
Cours d’analyse de données N. Wicker

Preuve.
n
X
I= mi (xi − g)0 M(xi − g)
i=1
n
X
= tr mi (xi − g)0 M(xi − g)
i=1
n
X
= tr M mi (xi − g)(xi − g)0
i=1
= tr V M 
Au passage, on remarque que l’inertie totale est égale à la somme des valeurs propres
de V M.
0M
L’opérateur de projection est P = aa
a0 Ma En effet,
aa0 M aa0 M
P2 =
a0 Ma a0 Ma
aa0 M
= 0 =P
a Ma
P est dit idempotent. Par ailleurs, x − P (x) ⊥ a, en effet :
aa0 Mx
a0 M(x − P (x)) = a0 M(x − )
a0 Ma
0 0
a Maa Mx
= a0 Mx −
a0 Ma
=0
Calculons l’inertie après projection :
n
X
I(a) = mi kP (xi ) − P (g)k2
i=1
n
X
= mi kP (xi − g)k2
i=1
n
X
= mi [P (xi − g)]0 MP (xi − g)
i=1
n !0
aa0 M aa0 M
X !
= mi 0 (x − g) M 0 (x − g)
a Ma i a Ma i
i=1
n
X (xi − g)0 Maa0 Maa0 M(xi − g)
= mi
(a0 Ma)2
i=1

4
2. Méthodes factorielles

Ce qui peut se réécrire en introduisant la trace comme :

n
X (xi − g)0 Maa0 M(xi − g)
I(a) = tr mi
a0 Ma
i=1
n
X Maa0 M
= tr mi (x − g)(xi − g)0
a0 Ma i
i=1
n
Maa0 M X
= tr mi (xi − g)(xi − g)0
a0 Ma
i=1
Maa0 MV
= tr
a0 Ma
a0 MV Ma
= tr
a0 a
0
a MV Ma
=
a0 Ma

M 1/2 existe car M = P DP 0 avec D > 0. ainsi en posant b = M 1/2 a, on maximise alors :

b0 M 1/2 V M 1/2 b
I(b) =
kbk2

Cela revient à maximiser I(b) = b0 M 1/2 V M 1/2 b sous la contrainte kbk = 1. Or,
M 1/2
PVp M
1/2 est symétrique donc on peut écrire : I(b) = b0 U ΛU 0 b. On peut écrire
Pp Pp
b = i=1 αi ui avec U = (u1 | . . . |up ). Ainsi I(b) = i=1 αi2 λi avec i=1 αi2 = 1. On sup-
Pp
pose que λ1 > λ2 > . . . > λp . La solution est donc b = v1 car I(b) > i=1 αi2 λ1 = λ1 .
Comme b est vecteur propre de M 1/2 V M 1/2 , on a

M 1/2 V M 1/2 b = λb
⇒ V M 1/2 b = λM −1/2 b
⇒ V MM −1/2 b = λM −1/2 b
⇒ V Ma = λa

Ainsi, a doit être vecteur propre de V M.


Les axes principaux a sont les vecteurs propres de V M. La projection correspon-
0M
dante est donnée par aaa0 Ma . On va s’intéresser aux coordonnées suivant a M-normé :
XMa où X est la matrice individus-variables n × p. Les coordonnées s’appellent
composante principale associée à a.

5
Cours d’analyse de données N. Wicker

Les vecteurs propres sont M-orthogonaux Soit deux vecteurs propres ui et uj


associés à des valeurs propres λi , λj , on a alors :
uj
ui0 Muj =ui0 MV M
λj
uj
=(V Mui )0 M
λj
λ
= i ui0 Muj
λj
d’où ui0 Muj = 0. Si deux vecteurs propres partagent la même valeur propre, il suffit
d’orthogonaliser la base du sous-espace propre associé. On peut dès lors les rendre
M-orthonormés.

Variance de la composante principale On considère la composante principale ci


associée au vecteur propre ui de valeur propre λi .
1
Var(ci ) = a0 MX 0 XMa = a0 V a = a0 U DU 0 a
n
=ui0 MV Mui
=λi ui0 Mui
=λi

Covariance entre les coordonnées et les variables de départ La covariance avec


la composante principale de a est donnée par :
X 0 XMa
= V Ma
n
a est un des vecteurs propres de V , ui par exemple, et donc : V Mui = λi ui et λi uij
est la covariance entre la ie composante principale et la je variable.
La corrélation est donnée par :

λi uij λi uij
p =p
λi var(j) var(j)
ainsi, si les données sont centrées, la corrélation est donnée simplement par :
p
λi uij
On parle du cercle de corrélation car :
k p
X
( λi uij )2 = Var j
i=1
par décomposition spectrale si M = Ip .

6
2. Méthodes factorielles

Qualité de représentation d’un point Le cosinus de l’angle formé par un point


xi avec l’espace sur lequel il est projeté est donné par :

hxi , uj iM
cos(x€
i , uj ) =
kxi kM kuj kM
cji
= par orthonormalité des uj
kxi kM
Ainsi,
2
cji
2
cos(x€
i , uj ) = Pp 2
k=1 cji

Contribution d’un point à un axe On considère les données initiales centrées.


Notons cki les coordonnées des points i suivant l’axe k. La contribution de i à l’axe k
est donnée par :
2
mi cki
λk

en effet, ni=1 mi cki


2
P
= λk Si une contribution est inférieure à 1/n, on considère qu’elle
est négligeable.
Comment choisir le nombre d’axes ?
— prendre aautant d’axes qu’il le faut pour garder 90% de l’inertie de l’ensemble
de points
Pp
— règle de Kaiser, on garde λ si λ > p1 i=1 λi

2.3 Analyse factorielle des correspondances


C’est un cas particulier de l’ACP pour un tableau de contingence N avec deux
variables qualitatives, la première a m1 catégories et la seconde en a m2 . La matrice
peut s’écrire
 
 n11 . . . n1m2 
N =  ... ..
 
. 


n m1 1 n m1 m2

Profils des lignes : D1−1 N où D1 = diag(n1. , . . . , nm1 . ) Profils des colonnes : (N D2−1 )0
où D1 = diag(n.1 , . . . , n.m2 )
On peut considérer soit les profils-lignes, soit les profils-colonnes. Pour les
profils-lignes, on regarde D1−1 N . Comme matrice de poids, on choisit Dn1 pour

7
Cours d’analyse de données N. Wicker

donner plus de poids aux lignes avec des effectifs importants. Avec cette matrice de
poids, le centre de gravité est donnée par :

X 0 D1
g= 1
n
D1
= (D1−1 N )0 1
n
1
= N0
n
1
= (n , . . . , n.m2 )0
n .1

Pour les profils-colonnes, ma matrice de poids est Dn2 et gc = n1 (n1. , . . . , nm1 . )0 . Comme
métrique, on choisit M = nD2−1 pour les profils-lignes et M = nD1−1 pour les profils-
colonnes. Cette métrique est appelée métrique du χ2 . On a alors :

m2 !2
2
X n nij ni 0 j
d (li , li 0 ) = −
n.j ni. ni 0 .
j=1

Proposition 2 – Si deux colonnes sont semblables, c’est-à-dire si pour tout i ∈ {1, . . . , m1 },


n n 0
on a nij = nij0 alors les regrouper ne change rien à la distance.
.j .j

Preuve. On considère :

nij + nij 0 ni 0 j + ni 0 j 0 2 n nij ni 0 j 2


!2
n nij 0 ni 0 j 0
! !
n
d ∗2 (li , li 0 ) − d 2 (li , li 0 ) = − − − − −
n.j + n.j 0 ni. ni 0 . nij ni. ni 0 . nij 0 ni. ni 0 .
 n n 0 n n 0
 n2ij + n2ij 0 + n2ij 0 n 0 + n2ij n
.j .j
n2i 0 j + n2i 0 j 0 + n2i 0 j 0 n 0 + n2ij n
.j .j
n .j .j .j .j
=  + −
n.j + n.j 0  n2i. n2i 0 .

n 0
2(nij − nij n.j )(ni 0 j + ni 0 j 0 ) 

.j
 − A

ni. ni 0 . 
!2 !2
n nij ni 0 j n nij 0 ni 0 j 0
avec A = − + −
nij ni. ni 0 . nij 0 ni. ni 0 .

8
2. Méthodes factorielles

Ainsi,
        
 n2 1 + n.j 0 + n2 0 1 + n.j n 2
0 1 +
n.j 0
+ n 2
0 0 1 +
n.j 0
n  ij
 n.j ij n.j 0 ij n.j ij n.j
d ∗2 (li , li 0 ) − d 2 (li , li 0 ) = 
2
+ 2

n.j + n.j 0  ni. ni 0 .
 
n 0  
2nij 1 + n.j ni 0 j + ni 0 j 0 
.j
 − A

ni. ni 0 . 
 2
 nij 1 n2ij 0 1 n2i 0 j 1 n2i 0 j 0 1

2n ij n i 0k 2n ij 0 ni 0 j 0 
= n  2 + 2 + 2 + 2 − −  − A

n
ni. .j ni. .j n 0 n
ni 0 . .j ni 0 . ij n 0 n n 0 n
i. i . .j n n 0 n
i. i . .j 0 
 2 2 2 2 
n  nij nij 0 ni 0 j 0 ni 0 j 2nij ni 0 j 2nij 0 ni 0 j 0 
=  + + + − −  − A
n.j  n2 i. n2
i. n20 i. n20 i.
ni. ni 0 . ni. ni 0 . 
!2 !2
n nij ni 0 j n nij 0 ni 0 j 0
= − + − −A =
n.j ni. ni 0 . n.j ni. ni 0 .
=0 

ni. n.j 2
 
Pm1 Pm2 nij − n
1
Proposition 3 – L’inertie I = n i=1 j=1 ni. n.j
n

Preuve. Il suffit de faire le calcul :


m1
X n i. 2
I= d (li , gl )
n
i=1
m1 2m !2
X ni. X n nij n.j
= −
n n.j ni. n
i=1 j=1
m1 X
X m2 ni. n2ij ni. n2.j 2ni. nij n.j
= + −
n n2
i=1 j=1 ij i.
n.j n2 nij ni. n
m1 X
m2 2 2
 
X 1  2 ni. n.j 2nijni. n.j 
= n + −
n.j ni.  ij

n2 n 
i=1 j=1

m1 X
m2
 n n 2
1X nij − i.n .j
= ni. n.j
n
i=1 j=1 n

D’où le nom de la métrique. Evidemment, le même résultat est obtenu à partir des
profils colonne. 

9
Cours d’analyse de données N. Wicker

−−−→
Proposition 4 – OG est M-orthogonal au nuage de points.
n
Preuve. En effet, si on considère un point li = ( nni1 , . . . , nim2 )0 on a :
i. i.
0
1 1

(li − g)0 Mg = li − (n.1 , . . . , n.m2 )0 nD2−1 (n.1 , . . . , n.m2 )0
n n
0
1

0
= li − (n.1 , . . . , n.m2 ) 1
n
= 1−1 = 0 
Nous avons maintenant tous les éléments pour réaliser l’ACP : V M est ici pour les
profils ligne égal à :
V M = ((D1−1 N )0 − g10 )D1 (D1−1 N − 1g 0 )D2−1
= (N 0 D1−1 − g10 )D1 (D1−1 N − 1g 0 )D2−1
= N 0 D1−1 N D2−1 − g10 N D2−1 − N 0 1g 0 D21 + g10 D1 1g 0 D2−1
= N 0 D1−1 N D2−1 − g(n.1 , . . . , n.m2 )D2−1 − (n.1 , . . . , n.m2 )g 0 D2−1
= N 0 D1−1 N D2−1 − ngg 0 D21 − ngg 0 D2−1 + ngg 0 D2−1
= N 0 D1−1 N D2−1 − ngg 0 D2−1
−−−→
Or, OG est orthogonal au plan des données, c’est donc un vecteur propre pour la
valeur propre 0. Donc, V Mg = 0 = N 0 D1−1 N D2−1 − ngg 0 D2−1 . Ainsi :
N 0 D10 N D2−1 g = nggD2−1 g
1
= ngg 0
n
n.1 + · · · + n.m2
=g
n
On a déjà un vecteur propre de V M, c’est g. On veut les autres vecteurs propres qui
seront orthogonaux à g. Si on a par exemple le vecteur propre a de V M :
V Ma = λa = N 0 D1−1 N D2−1 a − gg 0 Ma = 0 car g est M-orthogonal à a
Ainsi il suffit de chercher les vecteurs propres de N 0 D1−1 N D2−1 , de manière similaire
pour les profils colonnes, on cherche les vecteurs propres de N D2−1 N D1−1 .

Formules de transition On considère un vecteur propre al de N 0 D1−1 N D2−1 associé


à la valeur propre λ. Ainsi :
N 0 D1−1 N D2−1 al = λal
⇒ N D2−1 N 0 D1−1 (N D2−1 al ) = λ(N D2−1 al )
⇒ ac = kN D2−1 al

10
2. Méthodes factorielles

Nous voulons avoir ac M-normé c’est-à-dire :

ac0 = 1
⇒ k 2 al0 D2−1 N 0 nN D2−1 al = 1
⇒ k 2 nal0 D2−1 λal = 1
⇒ λk 2 al0 nD2−1 al = 1
⇒ λk 2 = 1
1
⇒k= √
λ

On a donc : ac = √1 N D2−1 al . Soit maintenant ac un vecteur propre de N D2−1 N 0 D1−1


λ
associé à la valeur propre λ.

N D2−1 N 0 D1−1 ac = λac


⇒ N 0 D1−1 N D2−1 (N 0 D1−1 ac ) = λ(N 0 D1−1 ac )
⇒ al = kN 0 D1−1 ac et al0 Mal = 1
⇒ k 2 ac0 D1−1 N nD2−1 N 0 D1−1 ac = 1

⇒ k = 1/ λ

et donc al = √1 N 0 D −1 ac .
λ 1

Autres formules de transition : On note cl une √


composante principale pour les
profils-ligne. Ainsi, c = XMa = D1 N nD2 a = n λD1−1 ac . De même cc = XMac =
l l −1 −1 l

(N D2−1 )0 nD1−1 ac = n λD2−1 al .

Formule de reconstitution et choix du nombre d’axes calcul sur les profils-ligne


mais c’est évidemment similaire pour les profils-colonne.

m1
X
D1−1 N = ckl (alk )0 + 1gl0
k=1

11
Cours d’analyse de données N. Wicker

Valeur moyenne des ckl

1
c̄kl = (n , . . . , nm1 . )ckl
n 1.
1
= (n1. , . . . , nm1 . )XMalk
n
1
= (n1. , . . . , nm1 . )D1−1 N nD2−1 alk
n
1
= 10 N nD2−1 alk
n
1
= (n1. , . . . , n.m2 )nD2−1 alk
n
= g l0 Malk = 0 si alk , g l

ni.
Pm1 l 2 ni. e ckl (i)2 n
Ainsi, λk = i=1 ck (i) n donc la contribution de la i ligne est égale à λk . De la
n.i
ckc (i)2
même, la contribution de la i e colonne est égale à : λk
n
.

2.4 Analyse factorielle des correspondances multiples

On considère ici p variables qualitativces H1 , . . . , Hp avec m1 , m2 , . . . , mp catégories


et n individus. On représente les données sous la forme d’un tableau disjonctif
X = (X1 | . . . |Xp ) tableau de taille n × (m1 + m2 + · · · + mp ). Chaque Xi est un tableau
disjonctif par une variable Hi , par exemple :

1 0 0
 
 

 0 1 0 

X1 =  1 0 0
 

0 1 0
 
 
 
0 0 1

si H1 a 3 catégories et si n = 5. Dans chaque ligne, on rencontre une et une seule fois


1. On a la propriété suivante pour p = 2 : faire l’AFC de X = (X1 |X2 ) revient à faire
l’AFC de X10 X2 , on peut déjà observer que X10 X2 est le tableau de contingence formé
à partir des variabels H1 et H2 . On retrouve nij , l’indice i pour H1 et l’indice j pour
H2 .
Faire l’AFC de X = (X1 |X2 ) revient à faire l’AFC de X10 X2 . On cherche les vecteurs

12
2. Méthodes factorielles
!
D1 0
propres de N 0 D1−1 N D2−1 avec N = XD1 = 2In et D2 = . Ainsi,
0 D2

D1−1
!
0 1 0
N D1−1 N D2 = (X1 X2 )0 (X1 X2 )
2 0 D2−1
1 X10 X1 X10 X2 D1−1
! !
0
=
2 X20 X1 X20 X2 0 D2−1
1 X10 X1 X10 X2 D1−1
! !
0
=
2 X20 X1 X20 X2 0 D2−1
N D2−1
!
1 1 0
= I +
2 m1 +m2 2 N 0 D1−1 0
−1
!
1 Im1 N D2
=
2 N 0 D1−1 Im2

Soit un vecteur propre (ab)0 de N 0 D1−1 N D2−1 associé à la valeur propre λ. Ainsi :

N D2−1
! ! !
1 Im1 a a

2 N 0 D1−1 Im2 b b

Soit

a + N D2−1 b = 2λa
(

N 0 D1−1 a + b = 2λb
N D2−1 b

 a = 2λ−1


⇒
 b = N 0 D1−1 a

2λ−1
N D2−1 N 0 D1−1 a = (2λ − 1)2 a
(

N 0 D1−1 N D2−1 b = (2λ − 1)2 b

B est donc un axe principal pour l’AFC par profils-ligne et a un axe principal pour
l’AFC par profils-colonne. Donc, pour l’AFCM on travaille sur X = (X1 | . . . |Xp ) si on
a p variables qualitatives.

13
Cours d’analyse de données N. Wicker

N D2−1 al
Retour sur l’AFC : ac = √ où al est l’axe principal profil-ligne et ac l’axe
λ
N 0 D1−1 ac
principal correspondant profils-colonne. al = √ ,
λ

cl = XMal = D1 N nD2−1 al
N 0 D −1
= D1−1 N nD2−1 √ 1 ac
λ
−1
D1 N
= √ (N D2−1 )0 nD1−1 ac
λ
D1−1 N c
= √ c
λ
c
Dans le cadre de l’AFCM, on a cl = √1 Npc ainsi chaque individu-ligne est la
λ
moyenne barycentrique des individus-colonnes associés à ses attributs à une constante
près. Cela autorise d’une certaine manière la double représentation sur un graphique
des profils-ligne et colonne.

2.5 Analyse factorielle des distances


Idée : faire de l’ACP lorsque l’on a des distances, dissimilarités, similarités . . ..
On va travailler sur une matrice de dissimilarités D de taille n × n.

Définition 3 – On dit que D est euclidienne si ∃x1 , . . . , xn tels que ∀i, j, Dij = kxi −
xj k2 .

Exemple : en biologie il arrive qu’on doive comparer des séquences de lettres :

A A A C D E M E protéine 1
− − A C D − M − protéine 2

sij = 4/8 = 1/2, plus la similarité est grande plus les objets sont proches. On définit
la dissimilarité comme par exemple dij = 1 − sij . D’autres possibilités existent, et
nous en verrons une particulière plus tard.

−d 2
Notations : soit une matrice A = {ars }r,s avec ars = 2rs . Soit la matrice de centrage
H = I − n1 110 . B = HAH est la matrice centrée. On introduit aussi a.s = n1 ni=1 ais ,
P

alors si on note B = brsr,s , on a : brs = (ars − a.s ) − (ar. − a.. ) avec a.. = n12 ni=1 nj=1 aij .
P P

Théorème 2 – B > 0 ssi D est euclidienne.

14
2. Méthodes factorielles

Preuve. Supposons que D est euclidienne. Donc ∃x1 , . . . , xn tels que pour chaque
2 = kx − x k2 alors
distance, on a dr,s r s

brs = ars − ar. − a.s + a..


n n n n
kxr − xs k2 1 X 1 X 1 XX
=− + kxr − xi k2 + kxj − xs k2 − 2 kxi − xj k2
2 2n 2n 2n
i=1 j=1 i=1 j=1
n n n n
kxr k2 kxsk2 k2
kxr X kxi k2 xr0 X kx k2 1 X x0 X
=− − + xr0 xs + + − xi + s + kxi k2 + s xi −
2 2 2 2n n 2 2n n
i=1 i=1 i=1 i=1
n n
1 XX
− 2 kxi k2 + kxj k2 − 2xj0 xi
2n
i=1 j=1
n n
1X 1X
= xr0 xs + xr0 x̄ + xs0 x̄ + kxi k2 − kxi k2 + x̄0 x̄
n n
i=1 i=1
= xr0 xs − xr0 x̄ − xs0 x̄ + x0 x̄

ainsi brs = (xr − x̄)0 (xs − x̄) et donc B = HX(HX)0 avec X = (x1 , . . . , xn )0 . Soit z un vecteur
quelconque : z0 Bz = z0 HXX 0 Hz = (X 0 Hz)0 (X 0 Hz) > 0, ainsi B est bien positive.
Supposons maintenant que B > 0, alors comme B est symétrique B = U DU 0
et comme B > 0, les valeurs propres sont toutes positives et donc on peut écrire :
B = U D 1/2 D 1/2 U 0 = XX 0 avec X = U D 1/2 = (x1 , . . . , xn )0 . Ainsi,

kxr − xs k2 = kxr k2 + kxs k2 − 2xr0 xs


= brr + bss − 2brs par définition des x

Puis,

kxr − xs k2 = arr + a.. − a.r − ar. + ass + a.. − a.s − as. − 2(ars + a.. − ar. − a.s )
= arr + ass − 2ars
2
drs d2 d2
=− − ss + 2 rs
2 2 2
2
= drs 

L’algorithme qui s’ensuit est le suivant :


2
drs
1. calcul de A, ars = − 2
2. calcul de B avec brs = ars − ar. − a.s + a..
3. diagonalisation de B en U DU 0 et utilisation des k premiers vecteurs propres
normés à la racine carrée de leur valeur propre.

Si on a des similarités C = crsr,s , on effectue la transformation drs = css + crr − 2crs .

15
Cours d’analyse de données N. Wicker

Proposition 5 – Si C > 0 alors B > 0 avec la transformation précédente.

Preuve. Cela se vérifie directement :

brs = ars − a.s − ar. + a..


2
drs d2 d2 d2
=− + .s + r. − ..
2 2 2 2
n n n n
css crr css 1 X 1X 1 X crr 1 X
=− − + crs + + cii − cis + cii + − cri −
2 2 2 2n n 2n 2 n
i=1 i=1 i=1 i=1
n n
1 XX
(cii + cjj − 2cij )
2n2
i=1 j=1
n n
1X 1X
= crs − cr. − c.s + cii − cii + c..
n n
i=1 i=1

ainsi B = HCH avec C > 0. Donc pour tout vecteur z, on a : z0 Bz = z0 HCHz =


(Hz)0 C(Hz) > 0. 

Proposition 6 – Il arrive que B ne soit pas positive, on peut alors la rendre positive en
ajoutant une constante c2 à toutes les distances au carré.

Preuve. On va ainsi passer de A à A∗ et de B à B∗ .

0 c2 ... c2
 
 
 .. .. 
1 c2 0 . .
 
A∗ = A − 
 
..

2  .. .. 2

 . . . c 
c2 c2
 
... ...

0 c2 ... c2
 
 
 .. .. 
c2 0 . .
 
Ainsi B∗ = HA∗ H avec H = I − n1 110 et B∗ = HAH − H  Ce qui
 
2 ..

 .. .. 2


 . . . c 
c2 c2

... ...

16
2. Méthodes factorielles

peut se réécrire :
c2
B∗ = HAH − H(110 − I)H
2
c2 1 c2 1
= HAH − (I − 110 )(110 − I) − (I − 110 )
2 n 2 n
0 + 1 110
c2 1n1 n
= HAH − (110 − I − (110 − I)
2 n
c2 1 1 1
= HAH − (−I + 110 + 110 − 2 1n10 )
2 n n n
c2 1
= HAH − (−I + 110 )
2 n
c2
= HAH + H
2
Les vecteurs propres de B sont centrés, en effet, si Bv = λv, on a HAHv = λv et donc
HHAHv = λHv. Or H 2 = H, en effet :
1 1
HH = (I − 110 )(I − 110 )
n n
2 0 1 0 0
= I − 11 + 2 11 11
n n
1 0
= I − 11
n
=H
Ainsi, HAHv = λHv = λv car v est centré. Toujours avec v vecteur propre de B, on
a:
c2
B∗ = HAHv + Hv
2
c2
= λv + v
2
c2
= (λ + )v
2
c2
Pour avoir B∗ > 0, il suffit donc de prendre 2 = −λmin . 

Lien avec l’ACP : dans l’ACP M = I, on diagonalise V , la matrice de variance. Or,


V = n1 (HX)0 (HX) = n1 X 0 HHX = n1 X 0 HX. Si on a v vecteurs propres de V :
1 0
X HHXv = λv
n
⇒ (HXX 0 H)HXv = nλHXv

17
Cours d’analyse de données N. Wicker

HXv est bien une composante principale de l’ACP et un vecteur propre de B =


HXX 0 H. Cela implique qu’il convient de regarder les plus grandes valeurs propres
de B lorsque l’on réalise une analyse factorielle de distances.

Propriétés d’optimalité
Proposition 7 – Cas 1 : on dispose de distances euclidiennes alors MDS minimise
P 2 − d ∗2 où d ∗ sont les distances obtenues après projection suivant les k axes.
φ = r,s drs rs rs

P Pn 0 Pk
Preuve. En effet, φ se réécrit : φ − r,s i=1 (li xr − li0 xs )2 − 0
i=1 (li xr − li0 xs )2 avec
L = (l1 | . . . |ln ) = (L1 |L2 ). Ainsi,
n
X X
φ= (li0 xr − li0 xs )2
r,s i=k+1
n
X X
= [li0 (xr − xs )]2
r,s i=k+1
n
X X
= li0 (xr − xs )(xr − xs )0 li
r,s i=k+1
X n X
= li0 ( (xr − xs )(xr − xs )0 )li
i=k+1 r,s

Or,
X X X
(xr − xs )(xr − xs )0 = (xr − g)(xr − g)0 + (xs − g)(xs − g)0 − (xs − g)(xs − g)0 + (xr − g)(xs − g)
r,s r,s r,s
X
0
= 2n (xr − g)(xr − g)
r
= 2n2 V

Et donc,
p
X
φ= 2n2 li0 V li
i=k+1
2
= 2n tr(L02 V L2 )
= 2n2 tr(L02 U DU 0 L2 )

On pose F2 = U 0 L2 , F2 est colonne-orthonormée car F20 F2 = L02 U U 0 L2 = L02 L2 = I.


Pp Pp Pp Pp
Ainsi, φ = 2n2 i=k+1 j=1 fij2 λj = 2n2 j=1 λj hj avec hj = i=k+1 fij2 . On remarque

18
2. Méthodes factorielles

que hj > 0,
p
X p X
X p
hj = fij2
j=1 j=1 i=k+1
p X
X p
= fij2
i=k+1 j=1

= p−k

p
X
hj = fij2
i=k+1
Xp
= hfi , ej i2
i=k+1
Xp
6 hfi , ej i2 = 1
i=1

λ1 > . . . > λp , comme φ doit être minimisée, on choisit hj = 1 pour j > k + 1 et 0


 0 . . . 0 
 
 . .. 
 .
 . . 
sinon. F2 =   fij = 0 pour j ∈ 1, . . . , k et F2 = U 0 L2 la projection est bien
 0 . . . 0 

 . .. .. 
 .
. . .
réalisée suivant L1 = (u1 | . . . |uk ). 
Proposition 8 – Optimalité dans le cas de distances non euclidiennes : MDS minimise
P ∗ )2 .
ψ = r,s (brs − brs
Preuve.
X
∗ 2
ψ= (brs − brs )
r,s
= tr((B − B∗ )2 )
= tr((U DU 0 − B∗ )2 ) par symétrie
= tr(U DU 0 U DU 0 − U DU 0 B∗ − B∗ U DU 0 + B∗2 )
= tr(D 2 − 2U DU 0 B∗ + B∗2 )
= tr(D 2 ) − tr(2U DU 0 B∗ U U 0 ) + tr(U 0 B∗ U U 0 B∗ U )
= tr(D 2 ) − tr(2U DΓ 0 D ∗ Γ U 0 ) + tr(Γ 0 D ∗ Γ Γ 0 D ∗ Γ )
= tr(D 2 ) − 2 tr(DΓ 0 D ∗ Γ ) + tr(D ∗2 )

19
Cours d’analyse de données N. Wicker

donc à D ∗ constant,
Pn P on minimise ψ suivant Γ ), il fautPn doncPmaximiser tr(DΓ 0 ∗
Pn D∗ PΓ n). Or, 2
0 ∗ n ∗ 2 n ∗ 2
tr D(Γ D Γ ) = i=1 j=1 dj γij On veut maximiser i=1 di j=1 dj γij = j=1 dj i=1 di γij .
Cela se réécrit nj=1 dj∗ hj avec hj = ni=1 di γij2 . On remarque que :
P P

n
X n X
X n
hj = di γij2
j=1 j=1 i=1
n
X n
X
= di γij2
i=1 i=1
n
X
= di
i=1

Par ailleurs, ∀j, hj > 0, on suppose que d1 > d2 > . . . > dn et d1∗ > . . . > dn∗ . h1 doit
être le plus grand possible, or h1 = ni=1 di γi1 2
6 d1 ni=1 γi1 2
P P
= d1 . h1 = d1 ⇒ γ11 = 1
Pn 2 2 P n 2
et γi1 = 0∀i > 2. h2 = i=1 di γi2 = d1 γ12 + i=2 di γi2 6 d2 car γ11 = 1 et matrice
orthonormée. Ainsi γi2 = (0, 1, 0, . . . , 0)0 . et ∀i, hi = di , γii = 1, γij = 0 et donc Γ = I.
On a donc U 0 B∗ U = D ∗ et ainsi

ψ = tr(D 2 ) + tr(D ∗2 ) − 2 tr(DD ∗ )


= tr((D − D ∗ )2 )
Xn
= (di − di∗ )2
i=1

Par ailleurs, la projection s’effectuant dans Rk , on ne prend que les k plus grands
vecteurs propres. 

2.6 Rotation de Procuste


A l’image de Procuste qui ajustait les personnes à son lit, la rotation de Procuste
ajuste deux nuages de points.POn a un nuage x1 , . . . , xn et un autre nuage y1 , . . . , yn .
On cherche à minimiser Φ = ni=1 kxi − Ayi − bk2 avec b vecteur de translation et A
matrice orthonormée. Attention, il ne s’agit pas forcément d’une rotation car on ne
contraint pas det A = 1.

Choix de la translation
n
X n
X
φ= (kxi − Ayi k2 + b0 b) − 2b0 (xi − Ayi )
i=1 i=1

20
2. Méthodes factorielles

Ainsi,
n
∂φ X
= 2nb0 − 2 (xi − Ayi )0
∂b
i=1
n
1X
⇒b= (xi − Ayi )
n
i=1

b vaut 0 si les deux nuages sont centrés. On suppose donc les nuages centrés pour
simplifier. Ainsi, φ devient :
n
X
φ= kxi − Ayi k2
i=1
n
X
= xi0 xi + yi0 A0 Ayi − 2xi0 Ayi
i=1
= tr(XX 0 + Y Y 0 ) − 2 tr(XAY 0 ))

Il faut donc maximiser 2 tr(Y 0 XA) avec la contrainte A0 A = I. Le lagrangien est


donnée par :

L = 2 tr(Y 0 XA) − tr(Λ(A0 A − I))

avec Λ symétrique contenant tous les multiplicateurs de Lagrange. On note Z = Y 0 X


et on dérive suivant A : Avant de dériver matriciellement on se livre les deux
remarques suivantes :

tr(Z(A + H)) − tr(ZA) = tr(ZH)


∂ tr(ZA)
ainsi ∂A
= Z 0 et

tr(Λ(A + H)0 (A + H)) − tr(ΛA0 A) = tr(ΛA0 H + ΛH 0 A + ΛH 0 H)


= tr(2ΛA0 H + ΛH 0 H)
∂ tr(Λ(A0 A−I))
ainsi ∂A
= 2AΛ. On obtient alors la dérivée du lagrangien :

∂L
= 2Z 0 − 2AΛ = 0
∂A
⇒ Λ = A0 Z 0 car A est orthonormée

On suppose à ce stade que Z est de rang p, alors Z = U DV 0 avec U et V colonne-


orthonormées. On obtient : Λ2 = U DV 0 AA0 V DU 0 = U D 2 U 0 car U est colonne-

21
Cours d’analyse de données N. Wicker

orthonormée. On réécrit : Λ = A0 Z 0 en choisissant Λ = U DU 0 car U DU 0 est symé-


trique et Λ2 = U DU 0 U DU 0 = U D 2 U 0 . Ainsi,

U DU 0 = A0 V DU 0
⇒ U D = A0 V D par colonne-orthonormalité
⇒ U = A0 V

On prend donc A = V U 0 et Z = Y 0 X = U DV 0 .
Il s’agit bien d’un maximum car :

∂L
= −Ip ⊗ Λ
∂A
avec A = (a1 | . . . |ap ). Or, Λ est positive, ainsi la dérivée est négative.

Variation : rotation de Procuste avec échelle


n
X
φ= kxi − cAyi k2 en notant c le paramètre d’échelle
i=1
n
X n
X n
X
= kxi k2 + c2 yi0 A0 Ayi − 2c xi0 Ayi
i=1 i=1 i=1

3 Méthodes de classification
Apprentissage non supervisé, il s’agit donc de réaliser des classes, à partir
d’ensemble d’invidus. Les individus sont décrits par des variables quantitatives,
qualitatives, des distances, des similarités, des dissimilarités. On distingue les
méthodes de partitionnement de celles engendrant une classification hiérarchique.
Une partition signifie que l’on effectue un seul découpage en classes, en classification
hiérarchique il y a plusieurs découpages imbriqués.

Remarque : dans le cadre de ce cours, uniquement les méthodes n’impliquant pas


de modèle aléatoire seront vues. Ainsi, on ne traitera pas des modèles de mélanges
qui sont des méthodes très utiles mais constituent un domaine à part.

3.1 Méthode de partitionnement


Méthode k-means
On considère les individus x1 , . . . , xn .
1. choix de k centres de classes c1 , . . . , ck au hasard parmi x1 , . . . , xn .

22
3. Méthodes de classification

2. on affecte chaque point xi à la classe cj la plus proche


3. on affecte le centre cj de chaque classe comme cj = gj centre de gravité de la
classe
t t−1
4. on retourne à l’étape 1 si |Iinter −Iinter | >  ou nombre d’itérations suffisamment
grand.

Attention, cette méthode ne converge pas nécessairement vers l’optimum global


mais on a malgré tout la propriété suivante :

Proposition 9 – L’inertie intra-classe n’augmente jamais.

Preuve.

n X
X k
Iinter = pi kxi − cj k2 zij
i=1 j=1
n X
X k
= pi kxi − gj + gj − cj k2 zij
i=1 j=1
n X
X k X k
n X n X
X k
= pi kxi − gj k2 zij + pi kgj − cj k2 zij − 2 pi (xi − gj )0 (gj − cj )zij
i=1 j=1 i=1 j=1 i=1 j=1
n X
X k
> pi kxi − gj k2 zij 
i=1 j=1

On a donc convergence vers un minimum local. En pratique, k-means est utilisé


n fois et on conserve la solution de plus petite inertie intra-classe. Cette méthode
peut s’étendre à des individus décrits par des distances. Cela ne change pas l’étape
1. L’étape 2 : cj = {xk | ni=1 zij d(xi , xk ) soit minimal}. Un problème connu de k-means
P
est qu’il modélise uniquement des classes sphériques ou assimilés. Par ailleurs,
k-means est décrit dans le cadre Rp mais dans les autres cas, des variantes existent
comme skmeans dans le cas de données sphériques et kernel k-means pour des
données décrites par des noyaux.

Méthode sk-means

Des données sphériques peuvent être obtenues par standardisation des indi-
x −x̄
vidus. Si on a un individu x = (x1 , . . . , xp ) on le transforme en y = ( x1σ−x̄ , . . . , pσ ).
Pp Pp 2
Ainsi, i=1 yi = 0 et i=1 yi = 1. y ∈ S p−2 dans Rp−1 . On minimise ni=1 kj=1 (1 −
P P

23
Cours d’analyse de données N. Wicker

Pn Pk Pn Pk hxi ,cj i
cos(€
xi , cj ))zij = i=1 j=1 zij − i=1 j=1 kxi kkcj k zij Cela revient à maximiser :

X k
n X k X
X n
hxi , cj izij = h xi zij i
i=1 j=1 j=1 i=1
k X
X n
6 k zij xi kkcj k
j=1 i=1
Pn
Pn z x
et donc on a un maximum quand cj ∝ Pi=1 ij i .
i=1 zij xi de telle sorte que cj = k ni=1 zij xi k

Méthode kernel k-means


Règle générale empirique, une méthode utilisant essentiellement des produits
scalaires, peut se réécrire avec des noyaux. Un noyau k : H × H → R symétrique.
Pour des individus x1 , . . . , xn ∈ χ la matrice de Gram est donnée par {k(xi , xj )}i,j∈1,...,n .
Si on a un noyau positif la matrice de Gram est positive et il existe (Théorème de
Moore-Aronszajn) une application φ : H → H 0 espace de Hilbert tel que hφ(xi ), φ(xj )i =
k(xi , xj ). Ceci est appelé le kernel-trick.
Intérêt pratique : on peut manipuler H par le biais de H 0 comme Rp . Applica-
tions : toutes les données complexes : graphes, mots, images (à développer plus
tard).
L’inertie s’écrit dans le cas de kernel-kmeans comme :
n X
X k
I= zij kφ(xi ) − cj k2
i=1 j=1
n
X
= zij hφ(xi ) − cj , φ(xi ) − cj i
i=1
n X
X k
zij [k(xi , xi ) − 2hφ(xi ), cj i + kcj k2 ]
i=1 j=1

Il faut trouver maintenant cj :


n Pn
∂I X i=1 zij φ(xi )
= zij [−2hφ(xi ), .i + 2hcj , .i] = 0 ⇒ cj = Pn
∂cj i=1 zij
i=1

3.2 Classification hiérarchique


On distingue la classification hiérarchique ascendante de la classification hiérar-
chique descendante. Dans le premier cas, on regroupe les individus de proche en

24
3. Méthodes de classification

proche en formant en diminuant à chaque fois le nombre de classes, jusqu’à ce qu’il


n’y ait plus qu’une seule classe. Dans le second, on part d’une classe regroupant
tous les individus et on divise cette classe jusqu’à ce qu’il n’y ait plus qu’un individu
par classe. Il y a différentes variantes de la classification hiérarchique ascendante,
liées à l’utilisation de différentes dissimilarités. En effet, si au départ on ne dispose
que de n(n − 1)/2 distances entre les différentes paires de points. A l’étape suivante,
il faudra calculer les dissimilarités entre la première classe formée : (x1 , x2 ) sans
perte de généralité.

Méthode du saut minimum (Single-linkage) δ(A, B) = min d(a, b). Cette dis-
(a,b)∈A×B
similarité ne rend pas bien compte du comportement global des classes. (ajouter
figure)

Méthode du diamètre (Complete-Linkage) δ(A, B) = max d(a, b). On observe


(a,b)∈A×B
ici le même problème que pour la méthode du saut minimum.

Méthode de la moyenne δ(A, B) = kgA − gB k où gA et gB sont les centres de gravités


de A et de B. Utilise tous les points, mais le poids de chaque classe est perdu.

Méthode de Ward Ici la dissimilarité est donnée par la perte d’inertie inter-classe :
Dissimilarité raisonnable et très utilisée, elle est à rapprochée de la méthode k-
means.
k−2
X k−2
X
δ(A, B) = pi kgi − gk2 + pA kgA − gk2 + pB kgB − gk2 − pi kgi − gk2 − (pA + pB )kgA,B − gk2
i=1 i=1
p g + pB gB
= pA kgA − gk + pB kgB − gk − (pA + pB )k A A
2 2
− gk2
pA + pB
kpA ga + pB gB k2
= pA kgA k2 + pA kgk2 − 2gA0 g + pB kgB k2 + pB kgk2 − 2gB0 g − − (pA + pB )kgk
pA + pB
2(pA gA + pB gB )0 g
2
pA kgA k2 + pB2 kgB k2 + 2pA pB gA0 gB
= pA kgA k2 + pB kgB k2 −
pA + pB
2
= (pA kgA k2 + pA pB kgA k2 + pA pB kgB k2 + pB2 kgB k2 − pA
2
kgA k2 − pB2 kgB k2 − 2pA pB gA0 gB )
pA
p p
= A B (kgA k2 + kgB k2 − 2gA0 gB )
pA + pB
p p
= A B d(gA , gB )2
pA + pB

25
Cours d’analyse de données N. Wicker

(pA +pC )δ(A,C)+(pB +pC )δ(B,C)−pC δ(A,B)


Proposition 10 – δ((A, B), C) = pA +pB +pC

Preuve.

(pA + pB )pC pA gA + pB gB
δ((A, B), B) = d( , gc )2
pA + pB + pC pA + pB
(p + pB )pC pA gA + pB gB
= A k − gC k2
pA + pB + pC pA + pB
2 2
(pA + pB )pC  2pA gA0 gC 2pB gB0 gC 2 2 0
 
2 pA kgA k + pB kgB k + 2pA pB gA gB 

= − + kgC k + 
pA + pB + pC  pA + pB pA + pB (pA + pB )2
 
2 0 2 2
kgC k2 + pA kgA k2 −2pB2 gB0 gC + pB2 kgC k2 + pB2 kgB k2

(pA + pB )pC  −2pA gA gC + pA
+ +
pA + pB + pC (pA + pB )2 (pA + pB )2


2pA pB kgC k2 − 2pA pB gA0 gC − 2pA pB gB0 gC + 2pA pB gA0 gB


!

(pA + pB )2
 2
(p + pB )pC  pA kgA − gC k2 pB2 kgB − gC k2 + pA pB (−kgA − gB k2 + kgA − gC k2 + kgB −
= A +
pA + pB + pC  (pA + pB )2 (pA + pB )2

2
!
(pA + pB )pC 2 2 pA pB d(gA , gB )
= p d(g , g ) + pB d(gB , gC ) −
pA + pB + pC A A C pA + pB
(pA + pC )δ(A, C) + (pB + pC )δ(B, C) − pC δ(A, B)
= 
pA + pB + pC

La complexité de la classification hiérarchique ascendante est de l’ordre de n3 ,


ce qui fait qu’en pratique elle n’est pas utilisable pour de grands échantillons. Ainsi,
lorsque l’échantillon est trop grand il faut avoir recours à un subterfuge, par exemple
on peut d’abord réduire le nombre de classes au moyen de la méthode k-means, puis
utiliser la classification hiérarchique. Une autre solution consiste à ne pas calculer
toutes les dissimilarités. L’utilisation fréquente est la visualisation de résultats. Un
problème proche est la phylogénie (mettre une image), pas d’enracinement.

3.3 Décomposition de l’inertie si on dispose de k classes


Pn
− gk2 = ni=1 kj=1 zij mi kxi − gk2 avec zij = 1 si i est dans la classe j
P P
I= i=1 mi kxi
et zij = 0 sinon. I = ni=1 kj=1 zij mi kxi − gj + gj − gk2 avec gj le centre de gravité de la
P P

26
4. Méthodes à noyau

classe j. Ainsi :

n X
X k
I= zij mi kxi − gj + gj − gk2 avec gj le centre de gravité de la classe j
i=1 j=1
n X
X k n X
X k n X
X k
= zij kxi − hj k2 + zij kgj − gk2 + 2 zij (xi − gj )0 (gj − g)
i=1 j=1 i=1 j=1 i=1 j=1
k X
X n k X
X n
= zij mi kxi − gj k2 + zij mi kgj − gk2
j=1 i=1 j=1 i=1

4 Méthodes à noyau
4.1 Introduction
Questions en suspens : utilité de la complétude : théorème du point fixe(Toute
application contractante a un point fixe).
Idée : remplacer les produits scalaires par des noyaux pour passer d’un ensemble
quelconque à un espace de Hilbert.

Théorème 3 – Si (F, k.k) et (G, k.k) sont deux espaces vectoriels normés et L une applica-
tion linéaire de F dans G on a équivalence entre les trois propriétés suivantes :
1. L est bornée.
2. L est continue.
3. L est continue en un point.

Preuve. (1) ⇒ (2) :


Soit f1 et f2 ∈ F, on a kLf1 − Lf2 kG = kL(f1 − f2 )kG 6 kLkkf1 − f2 k par définition de la
norme de l’opérateur L. la continuité s’ensuit.
(2) ⇒ (3) est évident
(3) ⇒ (1). On suppose L continue en f0 . Par continuité de L, ∃η tel que pour pour
tout ∆f = f − f0 tel que k∆f k < η, L∆f < 1. Soit maintenant g quelconque, on a
Lηg ηg kLgk
d’après ce qui précède k kgk k < 1 car k kgk k < η. Il s’ensuit : kgk < η1 et donc que L est
borné. 

Définition 4 – Un espace de Hilbert reproduisant est un espace de Hilbert de


fonctions réelles tel que les fonctions d’évaluation δx sont continues.

Définition 5 – Un noyau reproduisant est une application χ × χ → R telle que


∀f ∈ H, ∀x ∈ χ f (x) = hk(x, .), f i.

27
Cours d’analyse de données N. Wicker

Unicité : Supposons qu’il en existe deux, soient k1 (x, .) et k2 (., .) alors f (x) =
hk1 (x, .), f i = hk2 (x, .), f i Alors, hk1 (x, .) − k2 (x, .), f i = 0 pour tout f ∈ H, en particulier,
kk1 (x, .) − k2 (x, .)k2 = 0 et k1 (x, .) = k2 (x, .).

Théorème 4 – H RKHS ⇔ H est muni d’un noyau reproduisant.

Preuve. ⇒ Si les δx sont continues, il s’agit alors de formes linéaires continues sur
un espace de Hilbert, donc par le théorème de Riesz, ∃gx ∈ H tel que δx f = hgx , f i.
On définit alors k(x, .) = gx .
⇐ On dispose de k(., .) noyau reproduisant et

|δx f − δx g| = |hk(x, .), f i − hk(x, .), gi|


= |hk(x, .), f − gi|
6 kk(x, .)kH kf − gkH

Ainsi, pour kf − gk suffisamment petit |δx f − δx g| <  d’où la continuité de δx . 

Remarque 1 – Un noyau reproduisant est positif.

Preuve. En effet, si on considère a1 , . . . , an ∈ R et x1 , . . . , xn ∈ χ on a :

X n
n X n
X n
X
ai aj k(xi , xj ) = h ai k(xi , .), aj k(xj , .)i
i=1 j=1 i=1 j=1
n
X
=k ai k(xi , .)k2
i=1
>0 

Comment construire un RKHS ?


1. On suppose que l’on dispose d’un espace pré-RKHS H0 avec les propriétés
suivantes :
— δx continues sur H0 .
— Toute suite de Cauchy fn qui converge ponctuellement converge en norme
k.kH0 .
2. À partir de H0 , on construit un RKHS H de la manière suivante : f ∈ H s’il
existe une suite de Cauchy fn pour la norme H0 qui converge ponctuellement
vers f .i
3. Exhiber un H0 à partir d’un noyau positif.

28
4. Méthodes à noyau

— On définit le produit scalaire dans H par :

hf , giH = lim hfn , gn iH0


n→+∞

On montre d’abord que cette définition a un sens, c’est-à-dire que la limite existe,
qu’elle est unique et qu’elle réalise bien les propriétés du produit scalaire.
Lemme 1 – La limite existe.

Preuve. Soit αn = hfn , gn iH0 ∈ R complet

|αn − αm | = |hfn , gn iH0 − hfm , gm iH0 |


= |hfn , gn iH0 − hfm , gn iH0 + hfm , gn iH0 − hfm , gm iH0 |
= |hfn − fm , gn iH0 − hfm , gn − gm iH0 |
6 |hfn − fm , gn iH0 | + |hfm , gn − gm iH0 |
6 kfn − fm kH0 kgn kH0 − kfm kH0 kgn − gm kH0 

Ainsi, comme fn et gn sont des suites de Cauchy, pour N suffisamment grand et


n, m > N on peut rendre kfn − fm kH0 et kgn − gm kH0 aussi petits que l’on veut. Par
ailleurs, kgn kH0 et kfm kH0 sont bornées car normes de suites de Cauchy.

Lemme 2 – La définition ne dépend pas des suites fn et gn choisies.

Preuve. Soient fn et fn0 qui convergent vers f , gn et gn0 qui convergent vers g. On note
αn = hfn , gn iH0 et αn0 = hfn0 , gn0 iH0 . Alors,

|αn − αn0 | = |hfn , gn iH0 − hfn0 , gn0 iH0 |


= |hfn , gn iH0 − hfn0 , gn iH0 + hfn0 , gn iH0 + hfn0 , gn0 iH0 |
= |hfn − fn0 , gn iH0 hfn0 , gn − gn0 iH0 |
6 |hgn , fn − fn0 iH0 | + |hfn0 , gn − gn0 iH0 |
6 kgn kH0 kfn − fn0 kH0 + kfn0 kH0 kgn − gn0 kH0
6 kgn kH0 (kfn − f kH0 + kf − fn0 kH0 ) + kfn0 kH0 (kgn − gkH0 + kg − gn0 kH0 )

Or, la convergence ponctuelle impliquant par hypothèse la convergence en norme


k.kH0 on peut conclure. 

Maintenant que h., .i est bien défini, vérifions qu’il s’agit d’un produit scalaire. En
particulier, montrons que hf , f iH = 0 ⇔ f = 0
(⇒) hf , f iH = 0 ⇒ lim hfn , fn iH0 = 0 soit kfn kH0 →n→+∞ 0. Ainsi, |fn (x)| = |δx fn | 6
n→+∞
kδx k.kfn kH0 . La norme kδx fn k est bornée par continuité de δx sur H0 et kfn kH0 tend
vers 0 pour n suffisamment grand, ce qui achève la preuve.

29
Cours d’analyse de données N. Wicker

(⇐) Si f = 0 alors ∃(fn )n ∈ H0 qui tend vers 0. Alors hf , f iH = lim hfn , fn iH0 =
n→+∞
lim kfn k2H0 or par hypothèse de H0 , kfn k2H0 → k0k2H0 = 0. Concernant la bilinéarité,
n→+∞
on a haf , giH = lim hafn , gn iH0 = lim ahfn , gn iH0 = ahf , gi. Idem pour la symétrie
n→+∞ n→+∞
et la positivité.
H0 est dense dans H. En effet, soit f ∈ H, ∃fn suit de Cauchy ∈ H0 qui converge
vers f . On a alors kfm − f k2H = lim hfm − fn , fm − fn iH0 . Et donc ∃N tel que ∀n, m > N ,
n→+∞
kfm − fn kH0 <  donc kf − fn k2H < .

Remarque 2 – On a ici que fn converge vers f ponctuellement et en norme k.kH ?

Les fonctions d’évaluation sont continues dans H. Pour cela il suffit de montrer
que δx est continue en 0. Soit f ∈ H tel que kf kH < η. On veut montrer que |f (x)|
peut être rendu aussi petit que possible. Or

|f (x)| = |f (x) − fn (x) + fn (x)|


6 |f (x) − fn (x)| + |fn (x)|

Or, fn (x) converge ponctuellement vers f et δx continue sur H0 avec kfn kH0 qui tend
vers 0.

Lemme 3 – H est complet.

Preuve. Soit une suite de Cauchy fn dans H pour k.kH . Ce qui signifie que pour tout
η∃N suffisamment grand tel que pour tout n, m > N on a kfn − fm kH < η. Donc en
choisissant η assez petit on a |fn (x) − fm (x)| <  par continuité de δx . fn (x) est une
suite de Cauchy dans R complet, donc fn (x) converge ponctuellement vers f (x). Pour
tout n, on définit gn ∈ H0 suffisamment proche de fn en norme et ponctuellement
pour un x donné |f (x) − gn (x)| 6 |f (x) − fn (x)| + |fn (x) − gn (x)| 6 2 donc gn converge
ponctuellement vers f . Pour cela, il faut montrer que gn est une suite de Cauchy
dans H0

kgn − gm kH0 = kgn − gm kH


= kgn − fn + fn − fm + fm − gm kH
= kgn − fn kH + kfn − fm kH + kfm − gm k

Donc gn est bien Cauchy et comme gn (x) → f (x), f ∈ H alors kf − fn kH < kf − gn kH +


kgn − fn kH H est construit à partir de H0 est complet, les δx sont continues, il est
donc RKHS. 

Théorème 5 – Théorème de Moore-Aronszajn : si k(., .) est un noyau positif alors il


existe un espace de Hilbert à noyau reproduisant k(., .).

30
4. Méthodes à noyau

Preuve. Soit H0 = { ni=1 aP


P
.), x1 , . . . , xn ∈ χa1 , . . . , an ∈PR} On considère comme
i k(xi ,P
produit scalaire : hf , gin = ni=1 m n Pm
j=1 ai bj k(xi , yj ) avec f = i=1 ai k(xi , .) et g = j=1 bj k(yj , .).
On remarque que
n X
X m
hf , gi = ai bj k(xi , yj )
i=1 j=1
n
X
= ai g(xi )
i=1
Xm
= bj f (yj )
j=1

Ainsi h, i ne dépend pas de l’écriture P de f ou de g. On remarque également en


prenant g = k(x, .), x ∈ χ que hf , gi = ni=1 ai k(x, xi ) = f (x) donc k(x, .) est un noyau
reproduisant sur H0 .POn P a bien un produit scalaire : la bilinéarité est évidente.
Par ailleurs hf , f i = ni=1 nj=1 ai aj k(xi , xj ) > 0 Si hf , f i = kf k2H0 = 0 alors comme
f (x) = hk(x, .), f i alors |f (x)| 6 kk(x, .)kH0 .kf kH0 par Cauchy-Schwarz (à démontrer
dans le cas forme bilinéaire positive). On a donc bien f = 0. Il faut maintenant
montrer que H0 est bien un pré-RKHS, soit montrer que les δx sont continues et
que les suites de Cauchy dans H0 qui convergent ponctuellement vers 0 convergent
aussi en norme k.kH0 vers 0.
(a) Soient f et g dans H0
|δx f − δx g| = |hk(x, .), f − gi|
6 kk(x, .)kH0 kf − gkH0
d’où la continuité des δx .
(b)On considère une suite de Cauchy pour la norme H0 qui converge ponctuel-
lement vers 0. Soit N tel que kfn − fm kH0 <  pour n, m > N . kfn k2H0 = hfn , fn iH0 =
Pp
hfn − fN , fn i + hfN , fn i. On considère que fN s’écrit i=1 ai k(xi , .) alors kfn k2H0 = hfn −
Pp
fN , fn iH0 + i=1 ai fn (xi ) car k(., .) est reproduisant. Ainsi, kfn k2H0 6 kfn − fN kkfn kH0 +
Pp
i=1 |ai ||fn (xi )| par Cauchy-Schwarz. En prenant N suffisamment grand on peut
rendre les deux termes aussi petits que possible en utilisant le fait que la suite est
de Cauchy pour la norme H0 et qu’elle est donc bornée pour cette norme. Ainsi,
fn converge en norme H0 vers 0. En utilisant le résultat vu plus haut, H0 peut être
complété en un espace de Hilbert H à noyau reproduisant. On remarque que le
noyau reproduisant de H0 est noyau reproduisant de H, en effet :
hf , k(x, .)iH = lim hfn , k(x, .)iH0
n→+∞
= lim fn (x) = f (x) 
n→+∞

31
Cours d’analyse de données N. Wicker

4.2 Quelques propriétés des noyaux


Lemme 4 – La somme de deux noyaux positifs est un noyau positif.

Preuve. Soient k1 et k2 deux noyaux et k = k1 + k2 . Alors k(x, y) = k1 (x, y) + k2 (x, y)


alors
n X
X n n X
X n n X
X n
ai aj k(xi , xj ) = ai aj k1 (xi , xj ) + ai aj k2 (xi , xj ) > 0 
i=1 j=1 i=1 j=1 i=1 j=1

Lemme 5 – Le produit de deux noyaux positifs est un noyau positif.

Preuve. Soients k1 et k2 deux noyaux positifs et k = k1 k2 . La matrice de Gram


{k(xi , xj )} = G1 ◦ G2 produit terme à terme (de Hadamard) des matrices de Gram
G1 et G2 des noyaux k1 et k2 . On veut montrer que a0 Ga > 0. Or, a0 Ga = tr(a0 Ga) =
tr(Da G1 Da G2 ) avec Da = diag(a1 , . . . , an ). En effet,
n
X
(Da G1 Da G2 )ii = ai G1ij G2ji aj
j=1
n
X
= ai G1ij G2ij aj par symétrie de G2
j=1

Ainsi

tr(Da G1 Da G2 ) = tr(Da G11/2 G11/2 Da G21/2 G21/2 ) par symétrie et positivité des matrices de Gram
= tr(G11/2 Da G21/2 G21/2 Da G11/2 )
= tr(AA0 ) avec A = G11/2 Da G21/2
>0 

Lemme 6 – Soit un noyau k̃(x, y) = f (x)k(x, y)f (y), si k(x, y) est positif alors k̃(x, y) l’est
aussi avec f fonction quelconque.

Preuve. Soit a1 , . . . , an ∈ R, x1 , . . . , xn ∈ χ. En effet,


n X
X n
ai aj k̃(xi , xj ) =
i=1 j=1
n X
X n
(ai f (xi )aj f (xj )k(xi , xj ) > 0 par positivité de k 
i=1 j=1

32
4. Méthodes à noyau

0
Lemme 7 – Le noyau exponentiel k(x, y) = ecx y , est positif.

Preuve. Il suffit de faire un développement de Taylor :

+∞
X (cx0 y)k
k(x, y) =
k!
k=0

chaque terme de la somme est un noyau positif car puissance d’un noyau positif
d’après le lemme 5. 

kx−yk2
Lemme 8 – Le noyau gaussien k(x, y) = e− 2 est positif.

Preuve. Il suffit de réécrire le noyau de la façon suivante :


2 0 2
k(x, y) = e−kxk ex y e−kyk

ainsi, d’après le lemme 6, k(x, y) est bien un noyau positif.


Cela peut aussi se démontrer directement en utilisant le théorème de Bochner et
en prenant la transformée de Fourier d’une gaussienne. En effet :
2
Z +∞ − x2 Z +∞ (x+ti)2
−itx e 1 t2
e √ dx = √ e− 2 e− 2 dx
−∞ 2π 2π −∞
2
Z R+ti y2
− t2
=e lim e− 2 dy
R→+∞ R−ti
2
− t2
=e

en intégrant sur le contour [−R, R] ∪ {R + ti[0, 1]} ∪ [R + ti, −R + ti] ∪ {−R + ti[0, 1]}.

Exemple 1 – Noyau pour comparer deux graphes G1 = (V , E1 ) et G2 = (V , E2 ) parta-


geant le même ensemble de sommets 1 :
X
k(G1 , G2 ) = k(lij1 , lij2
16i<j6|V |

où lij1 (resp. lij2 ) est la longueur du plus court chemin entre i et j dans le graphe G1
(resp. G2 ).

1. Borgwardt et Kriegel, 2005, « Shortest-path kernels on graphs ».

33
Cours d’analyse de données N. Wicker

Exemple 2 – Noyau pour comparer deux chaînes de caratères s et t dans Σ∗ où Σ


est un alphabet 2 :
X X X
k(s, t) = λie −is +1 λje −js +1
u∈Σ∗ u=s[i] u=t[j]

où i (resp. j) sont une liste d’indices permettant de retrouver les lettres du mot u
dans le mot s (resp. t), λ ∈ R et ie l’indice de fin et is l’indice de début.

4.3 SVM biclasse


Idée Séparer deux classes par un plan dans l’espace RKHS. Illustration XOR, oeil
de boeuf.

SVM à marge dure


On dispose d’un échantillon (y1 , . . . , yn ) ∈ {−1, 1}n associé à x1 , . . . , xn ∈ χ. On
veut maximiser la marge, c’est-à-dire la distance au plan séparateur w, b sous
les contraintes (hw, xi i + b)yi > 0. Ce qui signifie que pour yi > 0, hw, xi i + b doit
être positif, et pour yi < 0 hw, xi i + b doit être négatif. On cherche max{minkx =
w,b i
xi k, x tq hw, xi + b = 0} Soit x− et x+ , les deux points les plus proches du plan dans
chacune des classes, il est facile de voir que :
(
hw, x+ i + b = a
hw, x− i + b = −a

Cela peut se réécrire :

h wa , x+ i + ba = 1
(

h wa , x− i + ba = −1

Sans perte de généralité, on peut ainsi considérer que les points x− et x+ vérifient :
(
hw, x+ i + b = 1
hw, x− i + b = −1
⇒ 2 = hw, x+ − x− i
2 w +
⇒ =h , x − x− i
kwk kwk

2. Lodhi et al., 2002, « Text Classifiation using String Kernels ».

34
4. Méthodes à noyau

2
Ainsi, on peut chercher à maximiser kxk , de manière équivalente on peut minimiser
2
kwk ou encore kwk pour des raisons de dérivabilité. Le problème d’optimisation
devient alors :
( 2
min kwk2
s.c. (hw, xi i + b)yi > 1∀i ∈ 1, . . . , n

Le lagrangien s’écrit alors :


n
kwk2 X
L(w, b, α) = + [1 − (hw, xi i + b)yi ]αi avec αi > 0
2
i=1

En dérivant, on obtient :
n
∂L X
=w− xi y i α i
∂w
i=1
n
∂L X
=− yi αi
∂b
i=1

et le lagrangien peut se réécrire ;


n n n n n n
1 XX X X XX
L= αi αj yi yj k(xi , xj ) + αi − byi αi − αi αj yi yj k(xi , xj )
2
i=1 j=1 i=1 i=1 i=1 j=1
n n n
1 XX X
=− αi αj yi yj k(xi , xj ) + αi
2
i=1 j=1 i=1

Par le théorème de Wolfe 3 , comme le problème primal est convexe, les contraintes
convexes alors il suffit d’avoir un point w, b vérifiant de manière stricte toutes les
contraintes pour que maximiser le dual en w, b, λ1 , . . . , λn permette de minimiser le
problème primal en w, b.
Attention : l’optimisation peut être coûteuse (expression en n2 ), les points même
dans H peuvent ne pas être séparables.

SVM à marge souple


Le problème d’optimisation est :
( 2
min kwk 2 + n
C Pn
i=1 ξi
s.c. yi (wi xi + b) > 1 − ξi avec ξi > 0

3. Wolfe, 1961, « A duality theorem for nonlinear programming ».

35
Cours d’analyse de données N. Wicker

Il faut trouver un compromis entre avoir une grande marge 2/kwk et avoir peu
d’erreur ξ. En contrepartie de la souplesse offerte par la marge souple, une difficulté
apparaît, le choix de c. Pour choisir c, le plus simple est de faire une validation
croisée.

4.4 SVM multi-classe


On se ramène au cas biclasse
Deux possibilités existent dans ce cas, la stratégie un contre tous et la stratégie
un contre un.

Stratégie un contre tous Si on a K classes, on construit K classifieurs : classe 1


contre classes 2 à K, classe 2 contre classes 1, 3 à K, etc. Ensuite, lorsqu’on présente
un point x aux K classifieurs, si tout se passe bien x n’est affecté qu’à une classe.
Evidemment, cela n’est pas garanti.

Stratégie un contre un On contruit un classifieur pour chaque paire de classe :


1 − 2, 1 − 3, . . . , 2 − 3. On a K(K − 1)/2 classifieurs au total. Ensuite, lorsqu’on présente
x à tous les classifieurs, la classe qui retient x le plus souvent devient la classe de x.

Méthode de Weston et Watkins


Le problème d’optimisation devient :

kwk k2
( P
K
+ Cn ni=1 t,zi ξ r
P P
k=1 2
s.c. ∀i, r , zi , hwzi , Φ(xi )i + bzi > hwr , Φ(xi )i + br + 2 + ξir

Idée : un point x est plus dans son demi-espace (défini par Pzi ) que dans un autre
demi-espace. Si on considère le cas biclasse, avec x1 dans la classe 1 et x2 dans la
classe 2, on obtient, d’une part :

hw1 , Φ(x1 )i + b1 > hw2 , Φ(x1 )i + b2 + 2


w − w2 b −b
⇒h 1 i+ 1 2 > 1
2 2
et d’autre part :

hw2 , Φ(x2 )i + b2 > hw1 , Φ(x2 )i + b1 + 2


w − w1 b −b
⇒h 2 i+ 2 1 > 1
2 2
w1 − w2 b1 − b2
⇒h i+ 6 −1
2 2

36
4. Méthodes à noyau

4.5 SVM monoclasse


Méthode 1
Ajouter une figure
Idée : séparer l’espace en deux comme dans le cas biclasse. ∀i, hw, Φ(xi )i > ρ Pour
ρ
un point x sur le plan on a hw, xi = ρ. On veur rendre kwk maximal, le problème
d’optimisation devient alors :
 2
 min kwk 1 Pn
+ nη i=1 ξi − ρ


 2
 s.c. hw, Φ(xi )i > ρ − ξi , ξi > 0

Le lagrangien est :
n n
kwk2 1 X X
L(w, ρ, ξ, α, β) = + ξi − ρ + αi (ρ − ξ − hw, Φ(xi )i − βi ξi
2 nη
i=1 i=1

En dérivant on obtient alors


n n
∂L X X
=w− αi Φ(xi ) = 0 ⇒ w = αi Φ(xi )
∂w
i=1 i=1
n n
∂L X X
= −1 + αi ⇒ αi = 1
∂ρ
i=1 i=1
∂L 1
= − αi − βi = 0
∂ξi nη

de telle sorte que le lagrangien devient :


n X
n n n n n
X αi αj k(xi , xj ) X 1 X XX
L= + ξi ( − α i − βi ) − ρ + αi ρ − αi αj k(xi , xj )
2 nη
i=1 j=1 i=1 i=1 i=1 j=1
n X
n
1 X
=− αi αj k(xi , xj )
2
i=1 j=1

Méthode 2
Ajouter une figure
Idée : englober toues les points dans une sphère (la plus petite possible). Le
problème d’optimisation est alors :
1 Pn
min R2 + nη
(
i=1 ξi
s.c. ∀ikΦ(xi ) − ck2 6 R2 + ξi

37
Cours d’analyse de données N. Wicker

Le lagrangien s’écrit alors :

n n
1 X X
L(R, c, ξ, α, β) = R2 + ξi + αi (kΦ(xi ) − ck2 − R2 − ξi ) − βi ξi

i=1 i=1

En dérivant on obtient alors :

n n
∂L X X
= 2R − 2R αi = 0 ⇒ αi = 1
∂R
i=1 i=1
n n
∂L X X
= αi 2(Φ(xi ) − c) = 0 ⇒ c = αi Φ(xi )
∂c
i=1 i=1
∂L 1
= − αi − βi = 0
∂ξi nη

Ainsi, le lagrangien se réécrit :

n n n n
X X 1 X X
L = R2 − αi R2 + ξi ( − αi − βi ) + αi kΦ(xi ) − αj Φ(xj )k2

i=1 i=1 i=1 j=1
n
X n X
X n n X
X n
= αi kΦ(xi )k2 − 2 αi αj hi + αi αj hΦ(xi )Φ(xj )i
i=1 i=1 j=1 i=1 j=1
n
X n X
X n
= αi kΦ(xi )k2 − αi αj hΦ(xi ), Φ(xj )i
i=1 i=1 j=1

On remarque que le premier terme est celui de la première méthode. Par ailleurs,
si k(., .) est le noyau gaussien alors les deux méthodes sont équivalentes. En effet,
kx−yk2
k(x, y) = e− 2 et donc kΦ(xi )k2 = k(xi , xi ) = 1. L’interprétation géométrique est :
faire figure
car les points sont sur une sphère.

4.6 kernel PCA


Pour simplifier, on considère desP données centrées. Moyenne des Φ(xi ) est 0. La
matrice de variance s’écrit : C = n1 ni=1 Φ(xi )Φ(xi )0 . Soit v un vecteur propre de C de
valeur propre λ : Cv = λv soit n1 ni=1 Φ(xi )hΦ(xi ), vi = λv donc v s’écrit ni=1 Φ(xi ).
P P

38
4. Méthodes à noyau

Cv = λv s’écrit alors :

n n n
1X X X
Φ(xi )Φ(xi )0 αj Φ(xj ) = λ αj Φ(xj )
n
i=1 j=1 j=1
n n n
1 X X X
⇒ Φ(xi ) αj k(xi , xj ) = λ αΦ(xj )
n
i=1 j=1 j=1

Ainsi, pour tout k en multipliant par Φ(xk ) on obtient que :

n n n
1X X X
k(xi , xk ) αj k(xi , xj ) = λ αj k(xj , xk )
n
i=1 j=1 j=1
n
 n  n
1 X  X  X
αj  k(xk , xi )k(xi , xj ) = λ αj k(xj , xk )
 

n
j=1 i=1 j=1
1
⇒ G2 α = λGα(1)
n

avec G matrice de Gram ({k(xi , xj )}ij ). Si on considère

1
Gα = λα(2)
n

Les solutions de (1) sont solution de (2). Soit α ∈ Sol(2) ∩ Sol(1){ , on a

1 2
(
nG α = λGα
λα + λz = n1 Gα

39
Cours d’analyse de données N. Wicker

1 2 1
Ainsi
Pn n G α = λGα + λGz ⇒ Gz = 0 et λ(α + z) = n G(α + z). On cherche v =
i=1 αi Φ(xi )

Gz = 0
⇒ z0 Gz = 0
Xn X n
⇒ zi zj k(xi , xj ) = 0
i=1 j=1
n
X n
X
⇒ zi zj hΦ(xi ), Φ(xj )i = 0
i=1 j=1
n
X n
X
⇒ zi hΦ(xi ), zj Φ(xj )i = 0
i=1 j=1
n
X n
X
⇒h zi Φ(xi ), zj Φ(xj )i = 0
i=1 j=1
n
X
⇒k zi Φ(xi )k = 0
i=1
n
X
⇒ zi Φ(xi ) = 0
i=1

v = ni=1P(αi∗ − zi )Φ(xi ) si α ∗ vecteur propre de G. et donc v = ni=1 αi∗ Φ(xi ) −


P P
Ainsi,
Pn n ∗
i=1 zi Φ(xi ) = i=1 αi Φ(xi ) et il suffit de résoudre :

1
λα = Gα
n

Pn Pn
Normalisation de v, hv, vi = 1 soit i=1 j=1 αi αj hΦ(xi ), Φ(xj )i = 1. La projection
des données s’effectue ainsi :

n
X
hΦ(x), vi = αi hΦ(x), Φ(xi )i
i=1
Xn
= αi k(xi , x)
i=1

40
5. Ouverture sur les graphes

Pn
Cas où les points ne sont pas centrés : Φ̃(xi ) = Φ(xi ) − n1 j=1 Φ(xj ) Ainsi :
n n
1X 1X
G̃ = hΦ(xi ) − Φ(xk ), Φ(xj ) − Φ(xk )i
n n
k=1 k=1
n n n n
1X 1X 1 XX
= k(xi , xj ) − k(xi , xk ) − k(xk , xj ) + 2 k(xk , xl )
n n n
k=1 k=1 k=1 l=1

et donc G̃ = HGH avec H = In − n1 110 (kernel regression ? pas fait mais en projet) (un
truc sur les graphes ?)

5 Ouverture sur les graphes


Nous allons voir comment il est possible de lier graphes, analyse factorielle et
méthodes à noyau.
Un graphe G est donné par un ensemble de sommets V et d’arêtes E. On le
note G = (V , E). On ne considère pas ici les graphes valués ou orientés. Le graphe
matriciellement est donné par une matrice d’adjacence A telle que Aij = 1 si le
sommet i est connecté au sommet j et Aij = 0 sinon. Le laplacien du graphe est alors
donné par
L = D −A
où D est la matrice contenant tous les degrés des sommets. Ce laplacien est aussi
appelé laplacien combinatoire. Un autre laplacien, appelé laplacien normalisé, est
défini par :
L = D −1/2 LD −1/2 .

Intuition physique Si on considère un chemin s1 → s2 → · · · → sn , avec comme


laplacien associé L, lorsque l’on effectue Lv on obtient comme ième valeur −ui +
2ui − ui+1 qui correspond à la discrétisation de la dérivée seconde.

Intuition en terme de classification Si v est un vecteur propre associé à la valeur


propre λ. On a pour tout i ∈ 1, . . . , n, (Lv)i = λvi soit
P
j∼i vj
vi =
di − λ
de telle sorte que si λ est petite, chaque valeur du vecteur propre est approximati-
vement la moyenne de ses voisines. En pratique, en analyse de données si on veut
un représenter un graphe par des points dans R2 , on utilise comme coordonnées
les valeurs des deux premiers vecteurs propres associés à des valeurs propres non
nulles.

41
Cours d’analyse de données N. Wicker

Proposition 11 – Le laplacien L est une matrice positive.

Preuve. En effet, si on considère un vecteur x ∈ Rn , on a :


n
X n X
X n
x0 Lx = di xi2 − xi xj aij avec aij ∈ {0, 1}
i=1 i=1 j=1
n X
n
X (xi − xj )2 aij
= >0 
2
i=1 j=1

Interprétation en terme de positionnement multidimensionnel (MDS) Si consi-


dère L† comme matrice de similarité p (possible car positive) alors la matrice de
distance associée par la formule dij = sii + sjj − 2sij sera euclidienne avec B donnée
par B = HL† H d’après le théorème 2 page 14. Maintenant, si on prend un vecteur
propre ui de L associé à une valeur propre non nulle λi , on obtient :

HL† Hui =HL† ui car ui ⊥ 1


u
=H i
λi
1
= ui
λi

Ainsi, comme dans MDS on cherche à maximiser la variance des axes choisis, il faut
prendre les valeurs propres les plus petites.

Références
Borgwardt, K. et H. Kriegel (2005). « Shortest-path kernels on graphs ». In : Data
Mining, Fifth IEEE International Conference on Data Mining (cf. p. 33).
Lodhi, H. et al. (2002). « Text Classifiation using String Kernels ». Journal of Machine
Learning Research 2, p. 419–444 (cf. p. 34).
Mardia, K., J. Kent et J. Bibby (1979). Multivariate Analysis. Academic Press (cf. p. 1).
Saporta, G. (1990). Probabilités, analyse des données et statistique. Technip (cf. p. 1).
Schölkopf, B. et A. Smola (2001). Learning with kernels. MIT Press (cf. p. 1).
Wolfe, P. (1961). « A duality theorem for nonlinear programming ». Quarterly of
Applied Mathematics 19, p. 239–244 (cf. p. 35).

42
Table des matières

Table des matières


1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Méthodes factorielles . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1 Décomposition en valeurs singulières . . . . . . . . . . . . 1
2.2 Principe de l’Analyse en composantes principales . . . . . . 2
2.3 Analyse factorielle des correspondances . . . . . . . . . . . 7
2.4 Analyse factorielle des correspondances multiples . . . . . 12
2.5 Analyse factorielle des distances . . . . . . . . . . . . . . . 14
2.6 Rotation de Procuste . . . . . . . . . . . . . . . . . . . . . . 20
3 Méthodes de classification . . . . . . . . . . . . . . . . . . . . . . . 22
3.1 Méthode de partitionnement . . . . . . . . . . . . . . . . . 22
3.2 Classification hiérarchique . . . . . . . . . . . . . . . . . . . 24
3.3 Décomposition de l’inertie si on dispose de k classes . . . . 26
4 Méthodes à noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Quelques propriétés des noyaux . . . . . . . . . . . . . . . . 32
4.3 SVM biclasse . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4 SVM multi-classe . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5 SVM monoclasse . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6 kernel PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Ouverture sur les graphes . . . . . . . . . . . . . . . . . . . . . . . 41
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i