Sie sind auf Seite 1von 64

Clustering

Gilles Gasso - Philippe LERAY


.
INSA Rouen -Dpartement ASI
Laboratoire LITIS
Clustering p. 1/64
Introduction
Objectifs

soit D = {x
i
R
d
}
i=1, ,N
un ensemble dobservations dcrit par d attributs.

Objectif du clustering : structuration des donnes en classes homognes


On cherche regrouper les points en clusters ou classes tels que les donnes
dun cluster soient les plus similaires possibles

Clustering : cest de lapprentissage non supervis. Cest une technique


danalyse exploratoire des donnes servant rsumer les informations sur les
donnes ou dterminer des liens entre les points.
Exemples de classes
Clustering p. 2/64
Introduction
Domaines dapplication
Le Clustering sapplique dans plusieurs domaines
Domaine Forme des donnes Clusters
Text mining Textes Textes proches
Mails Dossiers automatiques
Web mining Textes et images Pages web proches
BioInformatique Gnes Gnes ressemblants
Marketing Infos clients, produits achets Segmentation de la clientle
Segmentation dimages Images Zones homognes dans limage
Web log analysis Clickstream Prols utilisateurs
Clustering p. 3/64
Problmatiques

Nature des observations : Donnes binaires, textuelles, numriques, arbres, ... ?

Notion de similarit (ou de dissimilarit) entre observations

Dnition dun cluster

Evaluation de la validit dun cluster

Nombre de clusters pouvant tre identis dans les donnes

Quels algorithmes de clustering ?

Comparaison de diffrents rsultats de clustering


Clustering p. 4/64
Notions de similarit
Vocabulaire

Mesure de dissimilarit DM : plus la mesure est faible plus les points sont
similaires ( distance)

Mesure de similarit SM : plus la mesure est grande, plus les points sont
similaires

DM = borne SM
Notations

Observation : x
i
R
d
avec x
i
=
_
_
_
_
_
_
x
i,1
x
i,2
.
.
.
x
i,d
_
_
_
_
_
_
Clustering p. 5/64
Notion de proximit
Mesure de la distance d(x
1
, x
2
) entre 2 points x
1
et x
2

Distance de Minkoswski : d(x


1
, x
2
) =
_

d
j=1
|x
1,j
x
2,j
|
q
_
1
q

Distance Euclidienne correspond q = 2 :


d(x
1
, x
2
) =
_

d
j=1
(x
1,j
x
2,j
)
2
=
_
(x
1
x
2
)
t
(x
1
x
2
)

Distance de Manhattan (q = 1) : d(x


1
, x
2
) =

d
j=1
|x
1,j
x
2,j
|

distance de Sebestyen :
d
2
(x
1
, x
2
) = (x
1
x
2
)
t
W(x
1
x
2
)
(W= matrice diagonale de pondration)

distance de Mahalanobis :
d
2
(x
1
, x
2
) = (x
1
x
2
)
t
C
1
(x
1
x
2
)
(C=matrice de variance-covariance)

...
Clustering p. 6/64
Notion de proximit
Mesure de la distance d(x
1
, x
2
) entre 2 points x
1
et x
2

Et si x
1
et x
2
sont valeurs discrtes ?

On peut les rpresenter dans une matrice de contingence A(x


1
, x
2
) = [a
ij
]

x
1
= [0, 1, 2, 1, 2, 1]

et x
1
= [1, 0, 2, 1, 0, 1]

A(x
1
, x
2
) = [0 1 2 ; 1 2 0; 1 0 1]

distance de Hamming : nombre de places o les 2 vecteurs diffrent :


d(x
1
, x
2
) =
d

i=1
d

j=1,j=i
a
ij

distance de Tanimoto, ...


Clustering p. 7/64
Notion de proximit
Mesure de la distance D(C
1
, C
2
) entre 2 classes C
1
et C
2

plus proche voisin : D


min
(C
1
, C
2
) = min
_
d(x
i
, x
j
), x
i
C
1
, x
j
C
2
_

diamtre maximum : D
max
(C
1
, C
2
) = max
_
d(x
i
, x
j
), x
i
C
1
, x
j
C
2
_

distance moyenne : D
moy
(C
1
, C
2
) =

