Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 ·...

Post on 06-Aug-2020

0 views 0 download

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