Académique Documents
Professionnel Documents
Culture Documents
(clusterization)
Christophe Genolini
10 novembre 2010
1 Introduction 1
2 Distances et similarits 2
2.1 Variables continues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Variables binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Variables nominales non binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Combinaison de plusieurs types de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Distance entre groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Partitionnement 5
3.1 Classification hirarchique ascendante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 k-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Modles de mlange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
A Codes R 10
A.1 Classification hirarchique ascendante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
A.2 k means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
A.3 Modle de mlange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1 Introduction
Objectif. Partitionner, cest dcouper des donnes en sous-groupes homognes. Cela permet, lintrieur dune
population, de dfinir des groupes. Par exemple, on peut identifier le type de maladie dun patient parce que
diffrents type de symptmes ont t identifis comme apparaissant souvent ensemble. On les a donc regroup
sous un mme nom, celui dune maladie.
Du point de vue statistique, partitionner permet de rsumer un grand nombre de variables en une seule (qui sera
[groupe]) que lon peut ensuite inclure dans une rgression : au lieu de rentrer [symptome1], [symptome2], ...,
[symptomeN] dans la rgression (et que rien ne soit significatif pour cause de colinarit), il suffit de rentrer
[groupe].
Exemple. Un patient a :
1
Mthode sous-jacente : on note les symptmes de nombreux patients puis on cherche des grandes familles de
symptmes. Chaque grande famille est probablement une maladie.
Pour regrouper les individus qui se ressemblent, plusieurs mthodes sont possibles.
Certaines se basent sur la proximit entre les individus.
Dautres utilisent la vraisemblance.
2 Distances et similarits
Pour mesurer la proximit entre deux individus, on utilise deux types de fonctions : les distances et les similarits.
Une distance est une fonction qui prend pour argument deux individus et qui renvoie une valeur leve si les
deux individus sont dissemblables, petite si les individus se ressemblent.
Une similarit est une fonction qui prend pour argument deux individus et qui renvoie une valeur leve si
les deux individus sont semblables, petite si les individus sont dissemblables. En gnral, les similarits sont
valeur dans [0,1], 0 signifiant une disconcordance parfaite et 1 une concordance parfaite.
Mathmatiquement, on peut assez facilement passer de lune lautre. Dans ce cours, on utilisera donc soit lune,
soit lautre, selon ce qui est le plus intuitif dfinir.
1 ,I2 )
Beaucoup dautres sont possibles comme 1correlation(I
2 . noter, la Minkowski est une gnralisation des trois
autres ; k = 2 donne lEuclidienne, k = 1 donne la Manhattan et k = + inf donne le maximum.
Exemple
On obtient :
Problme : dans lexemple prcdent, toutes les variables sont mesures dans la mme unit. Quand a nest pas
le cas, certaines variables peuvent avoir un poids plus important que dautres. Pire, un simple changement dunit
peut tout changer :
Exemple :
2
Id poids taille (cm) Id poids taille (m)
I1 80 180 I1 80 1,80
I2 81 180 I2 81 1,80
I3 80 170 I3 80 1,70
DistEucl (I1, I2) = 12 + 02 = 1 DistEucl (I1, I2) = 12 + 02 = 1
DistEucl (I1, I3) = 02 + 102 = 10 DistEucl (I1, I3) = 02 + 0.12 = 0.1
Dans notre exemple, on obtient DistEuclNorm (I1, I2) = 1 et DistEuclNorm (I1, I3) = 1.
Au final, une similitude possible entre I1 et I2 est la concordance simple : S CS (I1 , I2 ) = a+d
a+b+c+d
Exemple
Id B1 B2 B3 B4 B5 B6
I1 1 1 1 1 0 1
I2 1 0 1 0 0 1
Problme : dans le calcul prcdent, a et d on un rle symtrique. Or, a nest pas toujours justifi. Plus prci-
sment, avoir le mme caractre peut rendre deux individus proches alors que ne pas avoir le mme caractre na
pas de signification. Par exemple, si deux individus sont tous les deux membres du rotary club, ils sont proches. Si
deux individus sont tous les deux non membres du rotary club, ils ne sont pas spcialement proches. Ce genre de
caractristiques (tre membre dun club, parler lespranto, faire de la plonge sous-marine, tre sropositif) est dit
dissymtrique. Par opposition, les caractristiques comme le sexe, avoir le bac, tre propritaire de son logement
3
sont symtriques.
En utilisant la formule ci-dessus sur des variables dissymtriques, on trouve des rsultats tranges :
Or, aprs enqute, I1 est un ver de terre, I2 est un ptrodactyle, I3 est une fourmi et I4 est une abeille... Dire quun
ver de terre et un ptrodactyle sont plus proches quune abeille et une fourmi est assez trange.
Solution : on ne compte plus le fait de ne pas avoir un critre en commun. On obtient le coefficient de Jaccard
ou similitude de Jaccard : S J (I1 , I2 ) = a+b+c
a
. Appliqu nos individus :
S J (I1 , I2 ) = 0
0+1+0 =0
S J (I3 , I4 ) = 2
2+1+1 = 0, 50
Exemple :
On obtient : S (I1 , I2 ) = 1
3 = 0, 33.
Pour une variable nominale, S i (I1 , I2 ) vaut 1 si Vi (I1 ) et Vi (I2 ) sont gaux, 0 sinon.
Pour une variable continue, on considre la distance de Manhattan normalise par ltendue de la variable (nor-
malisation qui permet dviter les problmes dchelle vus au paragraphe 2.1) : |VEtendue(V i (I1 )Vi (I2 )|
i)
. Puis on transforme
cette distance en similarit : S i (I1 , I2 ) = 1 |Vi (I1 )Vi (I2 )|
Etendue(Vi )
Le coefficient de Gower est ensuite la moyenne des diffrentes similarits S i obtenues. Toutefois, certaines simila-
rits sont exclure. Cest le rle de wi :
wi .S i (I1 ,I2 )
P
Au final, la similarit de Gower est S G (I1 , I2 ) = i P
i wi
4
Exemple :
Au final, S G = 10,8+0<NA>+10+11+01
1+0+1+1+0 = 0, 6
De manire gnrale, les distances min et max sont sensibles aux valeurs aberrantes. La distance moyenne est
coteuse calculer. Au final, laquelle doit-on utiliser ? Ca dpend des domaines et des problmes...
Le groupe A est plus proche du groupe B si on considre la distance min (en bleu), mais plus proche de C si on
considre la distance max (en rouge)...
3 Partitionnement
Dans la suite, pour plus de simplicit et afin de pouvoir reprsenter graphiquement la construction des clusters,
nous considrons que le partitionnement se fait sur deux variables continues.
5
! ! ! ! !
0 0 3 4 4
Exemple : on considre les points A = ,B = ,C = ,D = et E = ; on utilise la distance
0 1, 2 2 1 0
euclidienne entre les points, la distance des centres entre les groupes.
6
Une fois que la classification est termine, on peut reprsenter graphiquement les diffrentes tapes : pour cela,
on crit les noms des deux premiers clusters qui fusionnent. On trace sur leur droite (ou leur verticale) un trait
ayant pour longueur la distance qui spare les deux clusters. Puis on joint les deux traits. Dans notre exemple, on a
initialement fusionn D et E, et ils taient une distance de 1. Puis A et B taient distance 1.2 ; C et DE taient
distance 1,8 ; AB et CDE taient distance 3,69. Larbre obtenu est :
Avantages et inconvnients
+ Pas besoin de choisir a priori le nombre de clusters ;
- Deux points spars ne pourront plus tre rassembls ;
- Il faudra quand mme choisir un nombre de clusters.
Hirarchique descendante : le processus de la hirarchique ascendante peut sinverser. On part dun seul clus-
ters que lon coupe en deux. Puis on coupe encore jusqu obtenir des individus. Cette mthode est toutefois plus
complexe mettre en uvre puisque choisir la meilleure manire de couper un clusters en deux est quelque chose
de complexe.
3.2 k-means
On commence par choisir le nombre de groupe. Puis on rpartit alatoirement tous les individus dans lun des
groupes. Commence alors une alternance de 2 phases : esprance et maximisation.
Esprance : le centre de gravit de chaque groupe est calcul
Maximisation : chaque individu est affect au groupe dont il est le plus proche
Lalgorithme sarrte quand plus aucun individu ne change de cluster.
Exemple :
7
1. : on veut partition- 2. Randomisation : 3. Esprance : Les 4. Maximisation :
ner ces 12 points en trois chaque individu est centres de gravit de Chaque individu est
clusters. alatoirement affect chaque groupe sont affect au groupe dont il
un des groupes. calculs. est le plus proche.
Problme : comment trouver le bon nombre de clusters ? Premier lment de rponse, le bon nombre de
clusters est une notion subjective, il nest pas vraiment dfini. Nanmoins, comme on a quand mme besoin de
race(VInter ) ng
choisir, on utilise un critre. Le meilleur du moment est Calinski & Harabatz : C(k) = TT race(V . .
Intra ) g1
Il se base sur la division de T race(VInter ) par T race(VIntra ). VInter reprsente la matrice des sparation entre clusters.
Si les clusters sont bien distincts les uns des autres, VInter prendra des valeurs leves. Si les clusters sont proches,
VInter prendra des valeurs faibles. rebourg, VIntra mesure la compacit des clusters. Si les clusters sont compacts,
VIntra prendra des valeurs leves. Si les clusters sont disperss, VInter prendra des valeurs faibles.
Au final, C(k) est grand quand les clusters sont compacts et bien spars ; C(k) est petit quand les clusters sont
disperss et mal spars.
1. Compacts et bien s- 2. Compacts et mal s- 3. Non compacts et bien 4. Non compacts et mal
pars pars spars spars
VInter est grand VInter est petit VInter est grand VInter est petit
VIntra est petit VIntra est petit VIntra est grand VIntra est grand
Donc C est grand Donc C est moyen Donc C est moyen Donc C est petit
8
Au final, C(k) est grand quand le dcoupage est compact et bien spar. Il permet donc de trouver le bon nombre
de clusters (ici, la prfrence va au premier dcoupage plutt quau deuxime ou au troisime) mais aussi de choisir
entre deux dcoupages ayant le mme nombre de clusters (le premier plutt que le quatrime).
Intervalle Probabilit
[0; 1[ 0.341
[1; 2[ 0.136
[2; 3[ 0.021
[3; 4[ 0.001
[4; 5[ 0.0003
Vraisemblance dun individu : La classification par modle de mlange se base sur la notion de vraisemblance.
La vraisemblance est une fonction qui prend deux arguments : un individu et une population (dont on connat la
distribution). tant donn une population et un individu, la vraisemblance prend une valeur leve si lindividu
appartient vraisemblablement la population, une valeur faible sinon. Ainsi, si on a un individu et DEUX popula-
tions, la vraisemblance peut nous permettre de deviner la population dont lindividu est probablement issu.
Exemples de bon sens : un individu aux cheveux long provient plus probablement de la population femme
que de la population homme. Un patient atteint dun cancer des poumons provient plus probablement de la popu-
lation fumeur que non-fumeur. Un patient avec fivre, douleurs et maux de gorges provient plus probablement
de la population rhume que appendicite.
On peut donc raisonnablement penser que notre individu est issu de la premire population.
Vraisemblance dun groupe dindividu : Le processus est gnralisable un groupe dindividus en multipliant
les vraisemblances individuelles afin dobtenir la vraisemblance globale : ainsi, la vraisemblance que le groupe
dindividus {0.5,1.5,3.5} appartienne la premire population est de 0.34 0.13 0.001 = 6e5 alors que la
vraisemblance quil appartienne la deuxime population est de 0.00003 0.001 0.13 = 5e9 . Le groupe est
donc plus vraisemblablement issu de la premire population.
9
Maximiser la vraisemblance : maintenant que la vraisemblance dun groupe est dfinie, on peut maximiser la
vraisemblance. On dispose dun groupe dindividus. On suppose quils sont issus dune distribution que lon ne
connat pas, mais dont on connat nanmoins la forme gnrale. Par exemple, on sait que le groupe est issu dune
loi normale dont on ignore la moyenne et lcart type. Maximiser la vraisemblance, cest trouver les paramtres
de la loi (moyenne et cart type dans notre cas) tels que la vraisemblance soit maximale. On trouve ainsi la loi
dont, le plus vraisemblablement, est issu notre groupe.
Exemple : Considrons les points 1,2,6,13,17 et 18. Considrons deux dcoupages : le premier en deux partitions
{1,2,6} et {13,17,18}. Le deuxime en {1,6,17} et {2,13,18}. Dans le premier cas, les groupes sont probablement
issus des lois N(3, 2.6) et N(16, 2.6). Dans le deuxime cas, les groupes sont probablement issus des lois N(8, 8.2)
et N(11, 8.2) :
Clairement, sur cet exemple, il est bien plus probable que le bon dcoupage soit le premier : sur le graphe
de gauche, les trois points rouges sont regroups et la loi normale N(3, 2.6) est une population dont on peut
raisonnablement penser quils sont extraits. La vraisemblance est haute.
Sur le graphe de droite, les trois points rouges sont disperss. La loi normale N(8, 8.2) nest pas une trs bonne can-
didate pour extraire les points rouges, mais dans cette configuration, cest la meilleurs possible. La vraisemblance
est basse.
Au final, on peut donc raisonnablement penser que le dcoupage de gauche est meilleur que celui de droite.
A Codes R
Codes utiliss pour tracer les graphes de ce document.
10
### Etape 1
M1 <- rbind(a,b,c,d,e)
plot(M1,cex=2,pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M1)
de <- apply(M[4:5,],2,mean)
### Etape 2
M2 <- rbind(a,b,c,de)
plot(M2,cex=c(2,2,2,3),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M2)
ab <- apply(M[1:2,],2,mean)
### Etape 3
M3 <- rbind(ab,c,de)
plot(M3,cex=c(4,2,3),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M3)
cde <- apply(M[3:5,],2,mean)
### Etape 4
M4 <- rbind(ab,cde)
plot(M4,cex=c(4,5),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M4)
abcde <- apply(M,2,mean)
### Etape 5
M5 <- rbind(abcde)
plot(M5,cex=c(9),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M4)
A.2 k means
#########################
### K means
11
### 3b/ Reprsentation graphique des centres de gravit
points(t(C1),col=2,cex=3,pch=16)
points(t(C2),col=3,cex=3,pch=16)
points(t(C3),col=4,cex=3,pch=16)
12