Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Gilles Gasso
27 septembre 2016
1 Introduction
2 Problématiques
Proximité
Qualité des clusters
3 Méthodes de clustering
CHA
Principe
Métrique
Une variante du CHA : CHAMELEON
K-means
Principe
Algorithme
Variantes
Introduction
Objectifs
D = {xi ∈ Rd }N
i=1 : ensemble de points décrits par d attributs.
Exemples de classes
Introduction
Domaines d’application
Domaine Forme des données Clusters
Text mining Textes Textes proches
Mails Dossiers automatiques
Web mining Textes et images Pages web proches
BioInformatique Gènes Gènes ressemblants
Marketing Infos clients, Segmentation
produits achetés de la clientèle
Segmentation Images Zones homogènes
d’images dans l’image
Web log analysis Clickstream Profils utilisateurs
Problématiques
Exemple : D(x1 , x2 ) = 3
diamètre maximum :
Dmax (C1 , C2 ) = max {D(xi , xj ), xi ∈ C1 , xj ∈ C2 }
distance moyenne :
P P
xi ∈C1 xj ∈C2 D(xi , xj )
Dmoy (C1 , C2 ) =
n1 n2
q
n1 n2
distance de Ward : DWard (C1 , C2 ) = n1 +n2 D(µ1 , µ2 )
Illustration
Inertie Intra-cluster
D 2 (xi , µk ) =
P P P
Inertie intra-cluster : Jw = k i∈Ck i∈Ck Jk
Gilles Gasso Clustering 10 / 56
Problématiques Qualité des clusters
Inertie inter-cluster
1 P
Soit µ le centre de gravité du nuage de points : µ = N i xi
Nk D 2 (µk , µ)
P
Inertie inter-cluster : Jb = k
C1
g1
C3
g3
C2
g g
g4 C4
g2
g3
g1 g2
g4
Approches de clustering
Clustering hiérachique
Clustering hiérarchique ascendant (CHA) et variantes
CHA - principe
Principe
Chaque point ou cluster est progressivement "absorbé" par le cluster le
plus proche.
Algorithme
Initialisation :
Chaque point forme un cluster,
Calcul de la matrice de distance M entre chaque couple de clusters (ici
les points)
Répéter
Sélection dans M des deux clusters les plus proches CI et CJ
Fusion de CI et CJ pour former un cluster CG
Mise à jour de M en calculant la distance entre CG et les autres clusters
Jusqu’à la fusion des 2 derniers clusters
Gilles Gasso Clustering 15 / 56
Méthodes de clustering CHA
CHA : principe
CHA : métrique
Problème
CHA : métrique
CHA : métrique
E 0,9 2,8
2
F
B 0,7 1,7
1
A
0,5 0,5
0
0 1 2 3 4 F E A B C D C D A B E F
Saut minimal
Pas moyen de faire de
sous-groupes, tout le
monde est à une distance
de 0 ou 1 des autres
clusters.
CHAM
BARO
CORD
BOND
GREM
CAMP
OHAN
RABA
RABI
CAST
BONV
BOIT
TRAO
WAAG
CAPR
FOUR
JEAN
HAUT
LEDI
LEHO
ZEHN
PESQ
SPER
PERS
WEYC
GESL
CHAM
BARO
CORD
RABA
GREM
RABI
CAMP
CAPR
FOUR
JEAN
HAUT
OHAN
BOND
CAST
ZEHN
BOIT
TRAO
WAAG
BONV
LEHO
LEDI
PERS
WEYC
GESL
PESQ
SPER
En changeant de métrique, on observe plus de sous-regroupements
1.8
1.6
1.4
fusion des
clusters 7 et 8
1.2
Distance
0.8
0.6
1 2 3 4 5 6 7 8 9 10
0.4
0.2
0
17
26
20
24
25
13
21
22
14
18
10
16
11
23
19
12
15
27
35
40
29
28
36
31
32
39
30
33
34
37
38
1
4
7
2
8
cluster 7
cluster 8
140
120
100
80
60
40
20
0
0 100 200 300 400 500 600 700 800 900
Deux phases
CHAMELEON : résultats
DS3 DS4
DS5
Gilles Gasso Clustering 27 / 56
Méthodes de clustering K-means
Approches de clustering
Clustering hiérachique
Clustering hiérarchique ascendant (CHA) et variantes
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 nombrePde partitions possibles augmente
exponentiellement #Clusters = K1! K k=1 (−1)
K −k C K k N . Pour N = 10 et
k
K = 4, on a 34105 partitions possibles !
Gilles Gasso Clustering 29 / 56
Méthodes de clustering K-means
K-Means : algorithme
PK
D 2 (xi , µk )
P
Calculer le critère Jw = k=1 i∈Ck
K-Means : illustration
Clustering en K = 2 classes
3 3 3
2 2 2
1 1 1
0 0 0
−1 −1 −1
−2
−3 −2 −1 0 1 2 3 4 5
−2 −2
−4 −2 0 2 4 6 −4 −2 0 2 4 6
3 3 3
2 2 2
1 1 1
0 0 0
−1 −1 −1
−2 −2 −2
−4 −2 0 2 4 6 −4 −2 0 2 4 6 −4 −2 0 2 4 6
3 3 3
2 2 2
1 1 1
0 0 0
−1 −1 −1
−2 −2 −2
−4 −2 0 2 4 6 −4 −2 0 2 4 6 −4 −2 0 2 4 6
250
critère Jw
200
Critère Jw
150
100
50
0 5 10 15
Iterations
Gilles Gasso Clustering 34 / 56
Méthodes de clustering K-means
K-Means : exemple
K=2 K=3
K=4 K=5
K=6 K=7
K-Means : exemple
K=2 K=3
K=4 K=5
K=6 K=7
K-Means : exemple
K=6
K-Means : exemple
K = 10
K-Means : exemple
K = 10
C1 x C’ 2 F2 x
x x F1 x x
x x
x x
ns x
x x 4 “formes fortes” x
x x
x x
x x
x x x x
x x
C’ 1
x x x x x F4 x
x C2 F3 x
K=3 K=3
K=3 K=3
F1 F2 F3 F4 F5
Ni 2040 1940 49 2042 1929
K-Means séquentiels
Adaptation des K-means lorsque les exemples arrivent au fur et à mesure
Initialiser µ1 , · · · µK
Initialiser n1 , · · · nK à 0
Répeter
acquérir x
affectation du point au cluster le plus proche
C` ← x tel que ` = arg min D(x, µk )
k
incrémenter n`
recalculer le centre µ` de ce cluster
1
µ` = µ` + (x − µ` )
n`
Remarque
Si on dispose d’une partition initiale, on utilisera les centres des clusters et
on initialisera nk = card(Ck ), k = 1, · · · , K
Gilles Gasso Clustering 46 / 56
Clustering par modèle de mélange
Approches de clustering
Clustering hiérachique
Clustering hiérarchique ascendant (CHA) et variantes
5 5
4 4
3 3
2 2
1 1
0 0
−1 −1
−2 −2
−3 −2 −1 0 1 2 3 4 5 6 −3 −2 −1 0 1 2 3 4 5 6
Loi marginale de x
0.04
5
0.035
4 0.03
0.025
3
0.02
0.015
2
0.01
1 0.005
0 5
−1
0
−2 4 6
−3 −2 −1 0 1 2 3 4 5 6 −5 0 2
−4 −2
−6
π1 f (x/C1 )
Pr(C1 /x) =
f (x)
π2 f (x/C2 )
Pr(C2 /x) =
f (x)
Conclusion
Quelques Toolboxes
Python :
http://scikit-learn.org/stable/modules/clustering.html
R:
https:
//cran.r-project.org/web/packages/fastcluster/index.html
https://stat.ethz.ch/R-manual/R-devel/library/stats/
html/kmeans.html
Matlab
http://fr.mathworks.com/help/stats/cluster-analysis.html