You are on page 1of 40

1

CHAPITRE 3: APPRENTISSAGE
NON SUPERVISÉ

TECHNIQUES DE
CLUSTERING

3 LIRI Dr. Imen Khamassi


Zied Elouedi 2008/2009 1
Plan
2

 Introduction
 Types de variables
 Principales approches du clustering
 Méthodes par partitionnement
 Méthodes hiérarchiques

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Introduction
3

Classification non supervisée: Classes non prédéfinies a priori

Regroupement des objets en des clusters formant les classes.

Cluster 1

Cluster 3

Cluster 2

Maximiser la similarité au sein du même groupe (intra-cluster).


Minimiser la similarité au sein des groupes différents (inter-cluster).
2008/2009
Zied Elouedi
Zied Elouedi 2008/2009
Applications
4

Segmentation
des marchés
 Marketing Divers
domaines

 Reconnaissance des formes


Gènes
semblables
 Bio-informatique
Textes
proches
 Textmining
Groupes d’accès
similaires
 Web mining
.
Zied Elouedi
Zied Elouedi .
2008/2009
2008/2009
Proximité
5

 Mesure de similarité
Plus la mesure est grande, plus les éléments sont similaires

 Mesure de dissimilarité

Plus la mesure est faible, plus les éléments sont similaires

Ces mesures sont souvent exprimées en fonction


d’une distance qui change selon la nature
des variables (continues, catégoriques,…)

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Structure de données
6
x ... x ... x 
 Matrice de données  11 1j 1n 
 ... ... ... ... ... 
x ... x ... x 
 i1 ij in 
 ... ... ... ... ... 
 
 xm1 ... x
mj
... x 
mn 

 0 
 Matrice de similarité  D(2,1) 0 
 
 D(3,1 ) D (3, 2 ) 0 
 
 : : : 
 D ( m ,1) D ( m , 2 ) ... ... 0 

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Types de variables
7

 Numériques (Poids, Taille, …)

 Binaires (Service militaire, Option, …)

 Catégoriques (Couleur, Situation familiale, …)

 Ordinales (Résultat d’un concours, Qualité d’un produit, …)

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Variables numériques continues
8

 Distance Euclidienne
D(X, Y) = [(x1-y1)2 + (x2-y2)2+…+(xn-yn)2]1/2

 Distance de Minkowski
D(X, Y) = [(x1-y1)q + (x2-y2)q+…+(xn-yn)q]1/q q>0

Généralisation de la distance Euclidienne

 Distance de Manhatten
D(X, Y) = |x1-y1| + |x2-y2|+…+|xn-yn|

Cas particulier de la distance Minkowski (q = 1)

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple
Age Nombre Enfants Salaire
P1 40 2 1000
P2 75 4 600
P3 50 3 1100
P4 35 1 550
 Distance Euclidienne
D(P1, P2) = ((-35)2 + (-2)2 + (400)2)1/2 = 401.53
D(P1, P3) = ((-10)2 + (-1)2 + (-100)2)1/2 = 100.5
D(P1, P4) = ((5)2 + (1)2 + (450)2)1/2 = 450.03
P1 est plus proche de P3 que de P2 et P4
 Distance de Manhatten On peut aussi normaliser
D(P1, P2) = |-35| + |-2| + |400| = 437
D(P1, P3) = |-10| + |-1| + |-100| = 111
D(P1, P4) = |5| + |1| + |450| = 456

P1 est plus proche de P32008/2009


que de P2 et P4 9
Zied Elouedi
Zied Elouedi 2008/2009
Normalisation
10

xi  min xi
x' i 
max xi  min xi
Age Nombre Enfants Salaire Age Nombre Enfants Salaire
P1 40 2 1000 P1 0.125 0.333 0.818
P2 75 4 600 P2 1 1 0.09
P3 50 3 1100 P3 0.375 0.666 1
P4 35 1 550 P4 0 0 0

 Distance Euclidienne
D(P1, P2) = ((-0.875)2 + (-0.667)2 + (0.728)2)1/2 = 1.319
D(P1, P3) = ((-0.25)2 + (-0.333)2 + (-0.182)2)1/2 = 0.454
D(P1, P4) = ((0.125)2 + (0.333)2 + (0.818)2)1/2 = 0.891
P1 est plus proche de P3 que de P2 et P4
 Distance de Manhatten
D(P1, P2) = |-0.875| + |-0.667| + |0.728| = 2.27
D(P1, P3) = |-0.25| + |-0.333| + |-0.182| = 0.765
D(P1, P4) = |0.125| + |0.333| + |0.818| = 1.276
Zied Elouedi
Zied Elouedi P1 est plus proche2008/2009
de P3 que de P2 et P4
2008/2009
Variables binaires
 Table de contingence
