Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 ·...
Transcript of Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 ·...
Clustering
Gilles Gasso - Philippe LERAY
.
INSA Rouen -Département ASI
Laboratoire LITIS
Clustering – p. 1/64
Introduction
Objectifs
• soitD = {xi ∈ Rd}i=1,··· ,N un ensemble d’observations décrit pard attributs.
• Objectif du clustering :structuration des données en classes homogènesOn cherche à regrouper les points enclustersou classes tels que lesdonnéesd’un clustersoient les plussimilairespossibles
• Clustering : c’est del’apprentissage non supervisé. C’est une techniqued’analyse exploratoire des données servant à résumer les informations sur lesdonnées ou à déterminer des liens entre les points.
Exemples de classes
Clustering – p. 2/64
Introduction
Domaines d’application
Le Clustering s’applique dans plusieurs domaines
Domaine Forme des données Clusters
Text mining Textes Textes prochesMails Dossiers automatiques
Web mining Textes et images Pages web proches
BioInformatique Gènes Gènes ressemblants
Marketing Infos clients, produits achetés Segmentation de la clientèle
Segmentation d’images Images Zones homogènes dans l’image
Web log analysis Clickstream Profils utilisateurs
Clustering – p. 3/64
Problématiques
• Nature des observations : Données binaires, textuelles, numériques, arbres, ... ?
• Notion de similarité (ou de dissimilarité) entre observations
• Définition d’un cluster
• Evaluation de la validité d’un cluster
• Nombre de clusters pouvant être identifiés dans les données
• Quels algorithmes de clustering ?
• Comparaison de différents résultats de clustering
Clustering – p. 4/64
Notions de similarité
Vocabulaire
• Mesure de dissimilaritéDM : plus la mesure est faible plus les points sontsimilaires (∼ distance)
• Mesure de similaritéSM : plus la mesure est grande, plus les points sontsimilaires
• DM = borne− SM
Notations
• Observation :xi ∈ Rd
avecxi =
xi,1
xi,2
...xi,d
Clustering – p. 5/64
Notion de proximité
Mesure de la distanced(x1, x2) entre 2 pointsx1 et x2
• Distance de Minkoswski :d(x1, x2) =(
∑dj=1 |x1,j − x2,j |
q)
1
q
• Distance Euclidienne correspond àq = 2 :
d(x1, x2) =√
∑dj=1 (x1,j − x2,j)2 =
√
(x1 − x2)t(x1 − x2)
• Distance de Manhattan (q = 1) : d(x1, x2) =∑d
j=1 |x1,j − x2,j |
• distance de Sebestyen :d2(x1, x2) = (x1 − x2)
tW (x1 − x2)(W= matrice diagonale de pondération)
• distance de Mahalanobis :d2(x1, x2) = (x1 − x2)
tC−1(x1 − x2)(C=matrice de variance-covariance)
• ...
Clustering – p. 6/64
Notion de proximité
Mesure de la distanced(x1, x2) entre 2 pointsx1 et x2
• Et six1 etx2 sont à valeurs discrètes ?
• On peut les répresenter dans une matrice de contingenceA(x1, x2) = [aij ]
• x1 = [0, 1, 2, 1, 2, 1]′ etx1 = [1, 0, 2, 1, 0, 1]′
• A(x1, x2) = [0 1 2 ; 1 2 0; 1 0 1]
• distance de Hamming : nombre de places où les 2 vecteurs diffèrent :
d(x1, x2) =
d∑
i=1
d∑
j=1,j 6=i
aij
• distance de Tanimoto, ...
Clustering – p. 7/64
Notion de proximité
Mesure de la distanceD(C1, C2) entre 2 classesC1 et C2
• plus proche voisin :Dmin(C1, C2) = min{
d(xi, xj), xi ∈ C1, xj ∈ C2}
• diamètre maximum :Dmax(C1, C2) = max{
d(xi, xj), xi ∈ C1, xj ∈ C2}
• distance moyenne :Dmoy(C1, C2) =
∑
xi∈C1
∑
xj∈C2d(xi,xj)
n1n2
• distance des centres de gravité :Dcg(C1, C2) = d(µ1, µ2)
• distance de Ward :DWard(C1, C2) =√
n1n2
n1+n2d(µ1, µ2)
• ...
Clustering – p. 8/64
Evaluation de la Qualité d’un clustering
Inertie Intra-cluster
• Chaque clusterCk est caractérisé par
• Son centre de gravité :µk = 1Nk
∑
i∈Ckxi avecNk = card(Ck)
• Son inertie: Jk =∑
i∈Ckd2(xi, µk)
L’inertie d’un cluster mesure la concentration des points du cluster autour ducentre de gravité. Plus cette inertie est faible, plus petite est la dispersion despoints autour du centre de gravité
• Sa matrice de variance-covariance :Σk =∑
i∈Ck(xi − µk)(xi − µk)t
Remarque : on a la propriété suivanteJk = trace(Σk). L’inertie d’un clusterreprésente la variance des points de ce cluster
• On désigne parinertie intra-cluster, le terme
Jw =∑
k
∑
i∈Ck
d2(xi, µk) =∑
i∈Ck
Jk
Clustering – p. 9/64
Evaluation de la Qualité d’un clustering
Inertie inter-cluster
• Soitµ le centre de gravité du nuage de points :µ = 1N
∑
i xi
• Les centres de gravité des clusters forment eux aussi un nuage de pointscaractérisé par
• Inertie inter-cluster :Jb =∑
k Nkd2(µk, µ)
L’inertie inter-cluster mesure "l’éloignement" des centres des clusters entreeux. Plus cette inertie est grande, plus les clusters sont bien séparés
• Une matrice de variance-covariance inter-cluster :Σb =
∑
k(µk − µ)(µk − µ)t
Remarque :Jb = trace(Σb)
Comment obtenir une bonne partition ?
Il faut minimiser l’inertie intra-cluster et maximiser l’inertie inter-clusterClustering – p. 10/64
Bonne partition
• Illustration (Bisson 2001) :
inter
g
g1
g
g2
g3
g4
C1
C2
C3
C4
Inertie totale des points = Inertie Intra-cluster + Inertie Inter-cluster
Clustering – p. 11/64
Bonne partition
• Illustration (Bisson 2001) :
g1 g2
Forte inertie inter-classesFaible inertie intra-classes
g3
g4
Faible inertie inter-classesForte inertie intra-classes
Clustering – p. 12/64
Approches de clustering
• Différentes approches sont possibles
• Clustering hiérachique• Clustering hiérarchique ascendant (CHA) et variantes• Clustering hiérarchique descendant
• Clustering par partitionnement• Algorithme des K-moyennes et variantes• Clustering flou• Clustering spectral• ...
• Clustering par modélisation• Notion de modèles de mélange• Algorithmes EM et variantes
Clustering – p. 13/64
CHA - principe
• Chaque point ou cluster est progressivement "absorbé" par le cluster le plusproche.
• Algorithme• Initialisation :
• Chaque individu est placé dans son propre cluster,• Calcul de la matrice de ressemblanceM entre chaque couple de clusters
(ici les points)• Répéter
• Sélection dansM des deux clusters les plus prochesCI etCJ• Fusion deCI etCJ pour former un clusterCG• Mise à jour deM en calculant la ressemblance entreCG et les clusters
existants• Jusqu’à la fusion des 2 derniers clusters
Clustering – p. 14/64
CHA : principe
• Exemple (Bisson 2001)
Hiérarchie(indicée) C10
C1
C6
C5
C4
C3
C2
C9
C8
C7
C1C2C3
C4C5
C6
C8
C10
C7
C9
i
• Schéma du milieu =dendrogramme= représentation des fusions successives
• Hauteur d’un cluster dans le dendrogramme = similarité entre les 2 clustersavant fusion (sauf exception avec certaines mesures de similarité)...
Clustering – p. 15/64
CHA : métrique
Problème = trouver l’ultramétrique (distance entre clusters) la plus proche de lamétrique utilisée pour les individus.
• Saut minimal (single linkage) basé sur la distanceDmin(C1, C2)• tendance à produire des classes générales (par effet de chaînage)• sensibilité aux individus bruités.
• Saut maximal (complete linkage) basé sur la distanceDmax(C1, C2)• tendance à produire des classes spécifiques (on ne regroupe que des classes
très proches)• sensibilité aux individus bruités.
• Saut moyen basé sur la distanceDmoy(C1, C2)• tendance à produire des classes de variance proche
• Barycentre basé sur la distanceDcg(C1, C2)• bonne résistance au bruit
Clustering – p. 16/64
CHA : métrique
• Exemple (Bisson 2001)Données (métrique : dist. Eucl.)
4
3
2
1
043210
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 mêmes résultats selon la métrique utilisée ...
Clustering – p. 17/64
CHA : ASI4 Clustering
• 26 individus d’ASI4, 2003• Données = 5 valeurs 0/1
(inscription en IR, MGPI, DM, RNA, TIM)• Va-t-on tirer quelque chose de cesASI4 données ?
Saut minimalB
AR
O
CA
ST
CO
RD
BO
NV
PE
SQ
BO
IT
TR
AO
WA
AG
CH
AM
LED
I
BO
ND
SP
ER
GR
EM
CA
MP
PE
RS
WE
YC
CA
PR
FO
UR
GE
SL
JEA
N
LEH
O
HA
UT
OH
AN
RA
BA
RA
BI
ZE
HN
• 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
BA
RO
CA
ST
CO
RD
GR
EM
RA
BI
ZE
HN
CA
MP
PE
RS
WE
YC
CA
PR
FO
UR
GE
SL
JEA
N
LEH
O
BO
IT
TR
AO
WA
AG
BO
NV
PE
SQ
HA
UT
OH
AN
RA
BA
BO
ND
SP
ER
CH
AM
LED
I• En changeant de métrique, on observe plus de sous-regroupements
Clustering – p. 19/64
CHA : ASI4 Clustering
BA
RO
CA
ST
CO
RD
GR
EM
RA
BI
ZE
HN
CA
MP
PE
RS
WE
YC
CA
PR
FO
UR
GE
SL
JEA
N
LEH
O
BO
IT
TR
AO
WA
AG
BO
NV
PE
SQ
HA
UT
OH
AN
RA
BA
BO
ND
SP
ER
CH
AM
LED
I
J’aime bien le traitementde l’information rpmbuild −ba kernel*.spec vive la vision
• Pour construire les clusters, on coupe l’arbre à 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 regroupés
Dis
tanc
e
Dendrogramme
1 4 17 26 6 20 24 3 25 13 21 7 2 8 22 5 14 18 10 16 11 23 9 19 12 15 27 35 40 29 28 36 31 32 39 30 33 34 37 38
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 regroupés
Dis
tanc
e
Dendrogramme
1 4 17 26 6 20 24 3 25 13 21 7 2 8 22 5 14 18 10 16 11 23 9 19 12 15 27 35 40 29 28 36 31 32 39 30 33 34 37 38
fusion desclusters 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 desclusters 7 et 8
étape suivante :
Clustering – p. 23/64
CHAMELEON
• Une méthode de classification hiérarchique ascendante plus évoluée
• Principe = estimer la densité intra-cluster et inter-cluster à partir du graphe desk plus proches voisins
données 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(Ci, Cj) = ensemble des points qui relient des nœuds deCi et deCj
• Inter-connectivité interne d’un cluster :EC(Ci) = plus petit ensemble quipartionneCi en 2 sous-clusters de tailleproche
• Inter-connectivité relative :RI(Ci, Cj) =2∗|EC(Ci,Cj)|
|EC(Ci)|+|EC(Cj)|
Proximité
• Proximité absolue entre 2 clusters :EC(Ci, Cj) = distance moyenne entre les points deEC(Ci, Cj)
• Proximité interne d’un cluster :EC(Ci) = distance moyenne entre les points deEC(Ci)
• Proximité relative :RC(Ci, Cj) =(|Ci|+|Cj |)EC(Ci,Cj)
|Ci|EC(Ci)+|Cj |EC(Cj) Clustering – p. 25/64
CHAMELEON : algorithme
• Deux phases
• trouver des sous-clusters initiaux• en partitionnant le graphe k-ppv enm partitions "solides" (ou la distance
entre les points est minimisée)
• fusionner dynamiquement les sous-clusters• en fonction deRI(Ci, Cj) etRC(Ci, Cj)
Clustering – p. 26/64
CHAMELEON : résultats
DS4DS3
DS5
Clustering – p. 27/64
Complexité
• Classification Hierarchique Ascendante :O(n3)
• Certaines variantes de CHA• CURE :O(n2) en petite dimimension,O(n2 + nm log n) sinon (en
commençant avecm clusters)
• CHAMELEON :• graphe k-ppv :O(n log n) en petite dim. sinonO(n2)• clustering :O(nm + n log n + m2 log m)
Clustering – p. 28/64
Classification Hiérarchique Descendante
• Principe :• Sélection du cluster le moins cohérent• Subdivision du cluster le moins cohérent
• Problème :• Pour réaliser la subdivision, il faut souvent faire une classification
hierarchique ascendante pour savoir quelle est la meilleure façon de séparerles points
• Algorithme beaucoup moins attractif que l’autre
Clustering – p. 29/64
Approches de clustering
• Clustering hiérachique• Clustering hiérarchique ascendant (CHA) et variantes• Clustering hiérarchique descendant
• Clustering par partitionnement• Algorithme des K-moyennes et variantes• Clustering flou• Clustering spectral• ...
• Clustering par modélisation• Notion de modèles de mélange• Algorithmes EM et variantes
Clustering – p. 30/64
Clustering par partitionnement
Objectifs
• N donnéesD = {xi ∈ Rd}i=1,··· ,N disponibles
• Recherche d’une partition enK < N clustersCk, k = 1, · · · , K de ces données• Approche directe
• Construire toutes les partitions possibles• Evaluer la qualité de chaque clustering clustering et retenir la meilleure
partition• Souci : problème NP difficile car le nombre de partitions possibles augmente
exponentiellement
#Clusters=1
K!
K∑
k=1
(−1)K−kCKk kN
PourN = 10 etK = 4, on a 34105 partitions possibles !
Clustering – p. 31/64
Clustering par partitionnement
Solution plus pratique
• Minimisation de l’inertie intra-classeJw =∑K
k=1
∑
i∈Ckd2(xi, µk)
• Eviter l’énumération exhaustive de toutes les partitions possibles
• Utilisation d’une approche heuristique donnant au moins unebonne partitionetpas nécessairement lapartition optimaleau sens deJw
Un algorithme très connu : algorithmes des K-means (ou centres mobiles)
• Si on connait les centres de gravitéµk, k = 1, · · · , K, on affecte un pointxi àun cluster et un seul. Le point est affecté au clusterCℓ dont le centreµℓ est leplus proche
• Connaissant les clustersCk, k = 1, · · · , K, on estime leur centre de gravité
• On alterne ainsi l’affectation des points aux clusters et l’estimation des centresde gravité jusqu’à convergence du critère
Clustering – p. 32/64
K-Means : algorithme
• Initialiser les centresµ1, · · ·µK• Répeter
• Affectation de chaque point à son cluster le plus proche
Cℓ ← xi tel que ℓ = arg mink
d(xi, µk)
• Recalculer le centreµk de chaque cluster
µk =1
Nk
∑
i∈Ck
xi avec Nk = card(Ck)
• Tant que‖ ∆µ ‖> ǫ
Complexité :O(KnI) pourI : itérations
Clustering – p. 33/64
K-Means : illustration [S. Roweis, 2003]
Clustering enK = 2 classes
Données Initialisation Itération 1
Itération 2 Itération 3 Itération 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 problèmes
• On montre qu’à chaque itération de l’algorithme le critèreJw diminue.• L’algorithmeconverge au moins vers un minimum local deJw• Convergence rapide• Initialisation desµk :
• aléatoirement dans l’intervalle de définition desxi• aléatoirement dans l’ensemble desxi
• Des initialisations différentes peuvent mener à des clusters différents(problèmes de minima locaux)
• Méthodegénéralepour obtenir des clusters "stables" = formes fortes• On répète l’algorithmer fois• On regroupe ensemble lesxi qui se retrouvent toujours dans les mêmes
clusters.• Choix du nombre de clusters : problème difficile
• Fixé a priori (exple : on veut découper une clientèle enK segments)• Chercher la meilleure partition pour différentsK > 1 et chercher "un coude"
au niveau de la décroissance deJw(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
xx
x
x
xx
x
x
xx
x
xx
x
x
4 “formes fortes”
C1
C2C’ 1
C’ 2
x
x
xx
x
x
xx
x
x
xx
x
xx
x
x
F1F2
F4F3
Classifications
Clustering – p. 41/64
K-Means : formes fortes
• K-Means répété 6 foisK = 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 différents :
F1 F2 F3 F4 F5
Ni 2040 1940 49 2042 1929
• F3 n’est pas représentatif• F1, F1, F4 etF5 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 répété 6 fois4 Formes fortes pour K = 3
Clustering – p. 44/64
K-Means séquentiels
• Adaptation des K-means lorsque les exemples arrivent au fur et à mesure
• Initialiserµ1, · · ·µK• Initialisern1, · · ·nK à 0• Répeter
• acquérirx• affectation de chaque point à son cluster le plus proche
Cℓ ← xi tel que ℓ = arg mink
d(x, µk)
• incrémenternℓ• recalculer le centreµℓ de ce cluster
µℓ = µℓ +1
nℓ(x− µℓ)
Remarque
Si on dispose d’une partition initiale, on utilisera les centres des clusters et oninitialiserank = card(Ck), k = 1, · · · , K
Clustering – p. 45/64
Variantes de K-means
K-means flous
• Ici un pointxi peut appartenir à plusieurs clusters !• Par contre, pour chaque clusterCk, on lui associe un degré d’appartenancezi,k
tel que0 ≤ zi,k ≤ 1 et∑K
k=1 zi,k = 1
• On minimise le critère intra-classe suivantJw =∑
k
∑Ni=1 zγ
i,kd2(xi, µk) avec
γ > 1.γ règle le "degré de flou". Plusγ est grand, plus les clusters trouvés serecouvrent.
Nuées Dynamiques (Diday 1972, 1974)
• Généralisation des K-Means
• Utilisation de noyaux = représentation d’un cluster• barycentre ( =µ pour les K-means)• n points représentatifs• Hyperplan• ...
Clustering – p. 46/64
Approches de clustering
• Clustering hiérachique• Clustering hiérarchique ascendant (CHA) et variantes• Clustering hiérarchique descendant
• Clustering par partitionnement• Algorithme des K-moyennes et variantes• Clustering flou• Clustering spectral• ...
• Clustering par modélisation• Notion de modèles de mélange• Algorithmes EM et variantes
Clustering – p. 47/64
Clustering par modélisation statistique
Introduction par l’exemple
• ConsidéronsN données{xi ∈ Rd}i=1,··· ,N formant deux classes
−3 −2 −1 0 1 2 3 4 5 6−2
−1
0
1
2
3
4
5
6Données des deux classes
−3 −2 −1 0 1 2 3 4 5 6−2
−1
0
1
2
3
4
5
6Données des deux classes et contours des classes
• On veut trouver le modèle statistique des données.
• On constate que pour modéliser les données, il faut deux distributionsgaussiennes
Clustering – p. 48/64
Clustering par modélisation statistique
Introduction par l’exemple
• Dans la classe 1, les données suivent une loi normale i.e.N (X; µ1, Σ1) oùX
désignent une variable aléatoire. Dans la classe 2,X suitN (X; µ2, Σ2)
• Loi marginale deX
f(X) = f(X, Z = 1) + f(X, Z = 2)
= f(X/Z = 1) Pr(Z = 1) + f(X/Z = 2) Pr(Z = 2) d’après Bayes
f(X) = π1f(X/Z = 1) + π2f(X/Z = 2)
avec f(X/Z = 1) ≡ N (X; µ1, Σ1), f(X/Z = 2) ≡ N (X; µ2, Σ2)
• π1 etπ2 désignent laprobabilité a prioriqueX relève resp. de la classeC1 etC2. Remarque : on aπ1 + π2 = 1
• f(X/Z = 1) etf(X/Z = 2) désignent ladensité conditionnelle deXrespectivement àZ = 1 etZ = 2
• f(X) est entièrement déterminé par la connaissance deπj , µj , Σj , j ∈ {1, 2}.On l’appellemodèle de mélange de densités
Clustering – p. 49/64
Modèle de mélange : illustration
Modèle de mélange gaussien
f(X) = π1N (X; µ1, Σ1) + π2N (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
6Données des deux classes et loi sous−jacente
−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 3−D
Clustering – p. 50/64
Du modèle de mélange au clustering
Quel intérêt d’avoir le modèle statistique pour faire du clustering ?
• Si on connait le modèle de mélange, on connait les probabilités à prioriπj et leslois conditionnellesf(X/Z = j), j ∈ {1, 2}
• D’après le théorème de Bayes, on en déduit lesprobabilités a posteriorid’appartenance àC1 etC2
Pr(Z = 1/X = x) =π1f(X = x/Z = 1)
f(X = x)
Pr(Z = 2/X = x) =π2f(X = x/Z = 2)
f(X = x)
Remarque : on aPr(Z = 1/X = x) + Pr(Z = 2/X = x) = 1
• Le pointx est affecté à la classe de plus grande probabilité a posteriori
C1 ← x si Pr(Z = 1/X = x) > Pr(Z = 2/X = x)
C2 ← x sinon
Clustering – p. 51/64
Du modèle de mélange au clustering
Comparaison avec K-means
K-means Approche modélisation
Modèle - Modèle de mélangesf(X) =
∑Kk=1 πkf(X/Z = k)
Paramètres à estimer Centres des clusters Proba a prioriπk
µk, k = 1, · · · , K Paramètres des loisf(X/Z = k)
Critère optimisé Variance intra-classe Log-Vraisemblance
Indice d’affectation d(x, µk) Proba a posteriori Pr(Z = k/X = x)
Règle d’affectation dex Cluster dont le centre Cluster de plus grandeest le plus proche proba a posteriori
Clustering – p. 52/64
Estimation des paramètres du modèle
Retour à l’exemple
Modèle de mélange gaussien
f(X) = π1N (X; µ1, Σ1) + π2N (X; µ2, Σ2)
• Paramètres à estimer :π1, π2, µ1, Σ1, µ2 etΣ2
• On regroupe tous les paramètres du modèle de mélange dans le vecteurθ :
θ =[
π1, π2, µ⊤1 , Σ1(:)
⊤, µ2, Σ2(:)⊤
]⊤
• Comment estimer les paramètres à partir des données ?
Maximiser la vraisemblance (ou le log de la vraisemblance)
Clustering – p. 53/64
Notion de vraisemblance
• Supposons des données{xi}i=1,··· ,N i.i.d. (identiquement et indépendammentdistribuées). Ces données suivent une loif(X; θ) de paramètresθ
• Vraisemblance
Λ(θ; x1, · · · , xN ) =
N∏
i=1
f(X = xi; θ)
• En général on utilise laLog-vraisemblance
L(θ; x1, · · · , xN ) = log (Λ(θ; x1, · · · , xN ))
=
N∑
i=1
log(f(X = xi; θ))
Clustering – p. 54/64
Maximisation de la vraisemblance
• On considère de façon générale le problème suivant
maxθL(θ; x1, · · · , xN ) = max
θ
N∑
i=1
log(f(X = xi; θ))
Approche directe
• La solutionθ̂ du problème précédent vérifie∇L(θ̂; x1, · · · , xN ) = 0
• Pas de solution analytique en général
• Problème d’optimisation difficile en général
• Il existe des cas simples où la solution analytique existe comme par exemplel’estimation des paramètres d’une loi normale
Clustering – p. 55/64
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
• Supposons des données gaussiennes{xi ∈ R2}i=1,··· ,N i.i.d. Elles suivent
donc la loi
N (X/µ, Σ) =1
√
(2π)d|Σ|exp
{
−1
2(X − µ)⊤Σ−1(X − µ)
}
avecd = 2
• La Log-vraisemblance est
L(µ, Σ; x1, · · · , xN ) = −1
2N log((2π)d|Σ|)−
1
2
N∑
i=1
(xi − µ)⊤Σ−1(xi − µ)
• Par dérivation deL, on trouve l’estimation des paramètresµ etΣ au sens dumaximum de vraisemblance
µ̂ =1
N
N∑
i=1
xi, Σ̂ =1
N
N∑
i=1
(xi − µ̂)(xi − µ̂)⊤
Clustering – p. 56/64
Maximisation de la vraisemblance
Approche directe : exemple où la solution analytique n’existe pas
• Log-Vraisemblance du modèle de mélange de deux gaussiennes
L(θ/x1, · · · , xN ) =
N∑
i=1
log(π1N (xi; µ1, Σ1) + π2N (xi; µ2, Σ2))
• Solution non analytique à cause du log de la somme des termesπjN (x/µj , Σj)
• Le problème dans le cas du mélange des 2 gaussiennes vient du fait qu’on neconnait pas a priori le cluster auquel appartient le pointxi
• Que se passe-t-il si on a cette information ?
On peut construire une démarche itérative : c’estl’algorithme EM
Clustering – p. 57/64
EM par l’exemple
Existe-t-il une parade dans l’exemple du mélange de gaussiennes ?
• Que se passe-t-il si on se donnearbitrairementl’appartenance dexi à uncluster ?
On définit lalog-vraisemblance complétée
Lc(θ; {xi, zi}i=1,··· ,N ) =N
∑
i=1
zi log(π1N (xi; µ1, Σ1))+(1−zi) log(π2N (xi; µ2, Σ2))
aveczi = 1 si xi ∈ C1 et zi = 0 si xi ∈ C2
Il est alors possible de déterminerπ̂j , µ̂j et Σ̂j analytiquement
• Problème : nous avons pris arbitrairement les inconnuszi !
Clustering – p. 58/64
EM par l’exemple
Comment on s’en sort ?
• On prend l’espérance conditionnelle deLc
Esp(Lc/{xi}i=1,··· ,N ) =
N∑
i=1
Esp(zi/xi) log(π1N (xi; µ1, Σ1))
+(1− Esp(zi/xi)) log(π2N (xi; µ2, Σ2))
• Esp(zi/xi) = Pr(zi = 1/xi) est la probabilité a posteriori quexi ∈ C1• D’après la loi de Bayes
Pr(zi = 1/xi) =Pr(zi = 1)f(xi/zi = 1)
f(xi)
Pr(zi = 1/xi) =π1N (xi; µ1, Σ1)
π1N (xi; µ1, Σ1) + π2N (xi; µ2, Σ2)
• Si on connait les paramètres, on peut calculer les probabilités a posteriori.ConnaissantPr(zi = 1/xi), on peut calculer les paramètres.EM : approcheitérative alternant calcul desPr(zi = 1/xi) et calcul des paramètres Clustering – p. 59/64
EM appliqué au mélange de 2 gaussiennesL’algorithme
• Initialiser les paramètresπ1, µ1, Σ1, π2, µ2, Σ2 (Rmq :π1 + π2 = 1)• Répeter
• Etape E (Expectation): calcul des probabilités a posteriori
γ(1)i = Pr(zi = 1/xi) =
π1N (xi; µ1, Σ1)
π1N (xi; µ1, Σ1) + π2N (xi; µ2, Σ2), i = 1, · · · , N
Rmq :γ(2)i = Pr(zi = 0/xi) = 1− γ
(1)i : proba a posteriori quexi ∈ C2
• Etape M (Maximisation): calcul des paramètres
µj =
∑Ni=1 γ
(j)i xi
∑Ni=1 γ
(j)i
, Σj =
∑Ni=1 γ
(j)i (xi − µj)(xi − µj)
⊤
∑Ni=1 γ
(j)i
, πj =
∑Ni=1 γ
(j)i
Nj ∈ {1, 2}
• Jusqu’à convergence
Du modèle de mélange au clustering• Après convergence, on dispose des paramètres. On affecte le pointxi au cluster
Cj tel queγ(j)i soit maximal Clustering – p. 60/64
EM appliqué au mélange de 2 gaussiennes
Illustration [S. Sankararam]
Initialisation Init : Etape E Iteration 1
Itération 2 Itération 5 Itération 20
Clustering – p. 61/64
Extensions au cas général
Modèle de mélange
f(x) =
K∑
k=1
πkf (x; θk) avecK
∑
k=1
πk = 1
Algorithme EM
• A l’étape E d’une itération, on calcule les proba a posteriori dexi ∈ Ck
γ(k)i =
πkf (xi; θk)∑K
k=1 πkf (x; θk), i = 1, · · · , N, etk = 1, · · · , K
Rmq :∑K
k=1 γ(k)i = 1
• Etape M : on calcule les paramètresθk etπk par maximisation deEsp(Lc/{xi}i=1,··· ,N ). Si on a un modèle de mélange deK > 2 gaussiennes,on calcule les paramètres en utilisant les résultats de l’exemple
Clustering – p. 62/64
Remarques sur EM
• Convergence vers un extremum local (convergence globale non garantie)
• Critère de convergence possible : variation de la log-vraisemblance
• On montre qu’à chaque étape, on améliore la log-vraisemblance
• Initialisation : aléatoire ou utilisation de résultats a priori (comme par l’exemplefaire K-means sur les données et utiliser ces résultats pour initialiserl’algorithme)
• Des initialisations différentes peuvent donner des paramètres différents
• Il existe des variantes de EM pour le clustering dont le CEM (Classification -Expeectation - Maximisation)
Clustering – p. 63/64
Variante de EM : CEM
• Initialiser les paramètresθk etπk, k = 1, · · · , K
• Répéter• Etape E : calculer les probabilités a posterioriγ
(k)i , ∀ i = 1, · · · , N et
∀ k = 1, · · · , K
• Etape C : classification des points
Ck ← xi si k = argℓ max γ(ℓ)i
Modification des proba a posteriori
γ(k)i = 1 et γ
(ℓ)i = 0, ∀ ℓ 6= k
• Etape M : calcul des paramètres par la procédure usuelle en utilisant lesproba a posteriori modifiées
• Jusqu’à convergenceRemarque : A la fin de l’algorithme, on obtient directement les clusters
Clustering – p. 64/64