Cours d'analyse de données -...

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 M n,p (R) décrivant n individus et p variables, une matrice D M n,n (R) décrivant des distances, dissimilarités entre n individus, une matrice de similarités S M n,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 Xn × p de rang r Théorème 1 – X peut s’écrire UDV 0 U M n,r (R), V M p,r (R), D matrice diago- nale, U et V colonne-orthonormées, c’est-à-dire : U 0 U = I r et V 0 V = I r . Preuve. Commençons par observer que X 0 X a le même rang que X. En eet, soit x ker X 0 X, X 0 Xx =0 x 0 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 Λ = diag(λ 1 ,...,λ r ) est diagonale avec λ i > 0 et V M p,r est colonne-orthonormée. On définit D comme D = Λ 1/ 2 et U =(u 1 | ... |u r ) avec u i = d -1 i Xv i d i = λ i . 1

Transcript of Cours d'analyse de données -...

Page 1: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

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 etA. Gretton ainsi que de Saporta (1990), Mardia, Kent et Bibby (1979) et Schölkopfet Smola (2001).

1 Introduction

Les données sont typiquement : une matrice X ∈Mn,p(R) décrivant n individuset p variables, une matrice D ∈Mn,n(R) décrivant des distances, dissimilarités entren individus, une matrice de similarités S ∈Mn,n(R). D’une manière générale toutobjet x ∈ χ est envisageable, mais c’est uniquement lorsque l’on introduira lesnoyaux positifs, que l’on pourra les traiter. Traiter des données dans R assure unsocle de méthodes qui se déclineront ensuite dans des espaces de Hilbert à noyaureproduisant.

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 UDV ′ où U ∈Mn,r(R), V ∈Mp,r(R), D matrice diago-nale, U et V colonne-orthonormées, c’est-à-dire : U ′U = Ir et V ′V = Ir .

Preuve. Commençons par observer que X ′X a le même rang que X. En effet, soitx ∈ kerX ′X,

X ′Xx = 0

⇒ x′X ′Xx = 0

⇒ Xx = 0

⇒ x ∈ kerX �

Par ailleurs, si x ∈ kerX, Xx = 0⇒ X ′Xx = 0⇒ kerX = kerX ′X. D’où, rgX ′X = rgXpar le théorème du rang. On en déduit que : X ′X = VΛV ′ où Λ = diag(λ1, . . . ,λr ) estdiagonale avec λi > 0 et V ∈Mp,r est colonne-orthonormée. On définit D commeD = Λ1/2 et U = (u1| . . . |ur ) avec ui = d−1

i Xvi où di =√λi .

1

Page 2: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Vérification :

u′iuj = d−1i d

−1j v′iX′Xvj

= d−1i d

−1j v′iVΛV ′vj

= d−1i d

−1j e′iΛej avec e1, . . . , base canonique

= d−1i d

−1j λiδij

= d−2i λiδij

= δij

Soit x quelconque, on réécrit x : x =∑ri=1αivi + y avec y ∈ kerX. Ainsi

UDV ′x =UDV ′(r∑i=1

αivi + y)

=r∑i=1

αiUDV′vi

=r∑i=1

αiUDei

=r∑i=1

αidiUei

=r∑i=1

αidid−1i Xvi

= Xx

d’où X =UDV ′ .

2.2 Principe de l’Analyse en composantes principales

Préambule

Choix d’une métrique En général, d(x,y) =√∑p

i=1(xi − yi)2. Souvent, on regarde

d(x,y)2 = ‖x − y‖2. Parfois, on a besoin de ‖x − y‖2M = (x − y)′M(x − y) avec Mpositive (semi-définie positive). Une métrique usuelle est la matrice diagonale

2

Page 3: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

diag(Var−11 , . . .Var−1

p ) où l’on utilise les variances. Alors :

‖x − y‖M = (x − y)′

Var−1

1 0. . .

0 Var−1p

(x − y)

=p∑i=1

(xi − yi)2

Vari

=p∑i=1

(xi√Vari

−yi√Vari

)2

= ‖x∗ − y∗‖2

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

Inertie ou variance

Définition 1 – Le centre de gravité est g =∑ni=1mixi avec

∑ni=1mi = 1.

Typiquement, mi = 1n 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=1mi‖xi − g‖2 .

Point de vue statistique

