Вы находитесь на странице: 1из 47

Méthodes de classification :

k-means

Patrice Bertrand1
1 Université Paris-Dauphine

M1 Miage & D - AFD - 2009 / 2010


Plan

1 Introduction

2 Structures classificatoires

3 Les données

4 Méthode des k-means


Plan

1 Introduction

2 Structures classificatoires

3 Les données

4 Méthode des k-means


Plan

1 Introduction

2 Structures classificatoires

3 Les données

4 Méthode des k-means


Plan

1 Introduction

2 Structures classificatoires

3 Les données

4 Méthode des k-means


Introduction
• Classification automatique : ensemble de méthodes ayant
pour objectif de découvrir des groupes homogènes,
appelées ”classes”, dans les données.
• Capacité basique des êtres vivants : grouper des objets
similaires pour produire une classification. ”Nommer” et
”Classer” sont des activités essentiellement similaires.
• Exemple 1 : Documents décrits par leurs mots-clés. On
cherche les classes de mots-clés telles que les mots d’une
classe apparaissent dans le plus possible de listes de
mots-clés communes.
• Exemple 2 (Marketing) : Pour effectuer un test de marché
dans un pays, on classe les nombreuses villes
envisageables sur la base de leur taille, du revenu de leurs
habitants, etc ... On effectue ensuite le test dans une ville
de chaque classe obtenue.
• Méthodes de plus en plus utilisées en Data Mining : de
janvier 2006 à début avril 2007, il y a eu 222 267 brevets
industriels déposés aux Etats Unis, dont 500 se servant de
la classification.

• Plusieurs explications :

• Flux croissant des données,


• Augmentation de la puissance des ordinateurs,
• Diffusion croissante des logiciels dédiés au traitement
statistique des données,
• Besoin de simplifier les jeux de données de taille
importante.
Structures classificatoires

Recouvrement
Un ensemble R = {E1 , . . . , Ekm } de parties Ek de E non vides,
est appelé recouvrement de E si la réunion des éléments de R
est égale à E, et si aucune partie Ek n’est incluse dans une
autre partie Ek 0 :
km
[
Ek = E et Ek 6⊆ Ek 0 si k 6= k 0 .
k=1

Les éléments de R sont appelés des classes.


E : ensemble des objets à classer.

Partition
Un ensemble P = {E1 , . . . , Ekm } de parties Ek non vides de E,
est appelé partition de E si la réunion des éléments de P est
égale à E, et si aucun élément de P n’intersecte un autre
élément de P :
km
[
Ek = E et Ek ∩ Ek 0 = ∅ si k 6= k 0 .
k=1

Les éléments de P sont appelés des classes.


E : ensemble des objets à classer.

Hiérarchie
Un ensemble H = {E1 , . . . , Ekm } de parties Ek non vides de E,
est appelé hiérarchie sur E si H contient E et ses singletons, et
si deux parties sont dans H, alors soit elles sont disjointes, soit
elles sont incluses l’une dans l’autre :

1) E ∈ H ;
2) Pour tout x ∈ E, {x} ∈ H ;
3) Pour tout Ek , Ek 0 ∈ H,

Ek ∩ Ek 0 = ∅ ou Ek ⊆ Ek 0 ou Ek 0 ⊆ Ek .

Les éléments de H sont appelés des classes.


Les données
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 ...

Différents types de variables :


• Qualitative
• binaire
• nominale
• qualitative ordinale
• Quantitative
Deuxième type : tableau ”individus x individus”.

distances A B C D E
A 0
B 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 :


• dissimilarités
• distances
• distances euclidiennes (distance du Khi-deux)

• Mesures de la ressemblance entre 2 objets :


• coefficients de similarité
• coefficient de corrélation, covariance
• coefficients de concordance
Soit d une application de E × E dans R+ :
(x, y) ∈ E × E 7→ 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 (inégalité
triangulaire)
(5) d(x, z) ≤ max{d(x, y ), d(y , z)} pour tout x, y , z ∈ E
(inégalité ultramétrique)

dissimilarité : (1) + (3),


indice de distance : (2) + (3),
distance : (2) + (3) + (4),
distance ultramétrique : (2) + (3) + (5).
Quelques distances usuelles

d : (x, y) ∈ E × E 7→ d(x, y ) ∈ R+

• Distance usuelle dans le plan :


q
d(x, y) = (x1 − y1 )2 + (x2 − y2 )2

avec x = (x1 , x2 )t et y = (y1 , y2 )t .

• Distance usuelle dans l’espace euclidien de dimension p :


v
u p
uX
d(x, y) = t (xi − yi )2
i=1

avec x = (x1 , . . . , xp )t et y = (y1 , . . . , yp )t .


Quelques distances particulières