x
i
C
1

x
j
C
2
d(x
i
,x
j
)
n
1
n
2

distance des centres de gravit : D


cg
(C
1
, C
2
) = d(
1
,
2
)

distance de Ward : D
Ward
(C
1
, C
2
) =
_
n
1
n
2
n
1
+n
2
d(
1
,
2
)

...
Clustering p. 8/64
Evaluation de la Qualit dun clustering
Inertie Intra-cluster

Chaque cluster C
k
est caractris par

Son centre de gravit :


k
=
1
N
k

iC
k
x
i
avec N
k
= card(C
k
)

Son inertie : J
k
=

iC
k
d
2
(x
i
,
k
)
Linertie dun cluster mesure la concentration des points du cluster autour du
centre de gravit. Plus cette inertie est faible, plus petite est la dispersion des
points autour du centre de gravit

Sa matrice de variance-covariance :
k
=

iC
k
(x
i

k
)(x
i

k
)
t
Remarque : on a la proprit suivante J
k
= trace(
k
). Linertie dun cluster
reprsente la variance des points de ce cluster

On dsigne par inertie intra-cluster, le terme


J
w
=

iC
k
d
2
(x
i
,
k
) =

iC
k
J
k
Clustering p. 9/64
Evaluation de la Qualit dun clustering
Inertie inter-cluster

Soit le centre de gravit du nuage de points : =


1
N

i
x
i

Les centres de gravit des clusters forment eux aussi un nuage de points
caractris par

Inertie inter-cluster : J
b
=

k
N
k
d
2
(
k
, )
Linertie inter-cluster mesure "lloignement" des centres des clusters entre
eux. Plus cette inertie est grande, plus les clusters sont bien spars

Une matrice de variance-covariance inter-cluster :

b
=

k
(
k
)(
k
)
t
Remarque : J
b
= trace(
b
)
Comment obtenir une bonne partition?
Il faut minimiser linertie intra-cluster et maximiser linertie inter-cluster
Clustering p. 10/64
Bonne partition

Illustration (Bisson 2001) :


inter
g
g
1
g
g
2
g
3
g
4
C
1
C
2
C
3
C
4
Inertie totale des points = Inertie Intra-cluster + Inertie Inter-cluster
Clustering p. 11/64
Bonne partition

Illustration (Bisson 2001) :


g
1
g
2
Forte inertie inter-classes
Faible inertie intra-classes
g
3
g
4
Faible inertie inter-classes
Forte inertie intra-classes
Clustering p. 12/64
Approches de clustering

Diffrentes approches sont possibles

Clustering hirachique

Clustering hirarchique ascendant (CHA) et variantes

Clustering hirarchique descendant

Clustering par partitionnement

Algorithme des K-moyennes et variantes

Clustering ou

Clustering spectral

...

Clustering par modlisation

Notion de modles de mlange

Algorithmes EM et variantes
Clustering p. 13/64
CHA - principe

Chaque point ou cluster est progressivement "absorb" par le cluster le plus


proche.

Algorithme

Initialisation :

Chaque individu est plac dans son propre cluster,

Calcul de la matrice de ressemblance M entre chaque couple de clusters


(ici les points)

Rpter

Slection dans M des deux clusters les plus proches C


I
et C
J

Fusion de C
I
et C
J
pour former un cluster C
G

Mise jour de M en calculant la ressemblance entre C


G
et les clusters
existants

Jusqu la fusion des 2 derniers clusters


Clustering p. 14/64
CHA : principe

Exemple (Bisson 2001)


Hirarchie
(indice)
C
10
C
1
C
6
C
5
C
4
C
3
C
2
C
9
C
8
C
7
C
1
C
2
C
3
C
4
C
5
C
6
C
8
C
10
C
7
C
9
i

Schma du milieu = dendrogramme = reprsentation des fusions successives

Hauteur dun cluster dans le dendrogramme = similarit entre les 2 clusters


avant fusion (sauf exception avec certaines mesures de similarit)...
Clustering p. 15/64
CHA : mtrique
Problme = trouver lultramtrique (distance entre clusters) la plus proche de la
mtrique utilise pour les individus.

Saut minimal (single linkage) bas sur la distance D