X{ N (OnΣ) alors si Σ non singulière, Σ = UDU ′ et on considère Y = U ′X detelle sorte que

VarY =E(YY ′)

=U ′XX ′U

=U ′UDU ′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 trVM.

3

Page 4: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Preuve.

I =n∑i=1

mi(xi − g)′M(xi − g)

= trn∑i=1

mi(xi − g)′M(xi − g)

= trMn∑i=1

mi(xi − g)(xi − g)′

= trVM �

Au passage, on remarque que l’inertie totale est égale à la somme des valeurs propresde VM.

L’opérateur de projection est P = aa′Ma′Ma En effet,

P 2 =aa′Ma′Ma

aa′Ma′Ma

=aa′Ma′Ma

= P

P est dit idempotent. Par ailleurs, x − P (x)⊥ a, en effet :

a′M(x − P (x)) = a′M(x − aa′Mx

a′Ma)

= a′Mx − a′Maa′Mxa′Ma

= 0

Calculons l’inertie après projection :

I(a) =n∑i=1

mi‖P (xi)− P (g)‖2

=n∑i=1

mi‖P (xi − g)‖2

=n∑i=1

mi[P (xi − g)]′MP (xi − g)

=n∑i=1

mi

(aa′Ma′Ma

(xi − g))′M

(aa′Ma′Ma

(xi − g))

=n∑i=1

mi(xi − g)′Maa′Maa′M(xi − g)

(a′Ma)2

4

Page 5: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

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

I(a) = trn∑i=1

mi(xi − g)′Maa′M(xi − g)

a′Ma

= trn∑i=1

miMaa′Ma′Ma

(xi − g)(xi − g)′

= trMaa′Ma′Ma

n∑i=1

mi(xi − g)(xi − g)′

= trMaa′MVa′Ma

= tra′MVMa

a′a

=a′MVMaa′Ma

M1/2 existe car M = PDP ′ avec D > 0. ainsi en posant b =M1/2a, on maximise alors :

I(b) =b′M1/2VM1/2b

‖b‖2

Cela revient à maximiser I(b) = b′M1/2VM1/2b sous la contrainte ‖b‖ = 1. Or,M1/2VM1/2 est symétrique donc on peut écrire : I(b) = b′UΛU ′b. On peut écrireb =

∑pi=1αiui avec U = (u1| . . . |up). Ainsi I(b) =

∑pi=1α

2i λi avec

∑pi=1α

2i = 1. On sup-

pose que λ1 > λ2 > . . . > λp. La solution est donc b = v1 car I(b) >∑pi=1α

2i λ1 = λ1.

Comme b est vecteur propre de M1/2VM1/2, on a

M1/2VM1/2b = λb

⇒ VM1/2b = λM−1/2b

⇒ VMM−1/2b = λM−1/2b

⇒ VMa = λa

Ainsi, a doit être vecteur propre de VM.Les axes principaux a sont les vecteurs propres de VM. La projection correspon-

dante est donnée par aa′Ma′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’appellentcomposante principale associée à a.

5

Page 6: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Les vecteurs propres sont M-orthogonaux Soit deux vecteurs propres ui et ujassociés à des valeurs propres λi , λj , on a alors :

u′iMuj =u′iMVMujλj

=(VMui)′M

ujλj

=λiλju′iMuj

d’où u′iMuj = 0. Si deux vecteurs propres partagent la même valeur propre, il suffitd’orthogonaliser la base du sous-espace propre associé. On peut dès lors les rendreM-orthonormés.

Variance de la composante principale On considère la composante principale ciassociée au vecteur propre ui de valeur propre λi .

Var(ci) =1na′MX ′XMa = a′V a = a′UDU ′a

=u′iMVMui=λiu

′iMui

=λi

Covariance entre les coordonnées et les variables de départ La covariance avecla composante principale de a est donnée par :

X ′XMan

= VMa

a est un des vecteurs propres de V , ui par exemple, et donc : VMui = λiui et λiuijest la covariance entre la ie composante principale et la je variable.

La corrélation est donnée par :

λiuij√λivar(j)

=

√λiuij√var(j)

ainsi, si les données sont centrées, la corrélation est donnée simplement par :√λiuij

On parle du cercle de corrélation car :

k∑i=1

(√λiuij )

2 = Var j

par décomposition spectrale si M = Ip.

6

Page 7: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

Qualité de représentation d’un point Le cosinus de l’angle formé par un pointxi avec l’espace sur lequel il est projeté est donné par :

cos(�xi ,uj ) =〈xi ,uj〉M‖xi‖M‖uj‖M

=cji‖xi‖M

par orthonormalité des uj

Ainsi,

cos(�xi ,uj )2 =c2ji∑p

k=1 c2ji

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 kest donnée par :

mic2ki

λk

en effet,∑ni=1mic

2ki = λ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’ensemblede points

— règle de Kaiser, on garde λ si λ > 1p

∑pi=1λi

2.3 Analyse factorielle des correspondances

C’est un cas particulier de l’ACP pour un tableau de contingence N avec deuxvariables qualitatives, la première a m1 catégories et la seconde en a m2. La matricepeut s’écrire

N =

n11 . . . n1m2...

...nm11 nm1m2

Profils des lignes : D−1

1 N où D1 = diag(n1., . . . ,nm1.) Profils des colonnes : (ND−12 )′

où D1 = diag(n.1, . . . ,n.m2)

On peut considérer soit les profils-lignes, soit les profils-colonnes. Pour lesprofils-lignes, on regarde D−1

1 N . Comme matrice de poids, on choisit D1n pour

7

Page 8: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

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

g =X ′D1

n1

= (D−11 N )′

D1

n1

=N ′1n

=1n

(n.1, . . . ,n.m2)′

Pour les profils-colonnes, ma matrice de poids est D2n et gc = 1

n (n1., . . . ,nm1.)′ . Comme

métrique, on choisit M = nD−12 pour les profils-lignes et M = nD−1

1 pour les profils-colonnes. Cette métrique est appelée métrique du χ2. On a alors :

d2(li , li′ ) =m2∑j=1

nn.j

(nijni.−ni′jni′ .

)2

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

nijn.j

=nij′n.j′

alors les regrouper ne change rien à la distance.

Preuve. On considère :

d∗2(li , li′ )− d2(li , li′ ) =n

n.j +n.j ′

(nij +nij ′

ni.−ni′j +ni′j ′

ni′ .

)2

− nnij

(nijni.−ni′jni′ .

)2

− nnij ′

(nij ′

ni.−ni′j ′

ni′ .

)2

=n

n.j +n.j ′

n2ij +n2

ij ′ +n2ij ′

n.jn.j′

+n2ijn.j′n.j

n2i.

+n2i′j +n2

i′j ′ +n2i′j ′

n.jn.j′

+n2ijn.j′n.j

n2i′ .

2(nij −nijn.j′n.j

)(ni′j +ni′j ′ )

ni.ni′ .

−Aavec A =

nnij

(nijni.−ni′jni′ .

)2

+nnij ′

(nij ′

ni.−ni′j ′

ni′ .

)2

8

Page 9: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

Ainsi,

d∗2(li , li′ )− d2(li , li′ ) =n

n.j +n.j ′

n2ij

(1 +

n.j′n.j

)+n2

ij ′

(1 +

n.jn.j′

)n2i.

+n2i′j

(1 +

n.j′n.j

)+n2

i′j ′

(1 +

n.j′n.j

)n2i′ .

2nij(1 +

n.j′n.j

)(ni′j +ni′j ′

)ni.ni′ .

−A= n

n2ij

n2i.

1n.j

+n2ij ′

n2i.

1n.j ′

+n2i′j

n2i′ .

1n.j

+n2i′j ′

n2i′ .

1nij ′−

2nijni′kni.ni′ .n.j

−2nij ′ni′j ′

ni.ni′ .n.j ′

−A=nn.j

n2ij

n2i.

+n2ij ′

n2i.

+n2i′j ′

n2i′ .

+n2i′j

n2i′ .

−2nijni′jni.ni′ .

−2nij ′ni′j ′

ni.ni′ .

−A=nn.j

(nijni.−ni′jni′ .

)2

+nn.j

(nij ′

ni.−ni′j ′

ni′ .

)2

−A =

= 0 �

Proposition 3 – L’inertie I = 1n

∑m1i=1

∑m2j=1

(nij−

ni.n.jn

)2

ni.n.jn

Preuve. Il suffit de faire le calcul :

I =m1∑i=1

ni.nd2(li , gl)

=m1∑i=1

ni.n

m2∑j=1

nn.j

(nijni.−n.jn

)2

=m1∑i=1

m2∑j=1

ni.n2ij

nijn2i.

+ni.n

2.j

n.jn2 −2ni.nijn.jnijni.n

=m1∑i=1

m2∑j=1

1n.jni.

n2ij +

n2i.n

2.j

n2 −2nijni.n.j

n

=

1n

m1∑i=1

m2∑j=1

(nij −

ni.n.jn

)2

ni.n.jn

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

9

Page 10: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Proposition 4 –−−−→OG est M-orthogonal au nuage de points.

Preuve. En effet, si on considère un point li = (ni1ni. , . . . ,nim2ni.

)′ on a :

(li − g)′Mg =(li −

1n

(n.1, . . . ,n.m2)′)′nD−1

21n

(n.1, . . . ,n.m2)′

=(li −

1n

(n.1, . . . ,n.m2)′)′

1

= 1− 1 = 0 �

Nous avons maintenant tous les éléments pour réaliser l’ACP : VM est ici pour lesprofils ligne égal à :

VM = ((D−11 N )′ − g1′)D1(D−1

1 N − 1g ′)D−12

= (N ′D−11 − g1′)D1(D−1

1 N − 1g ′)D−12

=N ′D−11 ND−1

2 − g1′ND−12 −N

′1g ′D12 + g1′D11g ′D−1

2

=N ′D−11 ND−1

2 − g(n.1, . . . ,n.m2)D−1

2 − (n.1, . . . ,n.m2)g ′D−1

2

=N ′D−11 ND−1

2 −ngg′D1

2 −ngg′D−1

2 +ngg ′D−12

=N ′D−11 ND−1

2 −ngg′D−1

2

Or,−−−→OG est orthogonal au plan des données, c’est donc un vecteur propre pour la

valeur propre 0. Donc, VMg = 0 =N ′D−11 ND−1

2 −ngg ′D−12 . Ainsi :

N ′D ′1ND−12 g = nggD−1

2 g

= ngg ′1n

= gn.1 + · · ·+n.m2

n

On a déjà un vecteur propre de VM, c’est g. On veut les autres vecteurs propres quiseront orthogonaux à g. Si on a par exemple le vecteur propre a de VM :

VMa = λa =N ′D−11 ND−1

2 a− gg ′Ma = 0 car g est M-orthogonal à a

Ainsi il suffit de chercher les vecteurs propres de N ′D−11 ND−1

2 , de manière similairepour les profils colonnes, on cherche les vecteurs propres de ND−1

2 ND−11 .

Formules de transition On considère un vecteur propre al deN ′D−11 ND−1

2 associéà la valeur propre λ. Ainsi :

N ′D−11 ND−1

2 al = λal

⇒ND−12 N ′D−1

1 (ND−12 al) = λ(ND−1

2 al)

⇒ ac = kND−12 al

10

Page 11: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

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

ac′ = 1

⇒ k2al′D−12 N ′nND−1

2 al = 1

⇒ k2nal′D−12 λal = 1

⇒ λk2al′nD−12 al = 1

⇒ λk2 = 1

⇒ k =1√λ

On a donc : ac = 1√λND−1

2 al . Soit maintenant ac un vecteur propre de ND−12 N ′D−1

1

associé à la valeur propre λ.

ND−12 N ′D−1

1 ac = λac

⇒N ′D−11 ND−1

2 (N ′D−11 ac) = λ(N ′D−1

1 ac)

⇒ al = kN ′D−11 ac et al′Mal = 1

⇒ k2ac′D−11 NnD−1

2 N ′D−11 ac = 1

⇒ k = 1/√λ

et donc al = 1√λN ′D−1

1 ac.

Autres formules de transition : On note cl une composante principale pour lesprofils-ligne. Ainsi, cl = XMal =D−1

1 NnD−12 al = n

√λD−1

1 ac. De même cc = XMac =(ND−1

2 )′nD−11 ac = n

√λD−1

2 al .

Formule de reconstitution et choix du nombre d’axes calcul sur les profils-lignemais c’est évidemment similaire pour les profils-colonne.

D−11 N =

m1∑k=1

clk(alk)′ + 1g ′l

11

Page 12: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Valeur moyenne des clk

c̄lk =1n

(n1., . . . ,nm1.)clk

=1n

(n1., . . . ,nm1.)XMalk

=1n

(n1., . . . ,nm1.)D−11 NnD−1

2 alk

=1n

1′NnD−12 alk

=1n

(n1., . . . ,n.m2)nD−1

2 alk

= g l′Malk = 0 si alk , gl

Ainsi, λk =∑m1i=1 c

lk(i)2 ni.

n donc la contribution de la ie ligne est égale àclk(i)2 ni.

nλk

. De la

même, la contribution de la ie colonne est égale à :cck(i)2 n.i

nλk

.

2.4 Analyse factorielle des correspondances multiples

On considère ici p variables qualitativcesH1, . . . ,Hp avecm1,m2, . . . ,mp catégorieset n individus. On représente les données sous la forme d’un tableau disjonctifX = (X1| . . . |Xp) tableau de taille n× (m1 +m2 + · · ·+mp). Chaque Xi est un tableaudisjonctif par une variable Hi , par exemple :

X1 =

1 0 00 1 01 0 00 1 00 0 1

si H1 a 3 catégories et si n = 5. Dans chaque ligne, on rencontre une et une seule fois1. On a la propriété suivante pour p = 2 : faire l’AFC de X = (X1|X2) revient à fairel’AFC de X ′1X2, on peut déjà observer que X ′1X2 est le tableau de contingence forméà partir des variabels H1 et H2. On retrouve nij , l’indice i pour H1 et l’indice j pourH2.

Faire l’AFC de X = (X1|X2) revient à faire l’AFC de X ′1X2. On cherche les vecteurs

12

Page 13: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

propres deN ′D−11 ND

−12 avecN = XD1 = 2In et D2 =

(D1 00 D2

). Ainsi,

N ′D−11 ND2 =

12

(X1X2)′(X1X2)(D−1

1 00 D−1

2

)=

12

(X ′1X1 X ′1X2X ′2X1 X ′2X2

)(D−1

1 00 D−1

2

)=

12

(X ′1X1 X ′1X2X ′2X1 X ′2X2

)(D−1

1 00 D−1

2

)=

12Im1+m2

+12

(0 ND−1

2N ′D−1

1 0

)=

12

(Im1

ND−12

N ′D−11 Im2

)

Soit un vecteur propre (ab)′ deN ′D−11 ND

−12 associé à la valeur propre λ. Ainsi :

12

(Im1

ND−12

N ′D−11 Im2

)(ab

)= λ

(ab

)

Soit

{a+ND−1

2 b = 2λaN ′D−1

1 a+ b = 2λb

a = ND−12 b

2λ−1

b = N ′D−11 a

2λ−1

⇒{ND−1

2 N ′D−11 a = (2λ− 1)2a

N ′D−11 ND−1

2 b = (2λ− 1)2b

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

13

Page 14: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Retour sur l’AFC : ac = ND−12 al√λ

où al est l’axe principal profil-ligne et ac l’axe

principal correspondant profils-colonne. al = N ′D−11 ac√λ

,

cl = XMal =D1NnD−12 al

=D−11 NnD−1

2N ′D−1

1√λ

ac

=D−1

1 N√λ

(ND−12 )′nD−1

1 ac

=D−1

1 N√λ

cc

Dans le cadre de l’AFCM, on a cl = 1√λN ccp ainsi chaque individu-ligne est la

moyenne barycentrique des individus-colonnes associés à ses attributs à une constanteprès. Cela autorise d’une certaine manière la double représentation sur un graphiquedes 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 = ‖xi −xj‖2.

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éfinitla dissimilarité comme par exemple dij = 1− sij . D’autres possibilités existent, etnous en verrons une particulière plus tard.

Notations : soit une matrice A = {ars}r,s avec ars = −d2rs

2 . Soit la matrice de centrageH = I − 1

n11′. B = HAH est la matrice centrée. On introduit aussi a.s = 1n

∑ni=1 ais,

alors si on note B = brsr,s, on a : brs = (ars − a.s)− (ar. − a..) avec a.. = 1n2

∑ni=1

∑nj=1 aij .

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

14

Page 15: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

Preuve. Supposons que D est euclidienne. Donc ∃x1, . . . ,xn tels que pour chaquedistance, on a d2

r,s = ‖xr − xs‖2 alors

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

= −‖xr − xs‖2

2+

12n

n∑i=1

‖xr − xi‖2 +1

2n

n∑j=1

‖xj − xs‖2 −1

2n2

n∑i=1

n∑j=1

‖xi − xj‖2

= −‖xr‖2

2− ‖xs‖

2

2+ x′rxs +

‖xr‖2

2+

n∑i=1

‖xi‖2

2n− x′r

n

n∑i=1

xi +‖xs‖2

2+

12n

n∑i=1

‖xi‖2 +x′sn

n∑i=1

xi−

− 12n2

n∑i=1

n∑j=1

‖xi‖2 + ‖xj‖2 − 2x′jxi

= x′rxs + x′r x̄+ x′sx̄+1n

n∑i=1

‖xi‖2 −1n

n∑i=1

‖xi‖2 + x̄′ x̄

= x′rxs − x′r x̄ − x′sx̄+ x′ x̄

ainsi brs = (xr−x̄)′(xs−x̄) et donc B =HX(HX)′ avecX = (x1, . . . ,xn)′ . Soit z un vecteurquelconque : z′Bz = z′HXX ′Hz = (X ′Hz)′(X ′Hz) > 0, ainsi B est bien positive.

Supposons maintenant que B > 0, alors comme B est symétrique B = UDU ′

et comme B > 0, les valeurs propres sont toutes positives et donc on peut écrire :B =UD1/2D1/2U ′ = XX ′ avec X =UD1/2 = (x1, . . . ,xn)′ . Ainsi,

‖xr − xs‖2 = ‖xr‖2 + ‖xs‖2 − 2x′rxs= brr + bss − 2brs par définition des x

Puis,

‖xr − xs‖2 = arr + a.. − a.r − ar. + ass + a.. − a.s − as. − 2(ars + a.. − ar. − a.s)= arr + ass − 2ars

= −d2rs

2− d

2ss

2+ 2

d2rs

2= d2

rs �

L’algorithme qui s’ensuit est le suivant :

1. calcul de A, ars = −d2rs2

2. calcul de B avec brs = ars − ar. − a.s + a..3. diagonalisation de B en UDU ′ 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

Page 16: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

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..

= −d2rs

2+d2.s

2+d2r.

2− d

2..

2

= −css2− crr

2+ crs +

css2

+1

2n

n∑i=1

cii −1n

n∑i=1

cis +1

2n

n∑i=1

cii +crr2− 1n

n∑i=1

cri−

12n2

n∑i=1

n∑j=1

(cii + cjj − 2cij )

= crs − cr. − c.s +1n

n∑i=1

cii −1n

n∑i=1

cii + c..

ainsi B = HCH avec C > 0. Donc pour tout vecteur z, on a : z′Bz = z′HCHz =(Hz)′C(Hz) > 0. �

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

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

A∗ = A− 12

0 c2 . . . c2

c2 0. . .

......

. . .. . . c2

c2 . . . . . . c2

Ainsi B∗ = HA∗H avec H = I − 1n11′ et B∗ = HAH − H

2

0 c2 . . . c2

c2 0. . .

......

. . .. . . c2

c2 . . . . . . c2

Ce qui

16

Page 17: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

peut se réécrire :

B∗ =HAH − c2

2H(11′ − I)H

=HAH − c2

2(I − 1

n11′)(11′ − I)− c

2

2(I − 1

n11′)

=HAH − c2

2(11′ − I −

1n1′ + 1n11′

n(11′ − I)

=HAH − c2

2(−I +

1n

11′ +1n

11′ − 1n2 1n1′)

=HAH − c2

2(−I +

1n

11′)

=HAH +c2

2H

Les vecteurs propres de B sont centrés, en effet, si Bv = λv, on a HAHv = λv et doncHHAHv = λHv. Or H2 =H , en effet :

HH = (I − 1n

11′)(I − 1n

11′)

= I − 2n

11′ +1n2 11′11′

= I − 1n

11′

=H

Ainsi, HAHv = λHv = λv car v est centré. Toujours avec v vecteur propre de B, ona :

B∗ =HAHv +c2

2Hv

= λv +c2

2v

= (λ+c2

2)v

Pour avoir B∗ > 0, il suffit donc de prendre c2

2 = −λmin. �

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

n (HX)′(HX) = 1nX′HHX = 1

nX′HX. Si on a v vecteurs propres de V :

1nX ′HHXv = λv

⇒ (HXX ′H)HXv = nλHXv

17

Page 18: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

HXv est bien une composante principale de l’ACP et un vecteur propre de B =HXX ′H . Cela implique qu’il convient de regarder les plus grandes valeurs propresde 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φ =

∑r,s d

2rs − d∗2rs où d∗rs sont les distances obtenues après projection suivant les k axes.

Preuve. En effet, φ se réécrit : φ −∑r,s

∑ni=1(l′ixr − l

′ixs)

2 −∑ki=1(l′ixr − l

′ixs)

2 avecL = (l1| . . . |ln) = (L1|L2). Ainsi,

φ =∑r,s

n∑i=k+1

(l′ixr − l′ixs)

2

=∑r,s

n∑i=k+1

[l′i (xr − xs)]2

=∑r,s

n∑i=k+1

l′i (xr − xs)(xr − xs)′li

=n∑

i=k+1

l′i (∑r,s

(xr − xs)(xr − xs)′)li

Or, ∑r,s

(xr − xs)(xr − xs)′ =∑r,s

(xr − g)(xr − g)′ + (xs − g)(xs − g)′ −∑r,s

(xs − g)(xs − g)′ + (xr − g)(xs − g)′

= 2n∑r

(xr − g)(xr − g)′

= 2n2V

Et donc,

φ =p∑

i=k+1

2n2l′iV li

= 2n2 tr(L′2VL2)

= 2n2 tr(L′2UDU′L2)

On pose F2 = U ′L2, F2 est colonne-orthonormée car F′2F2 = L′2UU′L2 = L′2L2 = I.

Ainsi, φ = 2n2 ∑pi=k+1

∑pj=1 f

2ijλj = 2n2 ∑p

j=1λjhj avec hj =∑pi=k+1 f

2ij . On remarque

18

Page 19: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

que hj > 0,

p∑j=1

hj =p∑j=1

p∑i=k+1

f 2ij

=p∑

i=k+1

p∑j=1

f 2ij

= p − k

hj =p∑

i=k+1

f 2ij

=p∑

i=k+1

〈fi , ej〉2

6

p∑i=1

〈fi , ej〉2 = 1

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

sinon. F2 =

0 . . . 0...

...0 . . . 0...

......

fij = 0 pour j ∈ 1, . . . , k et F2 =U ′L2 la projection est bien

réalisée suivant L1 = (u1| . . . |uk). �

Proposition 8 – Optimalité dans le cas de distances non euclidiennes : MDS minimiseψ =

∑r,s(brs − b∗rs)2.

Preuve.

ψ =∑r,s

(brs − b∗rs)2

= tr((B−B∗)2)

= tr((UDU ′ −B∗)2) par symétrie

= tr(UDU ′UDU ′ −UDU ′B∗ −B∗UDU ′ +B∗2)

= tr(D2 − 2UDU ′B∗ +B∗2)

= tr(D2)− tr(2UDU ′B∗UU ′) + tr(U ′B∗UU ′B∗U )

= tr(D2)− tr(2UDΓ ′D∗ΓU ′) + tr(Γ ′D∗Γ Γ ′D∗Γ )

= tr(D2)− 2tr(DΓ ′D∗Γ ) + tr(D∗2)

19

Page 20: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

donc àD∗ constant, on minimise ψ suivant Γ ), il faut donc maximiser tr(DΓ ′D∗Γ ). Or,trD(Γ ′D∗Γ ) =

∑ni=1

∑nj=1 d

∗jγ

2ij On veut maximiser

∑ni=1 di

∑nj=1 d

∗jγ

2ij =

∑nj=1 d

∗j

∑ni=1 diγ

2ij .

Cela se réécrit∑nj=1 d

∗jhj avec hj =

∑ni=1 diγ

2ij . On remarque que :

n∑j=1

hj =n∑j=1

n∑i=1

diγ2ij

=n∑i=1

di

n∑i=1

γ2ij

=n∑i=1

di

Par ailleurs, ∀j,hj > 0, on suppose que d1 > d2 > . . . > dn et d∗1 > . . . > d∗n. h1 doit

être le plus grand possible, or h1 =∑ni=1 diγ

2i1 6 d1

∑ni=1γ

2i1 = d1. h1 = d1⇒ γ11 = 1

et γi1 = 0∀i > 2. h2 =∑ni=1 diγ

2i2 = d1γ

212 +

∑ni=2 diγ

2i2 6 d2 car γ11 = 1 et matrice

orthonormée. Ainsi γi2 = (0,1,0, . . . ,0)′. et ∀i,hi = di , γii = 1, γij = 0 et donc Γ = I .On a donc U ′B∗U =D∗ et ainsi

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

= tr((D −D∗)2)

=n∑i=1

(di − d∗i )2

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

2.6 Rotation de Procuste

A l’image de Procuste qui ajustait les personnes à son lit, la rotation de Procusteajuste deux nuages de points. On a un nuage x1, . . . ,xn et un autre nuage y1, . . . , yn.On cherche à minimiser Φ =

∑ni=1‖xi −Ayi − b‖2 avec b vecteur de translation et A

matrice orthonormée. Attention, il ne s’agit pas forcément d’une rotation car on necontraint pas detA = 1.

Choix de la translation

φ =n∑i=1

(‖xi −Ayi‖2 + b′b)− 2b′n∑i=1

(xi −Ayi)

20

Page 21: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

2. Méthodes factorielles

Ainsi,

∂φ

∂b= 2nb′ − 2

n∑i=1

(xi −Ayi)′

⇒ b =1n

n∑i=1

(xi −Ayi)

b vaut 0 si les deux nuages sont centrés. On suppose donc les nuages centrés poursimplifier. Ainsi, φ devient :

φ =n∑i=1

‖xi −Ayi‖2

=n∑i=1

x′ixi + y′iA′Ayi − 2x′iAyi

= tr(XX ′ +YY ′)− 2tr(XAY ′))

Il faut donc maximiser 2tr(Y ′XA) avec la contrainte A′A = I . Le lagrangien estdonnée par :

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

avec Λ symétrique contenant tous les multiplicateurs de Lagrange. On note Z = Y ′Xet on dérive suivant A : Avant de dériver matriciellement on se livre les deuxremarques suivantes :

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

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

tr(Λ(A+H)′(A+H))− tr(ΛA′A) = tr(ΛA′H +ΛH ′A+ΛH ′H)

= tr(2ΛA′H +ΛH ′H)

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

∂L∂A

= 2Z ′ − 2AΛ = 0

⇒Λ = A′Z ′ car A est orthonormée

On suppose à ce stade que Z est de rang p, alors Z = UDV ′ avec U et V colonne-orthonormées. On obtient : Λ2 = UDV ′AA′VDU ′ = UD2U ′ car U est colonne-

21

Page 22: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

orthonormée. On réécrit : Λ = A′Z ′ en choisissant Λ =UDU ′ car UDU ′ est symé-trique et Λ2 =UDU ′UDU ′ =UD2U ′ . Ainsi,

UDU ′ = A′VDU ′

⇒UD = A′VD par colonne-orthonormalité

⇒U = A′V

On prend donc A = VU ′ et Z = Y ′X =UDV ′ .Il s’agit bien d’un maximum car :

∂L∂A

= −Ip ⊗Λ

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

Variation : rotation de Procuste avec échelle

φ =n∑i=1

‖xi − cAyi‖2 en notant c le paramètre d’échelle

=n∑i=1

‖xi‖2 + c2n∑i=1

y′iA′Ayi − 2c

n∑i=1

x′iAyi

3 Méthodes de classification

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

Remarque : dans le cadre de ce cours, uniquement les méthodes n’impliquant pasde modèle aléatoire seront vues. Ainsi, on ne traitera pas des modèles de mélangesqui 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

Page 23: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

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 laclasse

4. on retourne à l’étape 1 si |I tinter−It−1inter| > ε ou nombre d’itérations suffisamment

grand.

Attention, cette méthode ne converge pas nécessairement vers l’optimum globalmais on a malgré tout la propriété suivante :

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

Preuve.

Iinter =n∑i=1

k∑j=1

pi‖xi − cj‖2zij

=n∑i=1

k∑j=1

pi‖xi − gj + gj − cj‖2zij

=n∑i=1

k∑j=1

pi‖xi − gj‖2zij +n∑i=1

k∑j=1

pi‖gj − cj‖2zij − 2n∑i=1

k∑j=1

pi(xi − gj )′(gj − cj )zij

>n∑i=1

k∑j=1

pi‖xi − gj‖2zij �

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éthodepeut s’étendre à des individus décrits par des distances. Cela ne change pas l’étape1. L’étape 2 : cj = {xk |

∑ni=1 zijd(xi ,xk) soit minimal}. Un problème connu de k-means

est qu’il modélise uniquement des classes sphériques ou assimilés. Par ailleurs,k-means est décrit dans le cadre R

p mais dans les autres cas, des variantes existentcomme skmeans dans le cas de données sphériques et kernel k-means pour desdonnées décrites par des noyaux.

Méthode sk-means

Des données sphériques peuvent être obtenues par standardisation des indi-vidus. Si on a un individu x = (x1, . . . ,xp) on le transforme en y = ( x1−x̄

σ , . . . ,xp−x̄σ ).

Ainsi,∑pi=1 yi = 0 et

∑pi=1 y

2i = 1. y ∈ Sp−2 dans R

p−1. On minimise∑ni=1

∑kj=1(1 −

23

Page 24: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

cos(�xi , cj ))zij =∑ni=1

∑kj=1 zij −

∑ni=1

∑kj=1

〈xi ,cj 〉‖xi‖‖cj‖

zij Cela revient à maximiser :

n∑i=1

k∑j=1

〈xi , cj〉zij =k∑j=1

〈n∑i=1

xizij〉

6k∑j=1

‖n∑i=1

zijxi‖‖cj‖

et donc on a un maximum quand cj ∝∑ni=1 zijxi de telle sorte que cj =

∑ni=1 zijxi

‖∑ni=1 zijxi‖

.

Méthode kernel k-means

Règle générale empirique, une méthode utilisant essentiellement des produitsscalaires, 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 deMoore-Aronszajn) une applicationφ :H →H ′ espace de Hilbert tel que 〈φ(xi),φ(xj )〉 =k(xi ,xj ). Ceci est appelé le kernel-trick.

Intérêt pratique : on peut manipuler H par le biais de H ′ comme Rp. Applica-

tions : toutes les données complexes : graphes, mots, images (à développer plustard).

L’inertie s’écrit dans le cas de kernel-kmeans comme :

I =n∑i=1

k∑j=1

zij‖φ(xi)− cj‖2

=n∑i=1

zij〈φ(xi)− cj ,φ(xi)− cj〉

n∑i=1

k∑j=1

zij [k(xi ,xi)− 2〈φ(xi), cj〉+ ‖cj‖2]

Il faut trouver maintenant cj :

∂I∂cj

=n∑i=1

zij [−2〈φ(xi), .〉+ 2〈cj , .〉] = 0 ⇒ cj =

∑ni=1 zijφ(xi)∑n

i=1 zij

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

Page 25: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

3. Méthodes de classification

proche en formant en diminuant à chaque fois le nombre de classes, jusqu’à ce qu’iln’y ait plus qu’une seule classe. Dans le second, on part d’une classe regroupanttous les individus et on divise cette classe jusqu’à ce qu’il n’y ait plus qu’un individupar 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 disposeque 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) sansperte de généralité.