• Distance l∞ : d∞ (x, y) = max | xi − yi |.


i=1,...,p

p
X
• Distance l1 : d1 (x, y) = | xi − yi |.
i=1

• Distance dP associée à une partition P = {E1 , . . . , Ek } :

- dP (x, y ) = 1 si x et y ne sont pas classés ensemble par P,

- dP (x, y ) = 0 si x = y,

- dP (x, y ) = α dans les autres cas (0 < α < 1).


on vérifie que dP est toujours une ultramétrique.
Partitionnement
• Objectif : construction d’une partition d’un ensemble
d’objets dont on connaı̂t les distances deux à deux.
• Partition en k classes d’un ensemble E d’objets (rappel) :
P = {E1 , . . . , Ek }.
Ej 6= ∅, pour tout j,
k
[
Ej = E,
j=1

Ej ∩ Ej 0 = ∅ si j 6= j 0 .
• Critère : on recherche des classes les mieux séparées et
les plus homogènes possibles.
• Complexité combinatoire : la taille de l’ensemble des
partitions en k classes est de l’ordre de k n /k ! :
N(5, 2) = 15 ; N(10, 3) = 9330 ;
N(50, 4) = 5.3 × 1028 ; N(100, 5) = 6.6 × 1067 .
Méthodes de type k -means
• Traitement rapide d’ensembles de taille élevée ;

• Optimisation locale d’un critère de type inertie ;

• Hypothèse usuelle : les individus peuvent être représentés


par des points de Rp muni d’une distance euclidienne ;
• Algorithme de base : ”méthode des centres mobiles”
(Forgy, 1965).
• Diverses variantes :
• k -means (Mac Queen, 1967)
• Nuées dynamiques (Diday, 1971)
Inerties
Partition : P = {E1 , . . . , Ek }

On note g le centre de gravité de E :


X
g= p(x)x,
x∈E

où p(x) désigne le poids de l’objet x.

On note gj le centre de gravité de la j ème classe Ej :


X p(x)
gj = x,
pj
x∈Ej
X
où pj = p(x) désigne le poids de la classe Ej .
x∈Ej

X p(x)
Inertie de la j ème classe : Ij = d 2 (x, gj ).
pj
x∈Ej
Décomposition de l’inertie totale
Inertie intra-classe :
X X X p(x)
IW = p j Ij = pj d 2 (x, gj )
pj
j j x∈Ej
XX
IW = p(x)d 2 (x, gj )
j x∈Ej

X
Inertie inter-classe : IB = pj d 2 (gj , g)
j

Décomposition :
IT = IB + IW ,
X
où IT est l’inertie totale : IT = p(x)d 2 (x, g).
x∈E
Algorithme des centres mobiles

(1) Choisir arbitrairement k centres initiaux dans Rp :

c1 , . . . , ck

(2) Affectation : pour chaque centre cj , définir la classe Ej


comme étant l’ensemble des éléments de E qui sont plus
proches de cj que de tout autre centre cj 0 avec j 6= j 0 .

(3) Représentation : pour tout j ∈ {1, . . . , k }, définir cj comme


étant le centre de gravité de Ej :
X p(x)
cj = x.
pj
x∈Ej

(4) Répéter (2) et (3) tant que E1 , . . . , Ek changent.


Remarques

• Chaque solution trouvée est un optimum local pour le


critère qui consiste à minimiser l’inertie intra-classe IW :
XX
IW = p(x)d 2 (x, gj )
j x∈Ej

• En pratique, les logiciels arrêtent algorithme si :

a) le critère IW (inertie intra-classe) cesse de décroı̂tre de


façon sensible ;
b) un nombre maximal d’itérations (fixé a priori) a été atteint.
Exemple de données
Initialisation
Affectation de l’objet •
Étape d’affectation
Étape de représentation (1/2)
Étape de représentation (2/2)
Étape d’affectation
Mise à jour des centres
Étape de représentation
Étape d’affectation
Mise à jour des centres
Étape de représentation
Convergence des k-means (1)
Étape m : on affecte les points x aux centres cj (m) qui sont les
c.d.g. des classes à l’étape m − 1.
X X
v (m) = p(x)d 2 (x, cj (m))
j x∈Ej (m)

inertie intra-classe à l’étape m :


X X
IW (m) = p(x)d 2 (x, gj (m))
j x∈Ej (m)

D’après le théorème de Huyghens,


X
v (m) = IW (m) + pj d 2 (gj (m), cj (m))
j

Donc,
v (m) ≥ IW (m)
Convergence des k-means (2)
Étape m + 1 : on affecte les points aux centres les plus proches.
X X
v (m + 1) = p(x)d 2 (x, cj (m + 1))
j x∈Ej (m+1)