min
(C
1
, C
2
)

tendance produire des classes gnrales (par effet de chanage)

sensibilit aux individus bruits.

Saut maximal (complete linkage) bas sur la distance D


max
(C
1
, C
2
)

tendance produire des classes spciques (on ne regroupe que des classes
trs proches)

sensibilit aux individus bruits.

Saut moyen bas sur la distance D


moy
(C
1
, C
2
)

tendance produire des classes de variance proche

Barycentre bas sur la distance D


cg
(C
1
, C
2
)

bonne rsistance au bruit


Clustering p. 16/64
CHA : mtrique

Exemple (Bisson 2001)


Donnes (mtrique : dist. Eucl.)
4
3
2
1
0
4 3 2 1 0
A
C
B
E
F
D
Saut minimal
F E A B C D
i
0,5
1,1
0,9
0,7
Saut maximal
C D A B E F
i
0,5
4,0
2,8
1,7

Pas les mmes rsultats selon la mtrique utilise ...


Clustering p. 17/64
CHA : ASI4 Clustering

26 individus dASI4, 2003

Donnes = 5 valeurs 0/1


(inscription en IR, MGPI, DM, RNA, TIM)

Va-t-on tirer quelque chose de ces ASI4 donnes ?


Saut minimal
B
A
R
O
C
A
S
T
C
O
R
D
B
O
N
V
P
E
S
Q
B
O
I
T
T
R
A
O
W
A
A
G
C
H
A
M
L
E
D
I
B
O
N
D
S
P
E
R
G
R
E
M
C
A
M
P
P
E
R
S
W
E
Y
C
C
A
P
R
F
O
U
R
G
E
S
L
J
E
A
N
L
E
H
O
H
A
U
T
O
H
A
N
R
A
B
A
R
A
B
I
Z
E
H
N

Pas moyen de faire de sous-groupes, tout le monde est une distance de 0 ou 1 des autres
clusters.
Clustering p. 18/64
CHA : ASI4 Clustering : saut maximal
B
A
R
O
C
A
S
T
C
O
R
D
G
R
E
M
R
A
B
I
Z
E
H
N
C
A
M
P
P
E
R
S
W
E
Y
C
C
A
P
R
F
O
U
R
G
E
S
L
J
E
A
N
L
E
H
O
B
O
I
T
T
R
A
O
W
A
A
G
B
O
N
V
P
E
S
Q
H
A
U
T
O
H
A
N
R
A
B
A
B
O
N
D
S
P
E
R
C
H
A
M
L
E
D
I

En changeant de mtrique, on observe plus de sous-regroupements


Clustering p. 19/64
CHA : ASI4 Clustering
B
A
R
O
C
A
S
T
C
O
R
D
G
R
E
M
R
A
B
I
Z
E
H
N
C
A
M
P
P
E
R
S
W
E
Y
C
C
A
P
R
F
O
U
R
G
E
S
L
J
E
A
N
L
E
H
O
B
O
I
T
T
R
A
O
W
A
A
G
B
O
N
V
P
E
S
Q
H
A
U
T
O
H
A
N
R
A
B
A
B
O
N
D
S
P
E
R
C
H
A
M
L
E
D
I
Jaime bien
le traitement
de linformation
rpmbuild ba kernel*.spec
vive la vision

Pour construire les clusters, on coupe larbre la hauteur voulue


Clustering p. 20/64
CHA : Autre exemple de saut maximal
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Indice des points regroups
D
i
s
t
a
n
c
e
Dendrogramme
1 4
1
7
2
6 6
2
0
2
4 3
2
5
1
3
2
1 7 2 8
2
2 5
1
4
1
8
1
0
1
6
1
1
2
3 9
1
9
1
2
1
5
2
7
3
5
4
0
2
9
2
8
3
6
3
1
3
2
3
9
3
0
3
3
3
4
3
7
3
8
Clustering p. 21/64
CHA : Autre exemple de saut maximal
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Indice des points regroups
D
i
s
t
a
n
c
e
Dendrogramme
1 4
1
7
2
6 6
2
0
2
4 3
2
5
1
3
2
1 7 2 8
2
2 5
1
4
1
8
1
0
1
6
1
1
2
3 9
1
9
1
2
1
5
2
7
3
5
4
0
2
9
2
8
3
6
3
1
3
2
3
9
3
0
3
3
3
4
3
7
3
8
fusion des
clusters 7 et 8
1 2 3 4 5 6 7 8 9 10
Clustering p. 22/64
CHA : Autre exemple de saut maximal
10 clusters
cluster 7
cluster 8
fusion des
clusters 7 et 8
tape suivante :
Clustering p. 23/64
CHAMELEON