Méthode du saut minimum (Single-linkage) δ(A,B) = min(a,b)∈A×B

d(a,b). Cette dis-

similarité ne rend pas bien compte du comportement global des classes. (ajouterfigure)

Méthode du diamètre (Complete-Linkage) δ(A,B) = max(a,b)∈A×B

d(a,b). On observe

ici le même problème que pour la méthode du saut minimum.

Méthode de la moyenne δ(A,B) = ‖gA−gB‖ où gA et gB sont les centres de gravitésde 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.

δ(A,B) =k−2∑i=1

pi‖gi − g‖2 + pA‖gA − g‖2 + pB‖gB − g‖2 −k−2∑i=1

pi‖gi − g‖2 − (pA + pB)‖gA,B − g‖2

= pA‖gA − g‖2 + pB‖gB − g‖2 − (pA + pB)‖pAgA + pBgBpA + pB

− g‖2

= pA‖gA‖2 + pA‖g‖2 − 2g ′Ag + pB‖gB‖2 + pB‖g‖2 − 2g ′Bg −‖pAga + pBgB‖2

pA + pB− (pA + pB)‖g‖2+

2(pAgA + pBgB)′g

= pA‖gA‖2 + pB‖gB‖2 −p2A‖gA‖

2 + p2B‖gB‖

