2009 - méthodes de classification - k-means
TRANSCRIPT
-
8/8/2019 2009 - Mthodes de classification - k-means
1/47
Methodes de classification :
k-means
Patrice Bertrand1
1Universite Paris-Dauphine
M1 Miage & D - AFD - 2009 / 2010
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
2/47
Plan
1 Introduction
2 Structures classificatoires
3 Les donnees
4 Methode des k-means
http://goforward/http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
3/47
Plan
1 Introduction
2 Structures classificatoires
3 Les donnees
4 Methode des k-means
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
4/47
Plan
1 Introduction
2 Structures classificatoires
3 Les donnees
4 Methode des k-means
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
5/47
Plan
1 Introduction
2 Structures classificatoires
3 Les donnees
4 Methode des k-means
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
6/47
Introduction
Classification automatique : ensemble de methodes ayant
pour objectif de decouvrir des groupes homog enes,appelees classes, dans les donnees.
Capacite basique des etres vivants : grouper des objets
similaires pour produire une classification. Nommer et
Classer sont des activites essentiellement similaires. Exemple 1 : Documents decrits par leurs mots-cles. On
cherche les classes de mots-cles telles que les mots duneclasse apparaissent dans le plus possible de listes demots-cles communes.
Exemple 2 (Marketing) : Pour effectuer un test de marche
dans un pays, on classe les nombreuses villesenvisageables sur la base de leur taille, du revenu de leurs
habitants, etc ... On effectue ensuite le test dans une ville
de chaque classe obtenue.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
7/47
Methodes de plus en plus utilisees en Data Mining : de
janvier 2006 a debut avril 2007, il y a eu 222 267 brevetsindustriels deposes aux Etats Unis, dont 500 se servant de
la classification.
Plusieurs explications :
Flux croissant des donnees,
Augmentation de la puissance des ordinateurs,
Diffusion croissante des logiciels dedies au traitementstatistique des donnees,
Besoin de simplifier les jeux de donnees de tailleimportante.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
8/47
Structures classificatoires
RecouvrementUn ensemble R = {E1, . . . , Ekm} de parties Ek de E non vides,est appele recouvrement de E si la reunion des elements de Rest egale a E, et si aucune partie Ek nest incluse dans uneautre partie Ek :
kmk=1
Ek = E et Ek Ek si k= k.
Les elements de R sont appeles des classes.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
9/47
E : ensemble des objets a classer.
Partition
Un ensemble P= {E1, . . . , Ekm} de parties Ek non vides de E,est appele partition de E si la reunion des elements de Pestegale a E, et si aucun element de Pnintersecte un autreelement de P :
kmk=1
Ek = E et Ek Ek = si k= k.
Les elements de P sont appeles des classes.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
10/47
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
11/47
E : ensemble des objets a classer.
Hi erarchie
Un ensemble H = {E1, . . . , Ekm} de parties Ek non vides de E,est appele hi erarchie sur E si H contient E et ses singletons, etsi deux parties sont dans H, alors soit elles sont disjointes, soitelles sont incluses lune dans lautre :
1) E H ;
2) Pour tout x E, {x} H ;
3) Pour tout Ek
, Ek
H,
Ek Ek = ou Ek Ek ou Ek Ek.
Les elements de H sont appeles des classes.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
12/47
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
13/47
Les donnees
Premier type : tableau individus x variables.
Variable 1 Variable 2 ...
objet 1 7 6 ...
objet 2 10 8.3 ...objet 3 13 11.4 ...
objet 4 1.7 14 ...objet 5 13 11 ...
Differents types de variables :
Qualitative binaire nominale qualitative ordinale
Quantitative
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
14/47
Deuxieme type : tableau individus x individus.
distances A B C D E
A 0B 7.40 0
C 7.56 8.62 0
D 5.01 6.03 12.47 0
E 12.43 6.55 4.66 9.28 0
Mesures de la dissemblance entre 2 objets : dissimilarites distances distances euclidiennes (distance du Khi-deux)
Mesures de la ressemblance entre 2 objets : coefficients de similarite coefficient de correlation, covariance coefficients de concordance
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
15/47
Soit d une application de E E dans R+ :
(x, y) E E d(x, y) R+
Notons :
(1) d(x, x) = 0 pour tout x E
(2) d(x, y) = 0 x = y
(3) d(x, y) = d(y, x) pour tout x, y E
(4) d(x, z) d(x, y) + d(y, z) pour tout x, y, z E (inegalitetriangulaire)
(5) d(x, z) max{d(x, y), d(y, z)} pour tout x, y, z E(inegalite ultrametrique)
dissimilarite : (1) + (3),
indice de distance : (2) + (3),distance : (2) + (3) + (4),
distance ultrametrique : (2) + (3) + (5).
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
16/47
Quelques distances usuelles
d : (x, y)
E
E
d(x, y)R+
Distance usuelle dans le plan :
d(x, y) =
(x1 y1)2 + (x2 y2)2
avec x = (x1, x2)t et y = (y1, y2)
t.
Distance usuelle dans lespace euclidien de dimension p :
d(x, y) = p
i=1
(xi yi)2
avec x = (x1, . . . , xp)t et y = (y1, . . . , yp)
t.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
17/47
Quelques distances particulieres
Distance l : d(x, y) = maxi=1,...,p | xi yi |.
Distance l1 : d1(x, y) =
pi=1
| xi yi |.
Distance dP associee a une partition P= {E1, . . . , Ek} :
- dP(x, y) = 1 si x et y ne sont pas classes ensemble par P,
- dP(x, y) = 0 si x = y,
- dP(x, y) = dans les autres cas (0 < < 1).
on verifie que dP est toujours une ultrametrique.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
18/47
Partitionnement
Objectif : construction dune partition dun ensemble
dobjets dont on connat les distances deux a deux. Partition en k classes dun ensemble E dobjets (rappel) :P= {E1, . . . , Ek}.
Ej = , pour tout j,
kj=1
Ej = E,
Ej Ej = si j= j.
Critere : on recherche des classes les mieux separees etles plus homogenes possibles.
Complexite combinatoire : la taille de lensemble despartitions en k classes est de lordre de kn/k! :N(5, 2) = 15 ; N(10, 3) = 9330 ;
N(50, 4) = 5.3 1028 ; N(100, 5) = 6.6 1067.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
19/47
Methodes de type k-means
Traitement rapide densembles de taille elevee ;
Optimisation locale dun critere de type inertie ;
Hypothese usuelle : les individus peuvent etre representespar des points de Rp muni dune distance euclidienne ;
Algorithme de base : methode des centres mobiles(Forgy, 1965).
Diverses variantes :
k-means (Mac Queen, 1967)
Nuees dynamiques (Diday, 1971)
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
20/47
Inerties
Partition : P= {E1, . . . , Ek}
On note g le centre de gravite de E :
g =xE
p(x)x,
ou p(x) designe le poids de lobjet x.
On note gj le centre de gravite de la j eme classe Ej :
gj =xEj
p(x)
pjx,
ou pj =xEj
p(x) designe le poids de la classe Ej.
Inertie de la j eme classe : Ij = xEj
p(x)
pjd2(x, gj).
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
21/47
Decomposition de linertie totale
Inertie intra-classe :
IW =
j
pjIj =
j
pjxEj
p(x)pj
d2(x, gj)
IW =
j
xE
j
p(x)d2(x, gj)
Inertie inter-classe : IB =
j
pjd2(gj, g)
Decomposition :IT = IB + IW,
ou IT est linertie totale : IT =xE
p(x)d2(x, g).
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
22/47
Algorithme des centres mobiles
(1) Choisir arbitrairement k centres initiaux dans Rp :
c1, . . . , ck
(2) Affectation :pour chaque centre cj, definir la classe Ej
comme etant lensemble des elements de E qui sont plusproches de cj que de tout autre centre cj avec j= j
.
(3) Repr esentation :pour tout j {1, . . . , k}, definir cj commeetant le centre de gravite de Ej :
cj =xEj
p(x)
pjx.
(4) Repeter (2) et (3) tant que E1
, . . . , Ek
changent.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
23/47
Remarques
Chaque solution trouvee est un optimum local pour lecritere qui consiste a minimiser linertie intra-classe IW :
IW =
j
xEj
p(x)d2(x, gj)
En pratique, les logiciels arretent algorithme si :
a) le critere IW (inertie intra-classe) cesse de decrotre de
facon sensible ;
b) un nombre maximal diterations (fixe a priori) a ete atteint.
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
24/47
-
8/8/2019 2009 - Mthodes de classification - k-means
25/47
Initialisation
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
26/47
Affectation de lobjet
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
27/47
Etape daffectation
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
28/47
Etape de representation (1/2)
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
29/47
Etape de representation (2/2)
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
30/47
Etape daffectation
Mi ` j d
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
31/47
Mise a jour des centres
Et d t ti
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
32/47
Etape de representation
Et d ff t ti
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
33/47
Etape daffectation
Mi ` j d t
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
34/47
Mise a jour des centres
Etape de representation
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
35/47
Etape de representation
Convergence des k means (1)
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
36/47
Convergence des k-means (1)
Etape m : on affecte les points x aux centres cj(m) qui sont les
c.d.g. des classes a letape m 1.
v(m) =
j
xEj(m)
p(x)d2(x, cj(m))
inertie intra-classe a letape m :
IW(m) =
j
xEj(m)
p(x)d2(x, gj(m))
Dapres le theoreme de Huyghens,
v(m) = IW(m) +
j
pjd2(gj(m), cj(m))
Donc,
v(m) IW(m)
Convergence des k means (2)
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
37/47
Convergence des k-means (2)
Etape m+ 1 : on affecte les points aux centres les plus proches.
v(m+ 1) =
j
xEj(m+1)
p(x)d2(x, cj(m+ 1))
avec cj(m+ 1) = gj(m).
inertie intra-classe a literation m (rappel) :
IW(m) =
j
xEj(m)
p(x)d2(x, gj(m))
Il est clair queIW(m) v(m+ 1)
Finalement,
v(m) IW(m) v(m+ 1)
Variantes
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
38/47
Variantes
Variante de Mac Queen, 1967.On ne reaffecte pas tous les objets avant de mettre a jourles centres cj : chaque reaffectation dun objet entrane la
mise a jour de tous les centres cj.
Cette methode sappelle la methode des k-means. Parabus, on utilise aussi tres frequemment ce terme pour
designer la methode des centres mobiles.
Extension par les nuees dynamiques de Diday, 1971.
Les centres cj ne sont pas necessairement les centres degravite des classes Ej, mais peuvent etre un ensemble depoints de Ej, la droite de regression du nuage de points
forme par Ej, etc ...
Limitations des k -means
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
39/47
Limitations des k-means
Lutilisateur doit choisir le nombre k de classes et il ny a
pas de critere unique pour determiner le meilleur nombrede classes ;
Lorsque les classes ne sont pas bien separees, lesk-means tendent a trouver uniquement des classes
spheriques, de meme effectif et de meme volume.
Plusieurs initialisations peuvent conduire a plusieurspartitions tres differentes dans leur composition, mais tresproches et quasi-optimales au sens du critere IW.
Choix du nombre de classes et forme
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
40/47
Choix du nombre de classes et forme
des classes
Formes fortes ou groupements stables
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
41/47
Formes fortes ou groupements stables
Les partitions obtenues dependent des centres cj initiauxchoisis.
formes fortes ou groupements stables :
ne retenir que les ensembles dobjets qui ont ete classes
ensemble par chaque partition obtenue.
Soit s partititions P1, . . . ,Ps issues de s initialisations.
Partition produit : Chaque classe de est indexee par
un s-uplet (j1,j2, . . . ,js) et contient tous les individus ayantappartenu simultanement a la classe j1 de P1, puis a laclasse j2 de P2, . . ., puis a la classe js de Ps. Les classesde contenant plus dun individu, seront appelesgroupements stables.
Exemple #1 de groupements stables :
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
42/47
Exemple #1 de groupements stables :
P11 2 3
1 18 25 12 55P2 2 6 30 0 36
3 2 1 35 38
26 56 47 129Effectifs des groupements stables
Exemple #2 de groupements stables :
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
43/47
Exemple #2 de groupements stables :
1 2 3 4 5 6
Partition 1 127 188 229 245 151 60Partition 2 232 182 213 149 114 110Partition 3 44 198 325 99 130 204
Effectifs de 3 partitions en 6 classes
36 = 216 groupements possibles.
Gr. 1 a 10 168 118 114 107 88 83 78 26 22 16Gr. 11 a 20 15 14 12 12 12 11 10 7 7 7
Gr. 21 a 30 6 6 4 4 4 4 3 3 3 3Gr. 31 a 40 3 3 3 2 2 2 2 2 2 2Gr. 41 a 50 1 1 1 1 1 1 1 1 1 1
50 groupements stables non vides ranges par effectifs
decroissants
Complexite de lalgorithme
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
44/47
Complexite de l algorithme
1. Initialisation les centres initiaux (ou noyaux) cj(0) desclasses sont choisis aleatoirement.
2. Affectation de chaque objet a letape i, lobjet x estaffecte a la classe Cj si :
d(x, cj(i)) = min1jk
d(x, cj(i))
3. Mise a jour le centre de chaque classe est recalcule.
4. Test de convergence arret si aucun centre nest change.
Complexite en 0(npkT), avec n= nbre dobjets, p = nbre de
variables, k = nbre de classes et T = nbre diterations.
Exemple :
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
45/47
Exemple :
Soient six points du plan ayant pour coordonnees :
abscisse (x) ordonnee (y)P1 -2 2
P2 -2 -1
P3 0 -1
P4 2 2P5 -2 3
P6 3 0
Calcul de la partition obtenue en prenant pour centres
initiaux : c1(1,1) et c2(2, 3). Calcul de la partition obtenue en prenant pour centres
initiaux : c1(1, 2) et c2(1, 1).
Inerties intra-classes des deux partitions obtenues.
Formes fortes (ou groupements stables).
Programme en R
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
46/47
g
x c(-2,-2,0,2,-2,3)
y c(2, -1,-1,2,3,0)
don matrix(data=c(x,y), nr=6, nc=2)
ctre c(-1,2,-1,3)
ctre1 matrix(data=ctre, nr=2, nc=2)
cl1 kmeans(don,ctre1,algorithm=Lloyd)
plot(don, col = cl1$cluster)
points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Exercice
http://find/http://goback/ -
8/8/2019 2009 - Mthodes de classification - k-means
47/47
Soit un ensemble E de 5 objets caracterises par des scoresreels : E = {1, 2, 18, 20, 31}. On suppose que chacun des
objets est muni du poids 1/5, et que les distances entre cesobjets sont mesures par la distance euclidienne usuelle. Oncherche une partition en 3 classes de cet ensemble E. On va
appliquer la methode des k-means en prenant comme centresdes classes les centres de gravite.1) Partition determinee par la methode des k-means si lon
prend pour centres initiaux les objets 1, 2, 18.2) Partition determinee par la methode des k-means si les
centres initiaux sont 18, 20, 31.
3) Partition determinee par la methode des k-means si lapartition initiale est {{1}, {2, 18}, {20, 31}}.4) Liste des formes fortes.5) Inerties intra-classe des partitions obtenues en 1) et 2) et
determination de la meilleure partition.
http://find/http://goback/