Une mthode de classication hirarchique ascendante plus volue

Principe = estimer la densit intra-cluster et inter-cluster partir du graphe des


k plus proches voisins
donnes graphe 1-ppv 2-ppv 3-ppv
Clustering p. 24/64
CHAMELEON : similarit entre deux clusters
Inter-connectivit

Inter-connectivit absolue entre 2 clusters :


EC(C
i
, C
j
) = ensemble des points qui relient des nuds de C
i
et de C
j

Inter-connectivit interne dun cluster :


EC(C
i
) = plus petit ensemble qui partionne C
i
en 2 sous-clusters de taille
proche

Inter-connectivit relative : RI(C


i
, C
j
) =
2|EC(C
i
,C
j
)|
|EC(C
i
)|+|EC(C
j
)|
Proximit

Proximit absolue entre 2 clusters :


EC(C
i
, C
j
) = distance moyenne entre les points de EC(C
i
, C
j
)

Proximit interne dun cluster :


EC(C
i
) = distance moyenne entre les points de EC(C
i
)

Proximit relative : RC(C


i
, C
j
) =
(|C
i
|+|C
j
|)EC(C
i
,C
j
)
|C
i
|EC(C
i
)+|C
j
|EC(C
j
)
Clustering p. 25/64
CHAMELEON : algorithme

Deux phases

trouver des sous-clusters initiaux

en partitionnant le graphe k-ppv en m partitions "solides" (ou la distance


entre les points est minimise)

fusionner dynamiquement les sous-clusters

en fonction de RI(C
i
, C
j
) et RC(C
i
, C
j
)
Clustering p. 26/64
CHAMELEON : rsultats
DS4 DS3
DS5
Clustering p. 27/64
Complexit

Classication Hierarchique Ascendante : O(n


3
)

Certaines variantes de CHA

CURE : O(n
2
) en petite dimimension, O(n
2
+nmlog n) sinon (en
commenant avec m clusters)

CHAMELEON :

graphe k-ppv : O(nlog n) en petite dim. sinon O(n


2
)

clustering : O(nm+nlog n +m
2
log m)
Clustering p. 28/64
Classication Hirarchique Descendante

Principe :

Slection du cluster le moins cohrent

Subdivision du cluster le moins cohrent

Problme :

Pour raliser la subdivision, il faut souvent faire une classication


hierarchique ascendante pour savoir quelle est la meilleure faon de sparer
les points

Algorithme beaucoup moins attractif que lautre


Clustering p. 29/64
Approches de clustering

Clustering hirachique

Clustering hirarchique ascendant (CHA) et variantes

Clustering hirarchique descendant

Clustering par partitionnement

Algorithme des K-moyennes et variantes

Clustering ou

Clustering spectral

...

Clustering par modlisation

Notion de modles de mlange

Algorithmes EM et variantes
Clustering p. 30/64
Clustering par partitionnement
Objectifs

N donnes D = {x
i
R
d
}
i=1, ,N
disponibles

Recherche dune partition en K < N clusters C


k
, k = 1, , K de ces donnes

Approche directe

Construire toutes les partitions possibles

Evaluer la qualit de chaque clustering clustering et retenir la meilleure


partition

Souci : problme NP difcile car le nombre de partitions possibles augmente


exponentiellement
#Clusters =
1
K!
K

k=1
(1)
Kk
C
K
k
k
N
Pour N = 10 et K = 4, on a 34105 partitions possibles !
Clustering p. 31/64
Clustering par partitionnement
Solution plus pratique

Minimisation de linertie intra-classe J


w
=

K
k=1

iC
k
d
2
(x
i
,
k
)

Eviter lnumration exhaustive de toutes les partitions possibles