2 + 2pApBg ′AgBpA + pB

= (p2A‖gA‖

2 + pApB‖gA‖2 + pApB‖gB‖2 + p2B‖gB‖

2 − p2A‖gA‖

2 − p2B‖gB‖

2 − 2pApBg′AgB)

1pA + pB

=pApBpA + pB

(‖gA‖2 + ‖gB‖2 − 2g ′AgB)

=pApBpA + pB

d(gA, gB)2

25

Page 26: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

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

Preuve.

δ((A,B),B) =(pA + pB)pCpA + pB + pC

d(pAgA + pBgBpA + pB

, gc)2

=(pA + pB)pCpA + pB + pC

‖pAgA + pBgBpA + pB

− gC‖2

=(pA + pB)pCpA + pB + pC

2pAg ′AgCpA + pB

−2pBg ′BgCpA + pB

+ ‖gC‖2 +p2A‖gA‖

2 + p2B‖gB‖

2 + 2pApBg ′AgB(pA + pB)2

(pA + pB)pCpA + pB + pC

−2p2Ag′AgC + p2

A‖gC‖2 + p2

A‖gA‖2

(pA + pB)2 +−2p2

Bg′BgC + p2

B‖gC‖2 + p2

B‖gB‖2

(pA + pB)2 +

2pApB‖gC‖2 − 2pApBg ′AgC − 2pApBg ′BgC + 2pApBg ′AgB(pA + pB)2

)=

