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

64
Clustering Gilles Gasso - Philippe LERAY . INSA Rouen -Département ASI Laboratoire LITIS Clustering – p. 1/64

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

Page 1: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

Clustering

Gilles Gasso - Philippe LERAY

.

INSA Rouen -Département ASI

Laboratoire LITIS

Clustering – p. 1/64

Page 2: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 3: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 4: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 5: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 6: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 7: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 8: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 9: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 10: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 11: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 12: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 13: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 14: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 15: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 16: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 17: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 18: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 19: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 20: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 21: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 22: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 23: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

CHA : Autre exemple de saut maximal

10 clusters

cluster 7

cluster 8

fusion desclusters 7 et 8

étape suivante :

Clustering – p. 23/64

Page 24: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 25: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 26: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 27: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

CHAMELEON : résultats

DS4DS3

DS5

Clustering – p. 27/64

Page 28: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 29: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 30: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 31: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 32: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 33: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 34: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 35: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

K-Means : exemple

K = 2 K = 3

K = 4 K = 5

K = 6 K = 7

Clustering – p. 35/64

Page 36: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

K-Means : exemple

K = 2 K = 3

K = 4 K = 5

K = 6 K = 7

Clustering – p. 36/64

Page 37: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

K-Means : exemple

K = 6

Clustering – p. 37/64

Page 38: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

K-Means : exemple

K = 10

Clustering – p. 38/64

Page 39: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

K-Means : exemple

K = 10

Clustering – p. 39/64

Page 40: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 41: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 42: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 43: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 44: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

K-Means : formes fortes

• K-Means répété 6 fois4 Formes fortes pour K = 3

Clustering – p. 44/64

Page 45: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 46: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 47: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 48: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 49: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 50: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 51: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 52: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 53: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 54: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 55: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 56: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 57: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 58: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 59: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 60: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 61: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 62: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 63: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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

Page 64: Clustering - INSA Rouenasi.insa-rouen.fr/.../public/Courses/DM/clustering1.pdf · 2012-08-27 · Introduction Objectifs • soit D= {xi ∈Rd}i=1,···,N un ensemble d’observations

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