Utilisation dune approche heuristique donnant au moins une bonne partition et


pas ncessairement la partition optimale au sens de J
w
Un algorithme trs connu : algorithmes des K-means (ou centres mobiles)

Si on connait les centres de gravit


k
, k = 1, , K, on affecte un point x
i

un cluster et un seul. Le point est affect au cluster C

dont le centre

est le
plus proche

Connaissant les clusters C


k
, k = 1, , K, on estime leur centre de gravit

On alterne ainsi laffectation des points aux clusters et lestimation des centres
de gravit jusqu convergence du critre
Clustering p. 32/64
K-Means : algorithme

Initialiser les centres


1
,
K

Rpeter

Affectation de chaque point son cluster le plus proche


C

x
i
tel que = arg min
k
d(x
i
,
k
)

Recalculer le centre
k
de chaque cluster

k
=
1
N
k

iC
k
x
i
avec N
k
= card(C
k
)

Tant que >


Complexit : O(KnI) pour I : itrations
Clustering p. 33/64
K-Means : illustration [S. Roweis, 2003]
Clustering en K = 2 classes
Donnes Initialisation Itration 1
Itration 2 Itration 3 Itration 4
Clustering p. 34/64
K-Means : exemple
K = 2 K = 3
K = 4 K = 5
K = 6 K = 7
Clustering p. 35/64
K-Means : exemple
K = 2 K = 3
K = 4 K = 5
K = 6 K = 7
Clustering p. 36/64
K-Means : exemple
K = 6
Clustering p. 37/64
K-Means : exemple
K = 10
Clustering p. 38/64
K-Means : exemple
K = 10
Clustering p. 39/64
K-Means : Remarques et problmes

On montre qu chaque itration de lalgorithme le critre J


w
diminue.

Lalgorithme converge au moins vers un minimum local de J


w

Convergence rapide

Initialisation des
k
:

alatoirement dans lintervalle de dnition des x


i

alatoirement dans lensemble des x


i

Des initialisations diffrentes peuvent mener des clusters diffrents


(problmes de minima locaux)

Mthode gnrale pour obtenir des clusters "stables" = formes fortes

On rpte lalgorithme r fois

On regroupe ensemble les x


i
qui se retrouvent toujours dans les mmes
clusters.

Choix du nombre de clusters : problme difcile

Fix a priori (exple : on veut dcouper une clientle en K segments)

Chercher la meilleure partition pour diffrents K > 1 et chercher "un coude"


au niveau de la dcroissance de J
w
(K)

Imposer des contraintes sur le volume ou la densit des clusters obtenus


Clustering p. 40/64
K-Means : formes fortes

Illustration (Bisson 2001) :


x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
4 formes fortes
C
1
C
2
C
1
C
2
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
F
1
F
2
F
4
F
3
Classifications
Clustering p. 41/64
K-Means : formes fortes

K-Means rpt 6 fois


K = 3 K = 3
K = 3 K = 3
K = 3 K = 3
Clustering p. 42/64
K-Means : formes fortes

On trouve 5 regroupements de points diffrents :


F
1
F
2
F
3
F
4
F
5
N
i
2040 1940 49 2042 1929

F
3
nest pas reprsentatif

F
1
, F
1
, F
4
et F
5
sont les formes fortes

on peut recalculer les clusters partir des centres des formes fortes
Clustering p. 43/64
K-Means : formes fortes

K-Means rpt 6 fois


4 Formes fortes pour K = 3
Clustering p. 44/64
K-Means squentiels

Adaptation des K-means lorsque les exemples arrivent au fur et mesure

Initialiser
1
,
K

Initialiser n
1
, n
K
0

Rpeter

acqurir x

affectation de chaque point son cluster le plus proche


C

x
i
tel que = arg min
k
d(x,
k
)

incrmenter n

recalculer le centre

de ce cluster

+
1
n

(x

)
Remarque
Si on dispose dune partition initiale, on utilisera les centres des clusters et on
initialisera n
k
= card(C
k
), k = 1, , K
Clustering p. 45/64
Variantes de K-means
K-means ous

Ici un point x
i
peut appartenir plusieurs clusters !

Par contre, pour chaque cluster C