(pA + pB)pCpA + pB + pC

p2A‖gA − gC‖

2

(pA + pB)2 +p2B‖gB − gC‖

2 + pApB(−‖gA − gB‖2 + ‖gA − gC‖2 + ‖gB − gC‖2)(pA + pB)2

=

(pA + pB)pCpA + pB + pC

(pAd(gA, gC)2 + pBd(gB, gC)2 −

pApBd(gA, gB)2

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 exempleon peut d’abord réduire le nombre de classes au moyen de la méthode k-means, puisutiliser la classification hiérarchique. Une autre solution consiste à ne pas calculertoutes les dissimilarités. L’utilisation fréquente est la visualisation de résultats. Unproblè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

I =∑ni=1mi‖xi − g‖2 =

∑ni=1

∑kj=1 zijmi‖xi − g‖2 avec zij = 1 si i est dans la classe j

et zij = 0 sinon. I =∑ni=1

∑kj=1 zijmi‖xi − gj + gj − g‖2 avec gj le centre de gravité de la

26

Page 27: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

classe j. Ainsi :

I =n∑i=1

k∑j=1

zijmi‖xi − gj + gj − g‖2 avec gj le centre de gravité de la classe j

=n∑i=1

k∑j=1

zij‖xi − hj‖2 +n∑i=1

k∑j=1

zij‖gj − g‖2 + 2n∑i=1

k∑j=1

zij (xi − gj )′(gj − g)

=k∑j=1

n∑i=1

zijmi‖xi − gj‖2 +k∑j=1

n∑i=1

zijmi‖gj − g‖2

4 Méthodes à noyau

4.1 Introduction

Questions en suspens : utilité de la complétude : théorème du point fixe(Touteapplication contractante a un point fixe).

Idée : remplacer les produits scalaires par des noyaux pour passer d’un ensemblequelconque à un espace de Hilbert.

Théorème 3 – Si (F,‖.‖) et (G,‖.‖) 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 ‖Lf1 − Lf2‖G = ‖L(f1 − f2)‖G 6 ‖L‖‖f1 − f2‖ par définition de lanorme 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 pourtout ∆f = f − f0 tel que ‖∆f ‖ < η, L∆f < 1. Soit maintenant g quelconque, on ad’après ce qui précède ‖Lηg‖g‖ ‖ < 1 car ‖ ηg‖g‖‖ < η. Il s’ensuit : ‖Lg‖‖g‖ <

1η et donc que L est

borné. �

Définition 4 – Un espace de Hilbert reproduisant est un espace de Hilbert defonctions 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) = 〈k(x, .), f 〉.