Oj
1 0 
1 a b a b
a = nombre de positions
Oi où i est à 1 et j est à 1
0 c d cd
 ac bd p

Oi = (1, 0, 1, 1, 1) Oj = (1, 0, 1, 0, 0) a=2, b=2, c=0, d=1


 Coefficient de Russel et Rao (Proportion
a
d’occurrences positives):
D(Oi, Oj )  = 2/5
abcd
 Coefficient de Jaccard (Poids des occurrences fausses est neutralisé):
a
D(Oi, Oj ) 
abc
= 1/2
 Coefficient de Dice (Poids double pour les occurrences vraies):
2a
D(Oi, Oj )  = 2/3
Zied Elouedi
Zied Elouedi 2a  b2008/2009
c
2008/2009 11
Variables catégoriques
 Généralisation des variables binaires.
• Méthode 1: Utiliser un grand nombre de variables binaires.
Créer une variable binaire pour chaque modalité
(ex: variable rouge qui prend les valeurs vraie ou fausse)

 Méthode 2: Matching simple


m: Nombre de ressemblances,
p: Nombre total de variables
p
D(O ,O )  p
i j
 m

Zied Elouedi 2008/2009 12


Zied Elouedi 2008/2009
Variables ordinales
 Une variable ordinale peut être discrète ou continue.
 L’ordre peut être important.
 L’idée est:
 Remplacer xif par son rang rif  {1,…, Mf}
 Remplacer le rang de chaque variable par une valeur dans
[0, 1] en remplaçant la variable n dans l’objet Oi par
r if  1
z if 
M  1 f

 Utiliser une distance pour calculer la similarité.

Zied Elouedi 2008/2009 13


Zied Elouedi 2008/2009
Variables ordinales
14

Remplacer xif par son rang rif  {1,…, Mf}


Age Nombre Enfants Salaire Age Nombre Enfants Salaire
P1 40 2 1000 P1 2 2 3
P2 75 4 600 P2 4 4 2
P3 50 3 1100 P3 3 3 4
P4 35 1 550 P4 1 1 1

Age Nombre Enfants Salaire


rif 1 P1 0,33 0,33 0,75
zif  P2 1,00 1,00 0,25
M 1 f P3 0,67 0,67 1,00
P4 0,00 0,00 0,00

 Puis calculer la Distance Euclidienne

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Principales approches
15

Cluster

Méthodes par Méthodes


partitionnement hiérarchiques

Diviser un ensemble de Création d’une décomposition


N objets en k clusters hiérarchique des objets
selon certains critères

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Méthodes par partitionnement
16

 Construire à partir des objets de l’ensemble d’apprentissage


k clusters.

 Trouver une partition en k clusters en optimisant la


fonction de similarité (critère de partitionnment).

 Approches:

 Global optimal: Considérer toutes les k partitions.


 k-means: Chaque cluster est représenté par son centre.
 k-medoïds: Chaque cluster est représenté par un de ses objets.
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
Méthode k-moyenne (k-means)
17

K-moyenne (Forgy 1965, MacQueen 1967)


 Choisir le nombre de clusters et une mesure de distance.
 Construire une partition aléatoire comportant k clusters non
vides.
 Répéter

 Calculer le centre de chaque cluster de la partition.

 Assigner chaque objet au cluster dont le centre est plus proche


(distance).

Jusqu’à ce que la partition soit stable.


Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
Exemple: k-moyenne
18

T={2, 4, 6, 7, 8, 11, 13}


D = distance Euclidienne
 Choisir 3 clusters au hasard à partir de T:
C1={2}, M1=2,
C2={4}, M2=4,
C3={6}, M3=6
 Les autres objets de T sont affectés au cluster C3 puisque D(O,M3)
est minimale.
C1 C2 C3
 0n aura:
6
C1={2}, M1=2, 2 4 7 8
C2={4}, M2=4, 11 13
C3={6, 7, 8, 11, 13}, M3= 45/5 = 9
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
Exemple: k-moyenne
19

 D(6,M2)<D(6,M3)
6 passe au cluster C2: les autres objets restent dans
leurs clusters.
 0n aura:
C1={2}, M1=2,
C2={4, 6}, M2= 10/2 = 5
C3={7, 8, 11, 13}, M3= 39/4 = 9.75
C1 C2 C3

7 8
2 4
6 11 13

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple: k-moyenne
20

 D(7,M2)<D(7,M3)
7 passe au cluster C2: les autres objets restent dans
leurs clusters.
 0n aura:
C1={2}, M1=2,
C2={4, 6, 7}, M2=17/3 = 5.66,
C3={8, 11, 13}, M3= 32/3 = 10.66
C1 C2 C3
8
2 4
7
6 11 13

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple: k-moyenne
21

 D(8,M2)<D(8,M3)
8 passe au cluster C2: les autres objets restent dans
leurs clusters.
 0n aura:
C1={2}, M1=2,
C2={4, 6, 7, 8}, M2=25/4 = 6.25,
C3={11, 13}, M3= 24/2 = 12
C1 C2 C3
4
2 11
7 8
6 13

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple: k-moyenne
22

 D(4,M1)<D(4,M2)
4 passe au cluster C1: les autres objets restent dans
leurs clusters.
 0n aura:
C1={2, 4}, M1=3,
C2={6, 7, 8}, M2=21/3 = 7,
C3={11, 13}, M3= 24/2 = 12
C1 C2 C3

2 11
7 8
4 6 13

Zied Elouedi
La partition est stable.
2008/2009
2008/2009
Zied Elouedi
Attention !!
 K-moyenne est appelée aussi méthode des centres mobiles.
 Si on a plusieurs attributs
Nécessité de normaliser les échelles des différents attributs.

 Choix du nombre de clusters k dépend de l’utilisateur.


 Résultat dépendant des clusters initiaux choisis.
Faire plusieurs expérimentations avec différents clusters initiaux
et choisir la meilleure configuration.
 Plusieurs variantes de K-moyenne:
 Sélection des k clusters initiaux.
 Mesure de la distance utilisée.
 Calcul de la moyenne des clusters.
Zied Elouedi 2008/2009
2008/2009 23
Zied Elouedi
K-modes
K-modes (Huang 1997)
 Traitement des données catégoriques.
 Au lieu de la moyenne, on va utiliser le mode.

 Utilistaion plutôt du simple matching.

 Utilistation d’une méthode basée sur les fréquences pour


mettre à jour les modes.

Zied Elouedi 2008/2009 24


Zied Elouedi 2008/2009
Exemple: k-modes
25

K=3, Department Revenu Catégorie

Initialistaion O1 Finance Elevé A

C1={O1}; C2={O2}; and C3={O3} O2 Finance Faible B


O3 Marketing Moyen C

Les trois clusters sont O4 Comptabilité Moyen C


O5 Marketing Faible B
C1=(Finance, Elévé, A); O6 Finance Elevé A

C2=(Finance, Faible, B); O7 Comptabilité Faible B

C3=(Marketing, Moyen , C). O8 Marketing Moyen C

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple: k-modes
26
c’est le simple
matching

 Pour chaque objet, calculer d(Oi,Cl), l=1,2,3


O4 est affecté à C3 puisque d(O4,C3) est minimale.
O5 est affecté à C2 puisque d(O5,C2) est minimale.

.
.
C1 C2 C3
O1 O2
O3 O8
O5 O7
O6 O4
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
Exemple: k-modes
27

 Mise à jour des modes


C1=(Finance, ELévé, A);
Choix arbitraire

C2=(Finance, Faible, B) ou C2=(Marketing, Faible, B) ou C2=(Comptabilité Faible, B);


C3=(Marketing, Moyen, C).

Recalcul des dissimilarités des objets Les objets n’ont pas changé de clusters.

La partition est stable.


C1 C2 C3
O1 O2
O3 O8
O5 O7
Zied Elouedi O6 2008/2009 O4
Zied Elouedi 2008/2009
K-prototypes
28

K-prototypes (Huang 1997)


 Traitement des données mixtes (catégoriques et
numériques).
 Un vecteur représentatif (prototype) pour un cluster
Ci= {Ci1, Ci2,…Cim); m: nombre d’attributs.
Moyenne si l’attribut est numérique
Cij=
La plus grande fréquence si l’attribut est catégorique

 La distance des données mixtes


dist = .distN + (1-).distC
distN : distance Euclidienne
distC: Simple matching
: cœfficient de pondération
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
Clustering incrémental
29

 Les bases de données sont dynamiques:

L’ensemble des objets


L’ensemble des attributs
Evoluent dans le temps

« Incremental Clustering » pour résoudre le problème


de la maintenance des clusters.

☺Réduction du coût de l’incorporation de la nouvelle


information
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
K-means Incrémentale (CBIC) (1)
G. Serran, A. Campan. Core Based Incremental Clustering. 2005
30

L’ensemble des attributs est dynamique et évolue dans le temps

La partition initiale : résultat de K-means