k
, on lui associe un degr dappartenance z
i,k
tel que 0 z
i,k
1 et

K
k=1
z
i,k
= 1

On minimise le critre intra-classe suivant J


w
=

N
i=1
z

i,k
d
2
(x
i
,
k
) avec
> 1.
rgle le "degr de ou". Plus est grand, plus les clusters trouvs se
recouvrent.
Nues Dynamiques (Diday 1972, 1974)

Gnralisation des K-Means

Utilisation de noyaux = reprsentation dun cluster

barycentre ( = pour les K-means)

n points reprsentatifs

Hyperplan

...
Clustering p. 46/64
Approches de clustering

Clustering hirachique

Clustering hirarchique ascendant (CHA) et variantes

Clustering hirarchique descendant

Clustering par partitionnement

Algorithme des K-moyennes et variantes

Clustering ou

Clustering spectral

...

Clustering par modlisation

Notion de modles de mlange

Algorithmes EM et variantes
Clustering p. 47/64
Clustering par modlisation statistique
Introduction par lexemple

Considrons N donnes {x
i
R
d
}
i=1, ,N
formant deux classes
3 2 1 0 1 2 3 4 5 6
2
1
0
1
2
3
4
5
6
Donnes des deux classes
3 2 1 0 1 2 3 4 5 6
2
1
0
1
2
3
4
5
6
Donnes des deux classes et contours des classes

On veut trouver le modle statistique des donnes.

On constate que pour modliser les donnes, il faut deux distributions


gaussiennes
Clustering p. 48/64
Clustering par modlisation statistique
Introduction par lexemple

Dans la classe 1, les donnes suivent une loi normale i.e. N(X;
1
,
1
) o X
dsignent une variable alatoire. Dans la classe 2, X suit N(X;
2
,
2
)

Loi marginale de X
f(X) = f(X, Z = 1) +f(X, Z = 2)
= f(X/Z = 1) Pr(Z = 1) +f(X/Z = 2) Pr(Z = 2) daprs Bayes
f(X) =
1
f(X/Z = 1) +
2
f(X/Z = 2)
avec f(X/Z = 1) N(X;
1
,
1
), f(X/Z = 2) N(X;
2
,
2
)

1
et
2
dsignent la probabilit a priori que X relve resp. de la classe C
1
et
C
2
. Remarque : on a
1
+
2
= 1

f(X/Z = 1) et f(X/Z = 2) dsignent la densit conditionnelle de X


respectivement Z = 1 et Z = 2

f(X) est entirement dtermin par la connaissance de


j
,
j
,
j
, j {1, 2}.
On lappelle modle de mlange de densits
Clustering p. 49/64
Modle de mlange : illustration
Modle de mlange gaussien
f(X) =
1
N(X;
1
,
1
) +
2
N(X;
2
,
2
) avec
1
+
2
= 1
3 2 1 0 1 2 3 4 5 6
2
1
0
1
2
3
4
5
6
Donnes des deux classes et loi sousjacente
6
4
2
0
2
4
6
5
0
5
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
Loi en 3D
Clustering p. 50/64
Du modle de mlange au clustering
Quel intrt davoir le modle statistique pour faire du clustering ?

Si on connait le modle de mlange, on connait les probabilits priori


j
et les
lois conditionnelles f(X/Z = j), j {1, 2}

Daprs le thorme de Bayes, on en dduit les probabilits a posteriori


dappartenance C
1
et C
2
Pr(Z = 1/X = x) =

1
f(X = x/Z = 1)
f(X = x)
Pr(Z = 2/X = x) =

2
f(X = x/Z = 2)
f(X = x)
Remarque : on a Pr(Z = 1/X = x) + Pr(Z = 2/X = x) = 1

Le point x est affect la classe de plus grande probabilit a posteriori


C
1
x si Pr(Z = 1/X = x) > Pr(Z = 2/X = x)
C
2
x sinon
Clustering p. 51/64
Du modle de mlange au clustering
Comparaison avec K-means
K-means Approche modlisation
Modle - Modle de mlanges
f(X) =

K
k=1

k
f(X/Z = k)
Paramtres estimer Centres des clusters Proba a priori
k