27

Page 28: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Unicité : Supposons qu’il en existe deux, soient k1(x, .) et k2(., .) alors f (x) =〈k1(x, .), f 〉 = 〈k2(x, .), f 〉 Alors, 〈k1(x, .)−k2(x, .), f 〉 = 0 pour tout f ∈H , en particulier,‖k1(x, .)− k2(x, .)‖2 = 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 surun espace de Hilbert, donc par le théorème de Riesz, ∃gx ∈H tel que δxf = 〈gx, f 〉.On définit alors k(x, .) = gx.⇐ On dispose de k(., .) noyau reproduisant et

|δxf − δxg | = |〈k(x, .), f 〉 − 〈k(x, .), g〉|= |〈k(x, .), f − g〉|6 ‖k(x, .)‖H‖f − g‖H

Ainsi, pour ‖f − g‖ suffisamment petit |δxf − δxg | < ε 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 :

n∑i=1

n∑j=1

aiajk(xi ,xj ) = 〈n∑i=1

aik(xi , .),n∑j=1

ajk(xj , .)〉

= ‖n∑i=1

aik(xi , .)‖2

> 0 �

Comment construire un RKHS ?

1. On suppose que l’on dispose d’un espace pré-RKHS H0 avec les propriétéssuivantes :

— δx continues sur H0.

— Toute suite de Cauchy fn qui converge ponctuellement converge en norme‖.‖H0

.

2. À partir de H0, on construit un RKHS H de la manière suivante : f ∈ H s’ilexiste une suite de Cauchy fn pour la norme H0 qui converge ponctuellementvers f .i

3. Exhiber un H0 à partir d’un noyau positif.

28

Page 29: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

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

〈f ,g〉H = limn→+∞

〈fn, gn〉H0

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 = 〈fn, gn〉H0∈R complet

|αn −αm| = |〈fn, gn〉H0− 〈fm, gm〉H0

|= |〈fn, gn〉H0

− 〈fm, gn〉H0+ 〈fm, gn〉H0

− 〈fm, gm〉H0|

= |〈fn − fm, gn〉H0− 〈fm, gn − gm〉H0

|6 |〈fn − fm, gn〉H0

|+ |〈fm, gn − gm〉H0|

6 ‖fn − fm‖H0‖gn‖H0

− ‖fm‖H0‖gn − gm‖H0

Ainsi, comme fn et gn sont des suites de Cauchy, pour N suffisamment grand etn,m > N on peut rendre ‖fn − fm‖H0

et ‖gn − gm‖H0aussi petits que l’on veut. Par

ailleurs, ‖gn‖H0et ‖fm‖H0

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 f ′n qui convergent vers f , gn et g ′n qui convergent vers g. On noteαn = 〈fn, gn〉H0

et α′n = 〈f ′n , g ′n〉H0. Alors,

|αn −α′n| = |〈fn, gn〉H0− 〈f ′n , g ′n〉H0

|= |〈fn, gn〉H0

− 〈f ′n , gn〉H0+ 〈f ′n , gn〉H0

+ 〈f ′n , g ′n〉H0|

= |〈fn − f ′n , gn〉H0〈f ′n , gn − g ′n〉H0

|6 |〈gn, fn − f ′n〉H0

|+ |〈f ′n , gn − g ′n〉H0|

6 ‖gn‖H0‖fn − f ′n‖H0

+ ‖f ′n‖H0‖gn − g ′n‖H0

6 ‖gn‖H0(‖fn − f ‖H0

+ ‖f − f ′n‖H0) + ‖f ′n‖H0

(‖gn − g‖H0+ ‖g − g ′n‖H0

)

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

on peut conclure. �

Maintenant que 〈., .〉 est bien défini, vérifions qu’il s’agit d’un produit scalaire. Enparticulier, montrons que 〈f , f 〉H = 0⇔ f = 0(⇒) 〈f , f 〉H = 0⇒ lim

n→+∞〈fn, fn〉H0

= 0 soit ‖fn‖H0→n→+∞ 0. Ainsi, |fn(x)| = |δxfn| 6

‖δx‖.‖fn‖H0. La norme ‖δxfn‖ est bornée par continuité de δx sur H0 et ‖fn‖H0

tendvers 0 pour n suffisamment grand, ce qui achève la preuve.

29

Page 30: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

(⇐) Si f = 0 alors ∃(fn)n ∈ H0 qui tend vers 0. Alors 〈f , f 〉H = limn→+∞

〈fn, fn〉H0=

limn→+∞

‖fn‖2H0or par hypothèse de H0, ‖fn‖2H0

→ ‖0‖2H0= 0. Concernant la bilinéarité,

on a 〈af ,g〉H = limn→+∞

〈afn, gn〉H0= limn→+∞

a〈fn, gn〉H0= a〈f ,g〉. Idem pour la symétrie

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 ‖fm−f ‖2H = limn→+∞

〈fm−fn, fm−fn〉H0. Et donc ∃N tel que ∀n,m > N ,

‖fm − fn‖H0< ε donc ‖f − fn‖2H < ε.

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

Les fonctions d’évaluation sont continues dans H . Pour cela il suffit de montrerque δx est continue en 0. Soit f ∈ H tel que ‖f ‖H < η. 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 ‖fn‖H0qui tend

vers 0.

Lemme 3 – H est complet.

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

‖gn − gm‖H0= ‖gn − gm‖H= ‖gn − fn + fn − fm + fm − gm‖H= ‖gn − fn‖H + ‖fn − fm‖H + ‖fm − gm‖

Donc gn est bien Cauchy et comme gn(x)→ f (x), f ∈H alors ‖f − fn‖H < ‖f − gn‖H +‖gn − fn‖H H est construit à partir de H0 est complet, les δx sont continues, il estdonc RKHS. �

Théorème 5 – Théorème de Moore-Aronszajn : si k(., .) est un noyau positif alors ilexiste un espace de Hilbert à noyau reproduisant k(., .).

30

Page 31: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

Preuve. Soit H0 = {∑ni=1 aik(xi , .),x1, . . . ,xn ∈ χa1, . . . , an ∈ R} On considère comme

produit scalaire : 〈f ,g〉n =∑ni=1

∑mj=1 aibjk(xi , yj ) avec f =

∑ni=1 aik(xi , .) et g =

∑mj=1 bjk(yj , .).

On remarque que

〈f ,g〉 =n∑i=1

m∑j=1

aibjk(xi , yj )

=n∑i=1

aig(xi)

=m∑j=1

bjf (yj )

Ainsi 〈,〉 ne dépend pas de l’écriture de f ou de g. On remarque également enprenant g = k(x, .),x ∈ χ que 〈f ,g〉 =

∑ni=1 aik(x,xi) = f (x) donc k(x, .) est un noyau

reproduisant sur H0. On a bien un produit scalaire : la bilinéarité est évidente.Par ailleurs 〈f , f 〉 =

∑ni=1

∑nj=1 aiajk(xi ,xj ) > 0 Si 〈f , f 〉 = ‖f ‖2H0

= 0 alors commef (x) = 〈k(x, .), f 〉 alors |f (x)| 6 ‖k(x, .)‖H0

.‖f ‖H0par Cauchy-Schwarz (à démontrer

dans le cas forme bilinéaire positive). On a donc bien f = 0. Il faut maintenantmontrer que H0 est bien un pré-RKHS, soit montrer que les δx sont continues etque les suites de Cauchy dans H0 qui convergent ponctuellement vers 0 convergentaussi en norme ‖.‖H0

vers 0.(a) Soient f et g dans H0

|δxf − δxg | = |〈k(x, .), f − g〉|6 ‖k(x, .)‖H0

‖f − g‖H0

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 ‖fn − fm‖H0

< ε pour n,m > N . ‖fn‖2H0= 〈fn, fn〉H0

=

〈fn − fN , fn〉+ 〈fN , fn〉. On considère que fN s’écrit∑pi=1 aik(xi , .) alors ‖fn‖2H0