standard ou CBIC avant l’extension.

A l’arrivée d’un nouvel attribut.

Recalculer les clusters après extension


partant de cette partition initiale.
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
K-means Incrémentale (CBIC) (2)
31

 m attributs  m+1 attributs


 Oi  Oi’, 1 ≤ i ≤ n
 Kj  Kj’, 1 ≤ j ≤ p

Dans quelles conditions un objet Oi’ (après extension)


est correctement classé dans son cluster courant Kj’?

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Définition
32

 CORE = { Corej, 1  j  p }
 Corej : l’ensemble des objets du cluster Kj’ qui sont plus
proches de son centre que des autres centres des
différents clusters (après extension).

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
K-means Incrémentale (CBIC) (3)
33

Partition Initiale
les objets sont
correctement classés

 Distances minimales
A vérifier après extension
Pour chaque objet, la valeur du nouvel attribut
(m+1)
Supérieure ou égale à celle du centre de son
cluster  l’objet est correctement classé ,
appartient au core de ce cluster.
Sinon comparer ses différentes distances par
rapport aux différents centres de tous les
clusters.
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
K-means Incrémentale (CBIC) (4)
Algorithme (1/2)
34

 Entrées:
n objets avec m attributs
n objets avec m+1 attributs
dE la distance euclidienne
p nombre des clusters à former
F la partition antérieure (initiale)
Nombre maximum d’itérations

 Sorties:
F’ la partition des n objets après extension (m+1 attributs)

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
K-means Incrémentale (CBIC) (5)
Algorithme (2/2)
35

Début
pour chaque cluster Fj de F
calculer Corej
Fj’  Corej
mettre à jour les centres fj’ des cores
fin pour
tant que F’ change et max itérations n’est pas atteint faire
pour tout Fj’ faire
Fj’  oi’, les plus proches
fin pour
pour tout Fj’ faire
calculer le centre
fin pour
fin tant que
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009
Exemple (1)
36

 K-means standard (K = 2)  Age Nombre Enfants Salaire


 Modes initiaux : O1 40 2 1000

O1 et O2
O2 75 4 600
O3 50 3 1100
 Partition initiale (CBIC):
O4 35 1 550
F1 = (O1, O3, O4); f1 = (41,67; 2)

F2 = (O2) ; f2 = (75; 4)
 Avec l’arrivée du nouvel attribut :

f1’=(41,67; 2; 883,34)

f2’=(75; 4; 600)

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple (2)
37

 Comparer les valeurs de cet attribut pour définir les cores :

Pour F1:
1000 883,34
Core1 = (O1, O3)
1100  883,34
Par contre 550  883,34
Pour F2:
Core2 = (O2)
600  600

F1’ = Core1 = (O1, O3) ; f1’ = (45; 2,5; 1050)


F2’ = Core2 = (O2) ; f2’ = (75; 4; 600)

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Exemple (3)
38

 Calculer les distances de chaque objet des deux centres f1’ et f2’
pour les affecter :
O1, O3  F1’ f1’ = (45; 2,5; 1050)
O2, O4  F2’ f2’ = (55; 2,5; 575)

La partition est stable F’ ne change plus

Il vaut mieux normaliser

Zied Elouedi 2008/2009


Zied Elouedi 2008/2009
Conclusion
39

 Utilisables dans plusieurs applications.

 Possibilité de vérification des résultats de clustering par


d’autres techniques de classification supervisée.

 Plusieurs extensions de k-means et k-modes:


 Soft k-means.
 Fuzzy k-means.

 Belief k-modes.
.
.
Zied Elouedi
Zied Elouedi
. 2008/2009
2008/2009
Bibliographie
40

 V. Faber “Clustering and the continuous k-means algorithm”, Los Almos


Science, 22, 1994

 A. K. Jain, R. C. Dubes, “Algorithms for clustering data”, Englewood Cliffs,


NJ: Prentice-Hall, 1988.

 A. K. Jain, M.N. Murty, P. J. Flynn, “Data clustering: A review”, ACM


Computing Surveys, Vol 31, N°3, 1989.

 G. W. Milligan, M. C. Cooper “An examination of procedures for


determining the number of clusters in a data set”, Psychometrika, Vol 50
1985.

 N. R. Pal, J. C. Bezdek, ”On cluster validity for the fuzzy c-means model”,
IEEE Transactions on Fuzzy Systems 3, 370-379, 1995.

 H. Spath “Cluster analysis algorithms for data reduction and classification”,


Ellis Horwood, Upper, Sadder River, NJ, 1980.
Zied Elouedi 2008/2009
Zied Elouedi 2008/2009

You might also like