k
, k = 1, , K Paramtres des lois f(X/Z = k)
Critre optimis Variance intra-classe Log-Vraisemblance
Indice daffectation d(x,
k
) Proba a posteriori Pr(Z = k/X = x)
Rgle daffectation de x Cluster dont le centre Cluster de plus grande
est le plus proche proba a posteriori
Clustering p. 52/64
Estimation des paramtres du modle
Retour lexemple
Modle de mlange gaussien
f(X) =
1
N(X;
1
,
1
) +
2
N(X;
2
,
2
)

Paramtres estimer :
1
,
2
,
1
,
1
,
2
et
2

On regroupe tous les paramtres du modle de mlange dans le vecteur :


=
_

1
,
2
,

1
,
1
(:)

,
2
,
2
(:)

Comment estimer les paramtres partir des donnes ?


Maximiser la vraisemblance (ou le log de la vraisemblance)
Clustering p. 53/64
Notion de vraisemblance

Supposons des donnes {x


i
}
i=1, ,N
i.i.d. (identiquement et indpendamment
distribues). Ces donnes suivent une loi f(X; ) de paramtres

Vraisemblance
(; x
1
, , x
N
) =
N

i=1
f(X = x
i
; )

En gnral on utilise la Log-vraisemblance


L(; x
1
, , x
N
) = log ((; x
1
, , x
N
))
=
N

i=1
log(f(X = x
i
; ))
Clustering p. 54/64
Maximisation de la vraisemblance

On considre de faon gnrale le problme suivant


max

L(; x
1
, , x
N
) = max

i=1
log(f(X = x
i
; ))
Approche directe

La solution

du problme prcdent vrie L(

; x
1
, , x
N
) = 0

Pas de solution analytique en gnral

Problme doptimisation difcile en gnral

Il existe des cas simples o la solution analytique existe comme par exemple
lestimation des paramtres dune loi normale
Clustering p. 55/64
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique

Supposons des donnes gaussiennes {x


i
R
2
}
i=1, ,N
i.i.d. Elles suivent
donc la loi
N(X/, ) =
1
_
(2)
d
||
exp
_

1
2
(X )

1
(X )
_
avec d = 2

La Log-vraisemblance est
L(, ; x
1
, , x
N
) =
1
2
N log((2)
d
||)
1
2
N

i=1
(x
i
)

1
(x
i
)

Par drivation de L, on trouve lestimation des paramtres et au sens du


maximum de vraisemblance
=
1
N
N

i=1
x
i
,

=
1
N
N

i=1
(x
i
)(x
i
)

Clustering p. 56/64
Maximisation de la vraisemblance
Approche directe : exemple o la solution analytique nexiste pas

Log-Vraisemblance du modle de mlange de deux gaussiennes


L(/x
1
, , x
N
) =
N

i=1
log(
1
N(x
i
;
1
,
1
) +
2
N(x
i
;
2
,
2
))

Solution non analytique cause du log de la somme des termes


j
N(x/
j
,
j
)

Le problme dans le cas du mlange des 2 gaussiennes vient du fait quon ne


connait pas a priori le cluster auquel appartient le point x
i

Que se passe-t-il si on a cette information ?


On peut construire une dmarche itrative : cest lalgorithme EM
Clustering p. 57/64
EM par lexemple
Existe-t-il une parade dans lexemple du mlange de gaussiennes ?

Que se passe-t-il si on se donne arbitrairement lappartenance de x


i
un
cluster ?
On dnit la log-vraisemblance complte
L
c
(; {x
i
, z
i
}
i=1, ,N
) =
N

i=1
z
i
log(
1
N(x
i
;
1
,
1
))+(1z
i
) log(
2
N(x
i
;
2
,
2
))
avec z
i
= 1 si x
i
C
1
et z
i
= 0 si x
i
C
2
Il est alors possible de dterminer
j
,
j
et

j
analytiquement

Problme : nous avons pris arbitrairement les inconnus z


i
!
Clustering p. 58/64
EM par lexemple
Comment on sen sort ?

On prend lesprance conditionnelle de L


c
Esp(L
c
/{x
i
}
i=1, ,N
) =
N