= 〈fn −fN , fn〉H0

+∑pi=1 aifn(xi) car k(., .) est reproduisant. Ainsi, ‖fn‖2H0

6 ‖fn − fN ‖‖fn‖H0+∑p

i=1 |ai ||fn(xi)| par Cauchy-Schwarz. En prenant N suffisamment grand on peutrendre les deux termes aussi petits que possible en utilisant le fait que la suite estde 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 êtrecomplété en un espace de Hilbert H à noyau reproduisant. On remarque que lenoyau reproduisant de H0 est noyau reproduisant de H , en effet :

〈f ,k(x, .)〉H = limn→+∞

〈fn, k(x, .)〉H0

= limn→+∞

fn(x) = f (x) �

31

Page 32: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

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∑i=1

n∑j=1

aiajk(xi ,xj ) =n∑i=1

n∑j=1

aiajk1(xi ,xj ) +n∑i=1

n∑j=1

aiajk2(xi ,xj ) > 0 �

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

Preuve. Soients k1 et k2 deux noyaux positifs et k = k1k2. La matrice de Gram{k(xi ,xj )} = G1 ◦G2 produit terme à terme (de Hadamard) des matrices de GramG1 et G2 des noyaux k1 et k2. On veut montrer que a′Ga > 0. Or, a′Ga = tr(a′Ga) =tr(DaG1DaG2) avec Da = diag(a1, . . . , an). En effet,

(DaG1DaG2)ii =n∑j=1

aiG1ijG2jiaj

=n∑j=1

aiG1ijG2ijaj par symétrie de G2

Ainsi

tr(DaG1DaG2) = tr(DaG1/21 G1/2

1 DaG1/22 G1/2

2 ) par symétrie et positivité des matrices de Gram

= tr(G1/21 DaG

1/22 G1/2

2 DaG1/21 )

= tr(AA′) avec A = G1/21 DaG

1/22

> 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’estaussi avec f fonction quelconque.

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

n∑i=1

n∑j=1

aiaj k̃(xi ,xj ) =

n∑i=1

n∑j=1