avec cj (m + 1) = gj (m).
inertie intra-classe à l’itération m (rappel) :
X X
IW (m) = p(x)d 2 (x, gj (m))
j x∈Ej (m)

Il est clair que


IW (m) ≥ v (m + 1)
Finalement,
v (m) ≥ IW (m) ≥ v (m + 1)
Variantes

• Variante de Mac Queen, 1967.


On ne réaffecte pas tous les objets avant de mettre à jour
les centres cj : chaque réaffectation d’un objet entraı̂ne la
mise à jour de tous les centres cj .
Cette méthode s’appelle la méthode des k-means. Par
abus, on utilise aussi très fréquemment ce terme pour
désigner la méthode des centres mobiles.

• Extension par les ”nuées dynamiques” de Diday, 1971.


Les centres cj ne sont pas nécessairement les centres de
gravité des classes Ej , mais peuvent être un ensemble de
points de Ej , la droite de régression du nuage de points
formé par Ej , etc ...
Limitations des k -means

• L’utilisateur doit choisir le nombre k de classes et il n’y a


pas de critère unique pour déterminer le meilleur nombre
de classes ;

• Lorsque les classes ne sont pas bien séparées, les


k-means tendent à trouver uniquement des classes
”sphériques”, de même effectif et de même volume.

• Plusieurs initialisations peuvent conduire à plusieurs


partitions très différentes dans leur composition, mais très
proches et quasi-optimales au sens du critère IW .
Choix du nombre de classes et forme
des classes
Formes fortes ou groupements stables

• Les partitions obtenues dépendent des centres cj initiaux


choisis.

• formes fortes ou groupements stables :


ne retenir que les ensembles d’objets qui ont été classés
ensemble par chaque partition obtenue.

Soit s partititions P1 , . . . , Ps issues de s initialisations.

Partition produit Π : Chaque classe de Π est indexée par


un s-uplet (j1 , j2 , . . . , js ) et contient tous les individus ayant
appartenu simultanément à la classe j1 de P1 , puis à la
classe j2 de P2 , . . ., puis à la classe js de Ps . Les classes
de Π contenant plus d’un individu, seront appelés
”groupements stables”.
Exemple #1 de groupements stables :

P1
1 2 3
1 18 25 12 55
P2 2 6 30 0 36
3 2 1 35 38
26 56 47 129
Effectifs des groupements stables
Exemple #2 de groupements stables :

1 2 3 4 5 6
Partition 1 127 188 229 245 151 60
Partition 2 232 182 213 149 114 110
Partition 3 44 198 325 99 130 204

Effectifs de 3 partitions en 6 classes


36 = 216 groupements possibles.

Gr. 1 à 10 168 118 114 107 88 83 78 26 22 16


Gr. 11 à 20 15 14 12 12 12 11 10 7 7 7
Gr. 21 à 30 6 6 4 4 4 4 3 3 3 3
Gr. 31 à 40 3 3 3 2 2 2 2 2 2 2
Gr. 41 à 50 1 1 1 1 1 1 1 1 1 1
50 groupements stables non vides rangés par effectifs
décroissants
Complexité de l’algorithme
1. Initialisation — les centres initiaux (ou noyaux) cj (0) des
classes sont choisis aléatoirement.
2. Affectation de chaque objet — à l’étape i, l’objet x est
affecté à la classe Cj ? si :

d(x, cj ? (i)) = min d(x, cj (i))


1≤j≤k

3. Mise à jour — le centre de chaque classe est recalculé.


4. Test de convergence — arrêt si aucun centre n’est changé.
Complexité en 0(npkT ), avec n = nbre d’objets, p = nbre de
variables, k = nbre de classes et T = nbre d’itérations.
Exemple :
Soient six points du plan ayant pour coordonnées :

abscisse (x) ordonnée (y)


P1 -2 2
P2 -2 -1
P3 0 -1
P4 2 2
P5 -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

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
Soit un ensemble E de 5 objets caractérisés par des scores
réels : E = {1, 2, 18, 20, 31}. On suppose que chacun des
objets est muni du poids 1/5, et que les distances entre ces
objets sont mesurés par la distance euclidienne usuelle. On
cherche une partition en 3 classes de cet ensemble E. On va
appliquer la méthode des k-means en prenant comme centres
des classes les centres de gravité.
1) Partition déterminée par la méthode des k -means si l’on
prend pour centres initiaux les objets 1, 2, 18.
2) Partition déterminée par la méthode des k -means si les
centres initiaux sont 18, 20, 31.
3) Partition déterminée par la méthode des k -means si la
partition initiale est {{1}, {2, 18}, {20, 31}}.
4) Liste des formes fortes.
5) Inerties intra-classe des partitions obtenues en 1) et 2) et
détermination de la meilleure partition.

Вам также может понравиться