i=1
Esp(z
i
/x
i
) log(
1
N(x
i
;
1
,
1
))
+(1 Esp(z
i
/x
i
)) log(
2
N(x
i
;
2
,
2
))

Esp(z
i
/x
i
) = Pr(z
i
= 1/x
i
) est la probabilit a posteriori que x
i
C
1

Daprs la loi de Bayes


Pr(z
i
= 1/x
i
) =
Pr(z
i
= 1)f(x
i
/z
i
= 1)
f(x
i
)
Pr(z
i
= 1/x
i
) =

1
N(x
i
;
1
,
1
)

1
N(x
i
;
1
,
1
) +
2
N(x
i
;
2
,
2
)

Si on connait les paramtres, on peut calculer les probabilits a posteriori.


Connaissant Pr(z
i
= 1/x
i
), on peut calculer les paramtres. EM : approche
itrative alternant calcul des Pr(z
i
= 1/x
i
) et calcul des paramtres Clustering p. 59/64
EM appliqu au mlange de 2 gaussiennes
Lalgorithme

Initialiser les paramtres


1
,
1
,
1
,
2
,
2
,
2
(Rmq :
1
+
2
= 1)

Rpeter

Etape E (Expectation) : calcul des probabilits a posteriori

(1)
i
= Pr(z
i
= 1/x
i
) =

1
N(x
i
;
1
,
1
)

1
N(x
i
;
1
,
1
) +
2
N(x
i
;
2
,
2
)
, i = 1, , N
Rmq :
(2)
i
= Pr(z
i
= 0/x
i
) = 1
(1)
i
: proba a posteriori que x
i
C
2

Etape M (Maximisation) : calcul des paramtres

j
=

N
i=1

(j)
i
x
i

N
i=1

(j)
i
,
j
=

N
i=1

(j)
i
(x
i

j
)(x
i

j
)

N
i=1

(j)
i
,
j
=

N
i=1

(j)
i
N
j {1, 2}

Jusqu convergence
Du modle de mlange au clustering

Aprs convergence, on dispose des paramtres. On affecte le point x


i
au cluster
C
j
tel que
(j)
i
soit maximal
Clustering p. 60/64
EM appliqu au mlange de 2 gaussiennes
Illustration [S. Sankararam]
Initialisation Init : Etape E Iteration 1
Itration 2 Itration 5 Itration 20
Clustering p. 61/64
Extensions au cas gnral
Modle de mlange
f(x) =
K

k=1

k
f (x;
k
) avec
K

k=1

k
= 1
Algorithme EM

A ltape E dune itration, on calcule les proba a posteriori de x


i
C
k

(k)
i
=

k
f (x
i
;
k
)

K
k=1

k
f (x;
k
)
, i = 1, , N, et k = 1, , K
Rmq :

K
k=1

(k)
i
= 1

Etape M : on calcule les paramtres


k
et
k
par maximisation de
Esp(L
c
/{x
i
}
i=1, ,N
). Si on a un modle de mlange de K > 2 gaussiennes,
on calcule les paramtres en utilisant les rsultats de lexemple
Clustering p. 62/64
Remarques sur EM

Convergence vers un extremum local (convergence globale non garantie)

Critre de convergence possible : variation de la log-vraisemblance

On montre qu chaque tape, on amliore la log-vraisemblance

Initialisation : alatoire ou utilisation de rsultats a priori (comme par lexemple


faire K-means sur les donnes et utiliser ces rsultats pour initialiser
lalgorithme)

Des initialisations diffrentes peuvent donner des paramtres diffrents

Il existe des variantes de EM pour le clustering dont le CEM (Classication -


Expeectation - Maximisation)
Clustering p. 63/64
Variante de EM : CEM

Initialiser les paramtres


k
et
k
, k = 1, , K

Rpter

Etape E : calculer les probabilits a posteriori


(k)
i
, i = 1, , N et
k = 1, , K

Etape C : classication des points


C
k
x
i
si k = arg

max
()
i
Modication des proba a posteriori

(k)
i
= 1 et
()
i
= 0, = k

Etape M : calcul des paramtres par la procdure usuelle en utilisant les


proba a posteriori modies

Jusqu convergence
Remarque : A la n de lalgorithme, on obtient directement les clusters
Clustering p. 64/64