(aif (xi)ajf (xj )k(xi ,xj ) > 0 par positivité de k �

32

Page 33: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

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

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

k(x,y) =+∞∑k=0

(cx′y)k

k!

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

Lemme 8 – Le noyau gaussien k(x,y) = e−‖x−y‖2

2 est positif.

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

k(x,y) = e−‖x‖2ex′ye−‖y‖

2

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 :

∫ +∞

−∞e−itx

e−x22

√2π

dx =1√

∫ +∞

−∞e−

(x+ti)22 e−

t22 dx

= e−t22 limR→+∞

∫ R+ti

R−tie−

y2

2 dy

= e−t22

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 :

k(G1,G2) =∑

16i<j6|V |k(l1ij , l

2ij

où l1ij (resp. l2ij ) 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

Page 34: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

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 :

k(s, t) =∑u∈Σ∗

∑u=s[i]

∑u=t[j]

λie−is+1λje−js+1

où i (resp. j) sont une liste d’indices permettant de retrouver les lettres du mot udans 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, oeilde boeuf.

SVM à marge dure

On dispose d’un échantillon (y1, . . . , yn) ∈ {−1,1}n associé à x1, . . . ,xn ∈ χ. Onveut maximiser la marge, c’est-à-dire la distance au plan séparateur w,b sousles contraintes (〈w,xi〉 + b)yi > 0. Ce qui signifie que pour yi > 0, 〈w,xi〉 + b doitêtre positif, et pour yi < 0 〈w,xi〉 + b doit être négatif. On cherche max

w,b{min

i‖x =

xi‖,x tq 〈w,x〉+ b = 0} Soit x− et x+, les deux points les plus proches du plan danschacune des classes, il est facile de voir que :{

〈w,x+〉+ b = a〈w,x−〉+ b = −a

Cela peut se réécrire :{〈wa ,x

+〉+ ba = 1

〈wa ,x−〉+ b

a = −1

Sans perte de généralité, on peut ainsi considérer que les points x− et x+ vérifient :{〈w,x+〉+ b = 1〈w,x−〉+ b = −1

⇒ 2 = 〈w,x+ − x−〉

⇒ 2‖w‖

= 〈 w‖w‖

,x+ − x−〉

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

34

Page 35: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

Ainsi, on peut chercher à maximiser 2‖x‖ , de manière équivalente on peut minimiser

‖w‖ ou encore ‖w‖2 pour des raisons de dérivabilité. Le problème d’optimisationdevient alors :{

min ‖w‖2

2s.c. (〈w,xi〉+ b)yi > 1∀i ∈ 1, . . . ,n

Le lagrangien s’écrit alors :

L(w,b,α) =‖w‖2

2+

n∑i=1

[1− (〈w,xi〉+ b)yi]αi avec αi > 0

En dérivant, on obtient :

∂L∂w

= w −n∑i=1

xiyiαi

∂L∂b

= −n∑i=1

yiαi

et le lagrangien peut se réécrire ;

L =12

n∑i=1

n∑j=1

αiαjyiyjk(xi ,xj ) +n∑i=1

αi −n∑i=1

byiαi −n∑i=1

n∑j=1

αiαjyiyjk(xi ,xj )

= −12

n∑i=1

n∑j=1

αiαjyiyjk(xi ,xj ) +n∑i=1

αi

Par le théorème de Wolfe 3, comme le problème primal est convexe, les contraintesconvexes alors il suffit d’avoir un point w,b vérifiant de manière stricte toutes lescontraintes pour que maximiser le dual en w,b,λ1, . . . ,λn permette de minimiser leproblème primal en w,b.

Attention : l’optimisation peut être coûteuse (expression en n2), les points mêmedans H peuvent ne pas être séparables.

SVM à marge souple

Le problème d’optimisation est :{min ‖w‖

2

2 + Cn

∑ni=1 ξi

s.c. yi(wixi + b) > 1− ξi avec ξi > 0

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

35

Page 36: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Il faut trouver un compromis entre avoir une grande marge 2/‖w‖ et avoir peud’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 validationcroisé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égieun contre un.

Stratégie un contre tous Si on a K classes, on construit K classifieurs : classe 1contre classes 2 à K , classe 2 contre classes 1,3 à K , etc. Ensuite, lorsqu’on présenteun 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ésentex à 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 :{ ∑Kk=1

‖wk‖22 + C

n

∑ni=1

∑t,zi

ξr

s.c. ∀i, r , zi , 〈wzi ,Φ(xi)〉+ bzi > 〈wr ,Φ(xi)〉+ br + 2 + ξri

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

〈w1,Φ(x1)〉+ b1 > 〈w2,Φ(x1)〉+ b2 + 2

⇒ 〈w1 −w2

2〉+ b1 − b2

2> 1

et d’autre part :

〈w2,Φ(x2)〉+ b2 > 〈w1,Φ(x2)〉+ b1 + 2

⇒ 〈w2 −w1

2〉+ b2 − b1

2> 1

⇒ 〈w1 −w2

2〉+ b1 − b2

26 −1

36

Page 37: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

4.5 SVM monoclasse

Méthode 1

Ajouter une figureIdée : séparer l’espace en deux comme dans le cas biclasse. ∀i,〈w,Φ(xi)〉 > ρ Pour

un point x sur le plan on a 〈w,x〉 = ρ. On veur rendre ρ‖w‖ maximal, le problème

d’optimisation devient alors : min ‖w‖2

2 + 1nη

∑ni=1 ξi − ρ

s.c. 〈w,Φ(xi)〉 > ρ − ξi ,ξi > 0

Le lagrangien est :

L(w,ρ,ξ,α,β) =‖w‖2

2+

1nη

n∑i=1

ξi − ρ+n∑i=1

αi(ρ − ξ − 〈w,Φ(xi)〉 − βiξi

En dérivant on obtient alors

∂L∂w

= w −n∑i=1

αiΦ(xi) = 0⇒ w =n∑i=1

αiΦ(xi)

∂L∂ρ

= −1 +n∑i=1

αi ⇒n∑i=1

αi = 1

∂L∂ξi

=1nη−αi − βi = 0

de telle sorte que le lagrangien devient :

L =n∑i=1

n∑j=1

αiαjk(xi ,xj )

2+

n∑i=1

ξi(1nη−αi − βi)− ρ+

n∑i=1

αiρ −n∑i=1

n∑j=1

αiαjk(xi ,xj )

= −12

n∑i=1

n∑j=1

αiαjk(xi ,xj )

Méthode 2

Ajouter une figureIdée : englober toues les points dans une sphère (la plus petite possible). Le

problème d’optimisation est alors :{minR2 + 1

∑ni=1 ξi

s.c. ∀i‖Φ(xi)− c‖2 6 R2 + ξi

37

Page 38: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Le lagrangien s’écrit alors :

L(R,c,ξ,α,β) = R2 +1nη

n∑i=1

ξi +n∑i=1

αi(‖Φ(xi)− c‖2 −R2 − ξi)− βiξi

En dérivant on obtient alors :

∂L∂R

= 2R− 2Rn∑i=1

αi = 0⇒n∑i=1

αi = 1

∂L∂c

=n∑i=1

αi2(Φ(xi)− c) = 0⇒ c =n∑i=1

αiΦ(xi)

∂L∂ξi

=1nη−αi − βi = 0

Ainsi, le lagrangien se réécrit :

L = R2 −n∑i=1

αiR2 +

n∑i=1

ξi(1nη−αi − βi) +

n∑i=1

αi‖Φ(xi)−n∑j=1

αjΦ(xj )‖2

=n∑i=1

αi‖Φ(xi)‖2 − 2n∑i=1

n∑j=1

αiαj〈〉+n∑i=1

n∑j=1

αiαj〈Φ(xi)Φ(xj )〉

=n∑i=1

αi‖Φ(xi)‖2 −n∑i=1

n∑j=1

αiαj〈Φ(xi),Φ(xj )〉

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,

k(x,y) = e−‖x−y‖2

2 et donc ‖Φ(xi)‖2 = 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 des données centrées. Moyenne des Φ(xi) est 0. Lamatrice de variance s’écrit : C = 1

n

∑ni=1Φ(xi)Φ(xi)′ . Soit v un vecteur propre de C de

valeur propre λ : Cv = λv soit 1n

∑ni=1Φ(xi)〈Φ(xi),v〉 = λv donc v s’écrit

∑ni=1Φ(xi).

38

Page 39: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

4. Méthodes à noyau

Cv = λv s’écrit alors :

1n

n∑i=1

Φ(xi)Φ(xi)′n∑j=1

αjΦ(xj ) = λn∑j=1

αjΦ(xj )

⇒ 1n

n∑i=1

Φ(xi)n∑j=1

αjk(xi ,xj ) = λn∑j=1

αΦ(xj )

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

1n

n∑i=1

k(xi ,xk)n∑j=1

αjk(xi ,xj ) = λn∑j=1

αjk(xj ,xk)

⇒ 1n

n∑j=1

αj

n∑i=1

k(xk ,xi)k(xi ,xj )

= λn∑j=1

αjk(xj ,xk)

⇒ 1nG2α = λGα(1)

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

1nGα = λα(2)

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

{1nG

2α = λGαλα +λz = 1

nGα

39

Page 40: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Cours d’analyse de données N. Wicker

Ainsi 1nG

2α = λGα + λGz ⇒ Gz = 0 et λ(α + z) = 1nG(α + z). On cherche v =∑n

i=1αiΦ(xi)

Gz = 0

⇒ z′Gz = 0

⇒n∑i=1

n∑j=1

zizjk(xi ,xj ) = 0

⇒n∑i=1

zi

n∑j=1

zj〈Φ(xi),Φ(xj )〉 = 0

⇒n∑i=1

zi〈Φ(xi),n∑j=1

zjΦ(xj )〉 = 0

⇒ 〈n∑i=1

ziΦ(xi),n∑j=1

zjΦ(xj )〉 = 0

⇒ ‖n∑i=1

ziΦ(xi)‖ = 0

⇒n∑i=1

ziΦ(xi) = 0

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

∑ni=1α

∗iΦ(xi)−∑n

i=1 ziΦ(xi) =∑ni=1α

∗iΦ(xi) et il suffit de résoudre :

λα =1nGα

Normalisation de v, 〈v,v〉 = 1 soit∑ni=1

∑nj=1αiαj〈Φ(xi),Φ(xj )〉 = 1. La projection

des données s’effectue ainsi :

〈Φ(x),v〉 =n∑i=1

αi〈Φ(x),Φ(xi)〉

=n∑i=1

αik(xi ,x)

40

Page 41: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

5. Ouverture sur les graphes

Cas où les points ne sont pas centrés : Φ̃(xi) = Φ(xi)− 1n

∑nj=1Φ(xj ) Ainsi :

G̃ = 〈Φ(xi)−1n

n∑k=1

Φ(xk),Φ(xj )−1n

n∑k=1

Φ(xk)〉

= k(xi ,xj )−1n

n∑k=1

k(xi ,xk)−1n

n∑k=1

k(xk ,xj ) +1n2

n∑k=1

n∑l=1

k(xk ,xl)

et donc G̃ =HGH avec H = In− 1n11′ (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 etméthodes à noyau.

Un graphe G est donné par un ensemble de sommets V et d’arêtes E. On lenote G = (V ,E). On ne considère pas ici les graphes valués ou orientés. Le graphematriciellement est donné par une matrice d’adjacence A telle que Aij = 1 si lesommet i est connecté au sommet j et Aij = 0 sinon. Le laplacien du graphe est alorsdonné par

L =D −A

où D est la matrice contenant tous les degrés des sommets. Ce laplacien est aussiappelé laplacien combinatoire. Un autre laplacien, appelé laplacien normalisé, estdéfini par :

L =D−1/2LD−1/2.

Intuition physique Si on considère un chemin s1 → s2 → ·· · → sn, avec commelaplacien 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 valeurpropre λ. On a pour tout i ∈ 1, . . . ,n, (Lv)i = λvi soit

vi =

∑j∼i vjdi −λ

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 veutun représenter un graphe par des points dans R2, on utilise comme coordonnéesles valeurs des deux premiers vecteurs propres associés à des valeurs propres nonnulles.

41

Page 42: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

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 :

x′Lx =n∑i=1

dix2i −

n∑i=1

n∑j=1

xixjaij avec aij ∈ {0,1}

=n∑i=1

n∑j=1

(xi − xj )2aij2

> 0 �

Interprétation en terme de positionnement multidimensionnel (MDS) Si consi-dère L† comme matrice de similarité (possible car positive) alors la matrice dedistance 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 vecteurpropre ui de L associé à une valeur propre non nulle λi , on obtient :

HL†Hui =HL†ui car ui ⊥ 1

=Huiλi

=1λiui

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

Références

Borgwardt, K. et H. Kriegel (2005). « Shortest-path kernels on graphs ». In : DataMining, Fifth IEEE International Conference on Data Mining (cf. p. 33).

Lodhi, H. et al. (2002). « Text Classifiation using String Kernels ». Journal of MachineLearning 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

Page 43: Cours d'analyse de données - univ-lille.frmath.univ-lille1.fr/~wicker/Cours/coursAnalyseDonnees.pdf · 2016-10-10 · Cours d’analyse de données N. Wicker Les vecteurs propres

Table des matières

Table des matières

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Méthodes factorielles . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2.1 Décomposition en valeurs singulières . . . . . . . . . . . . 12.2 Principe de l’Analyse en composantes principales . . . . . . 22.3 Analyse factorielle des correspondances . . . . . . . . . . . 72.4 Analyse factorielle des correspondances multiples . . . . . 122.5 Analyse factorielle des distances . . . . . . . . . . . . . . . 142.6 Rotation de Procuste . . . . . . . . . . . . . . . . . . . . . . 20

3 Méthodes de classification . . . . . . . . . . . . . . . . . . . . . . . 223.1 Méthode de partitionnement . . . . . . . . . . . . . . . . . 223.2 Classification hiérarchique . . . . . . . . . . . . . . . . . . . 243.3 Décomposition de l’inertie si on dispose de k classes . . . . 26

4 Méthodes à noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Quelques propriétés des noyaux . . . . . . . . . . . . . . . . 324.3 SVM biclasse . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4 SVM multi-classe . . . . . . . . . . . . . . . . . . . . . . . . 364.5 SVM monoclasse . . . . . . . . . . . . . . . . . . . . . . . . 374.6 kernel PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5 Ouverture sur les graphes . . . . . . . . . . . . . . . . . . . . . . . 41Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

i