TD Méthodes de clustering M1-ATD Ioannis Partalas, Eric Gaussier

TD Méthodes de clustering
M1-ATD
Ioannis Partalas, Eric Gaussier
D’après M.-R. Amini & E. Gaussier, Recherche d’information, Eyrolles 2013
Le but de ce TD est d’étudier plus précisément les algorithmes associés au partitionnement
hiérarchique et à plat. Nous nous intéresserons d’abord à l’algorithme des k-moyennes (k-means),
un des algorithmes de partitionnement les plus populaires. Nous verrons ensuite comment im-
planter de façon efficace des algorithmes hiérarchiques et agglomératifs.
Les algorithmes sont volontairement simplifiés, dans le sens où toutes les structures de données
ne sont pas explicitées. Elles devraient néanmoins être claires au vu du cours.
1. Algorithme des k-moyennes
Pour un ensemble partitionné en Kclasses (G1, . . . , GK)de centres respectifs (r1,...,rK), con-
sidérons la fonction de coût somme des carrées des résidus intervenant dans l’algorithme des
k-moyennes :
L(G1, . . . , GK;r1,...,rK) =
K
X
i=1 X
dGi
||dri||2
2
L’algorithme des k-moyennes consiste alors en la répétition de deux étapes de réaffectation et de
recalcul des centroïdes (1).
(a) Montrer qu’entre les itérations tet t+ 1 de l’algorithme 1 on a :
L(G(t+1)
1, . . . , G(t+1)
K;r(t)
1,...,r(t)
K)≤ L(G(t)
1, . . . , G(t)
K;r(t)
1,...,r(t)
K)
(b) Montrer aussi que :
L(G(t+1)
1, . . . , G(t+1)
K;r(t+1)
1,...,r(t+1)
K)≤ L(G(t+1)
1, . . . , G(t+1)
K;r(t)
1,...,r(t)
K)
(c) En déduire que la fonction de coût de l’algorithme k-moyennes décroît à chaque itération.
1
Entrée :
C={d1,· · · , dN}, collection de documents ;
K, nombre de classes ;
T, nombre d’itérations maximal admis;
Initialisation :
(r(0)
1,· · · ,r(0)
K), ensemble de représentants initiaux;
t1;
tant que (t<T) ou (l’ensemble des classes n’est pas stable) faire
pour chaque d∈ C faire
// Etape de réaffectation
G(t)
k← {d:||dr(t1)
k||2
2≤ ||dr(t1)
l||2
2,l6=k, 1lK};
fin
pour chaque k, 1kKfaire
// Etape de recalcul des centroïdes
r(t)
k1
|G(t)
k|PdG(t)
k
d;
fin
tt+ 1;
fin
Sortie :G, une partition de Cen Kclasses
Algorithme 1 : Algorithme des k-moyennes
2. Classification par méthodes agglomératives hiérarchiques ascendantes
L’algorithme 2 est un algorithme générique de classification hiérarchique ascendante qui peut
être utilisé avec différentes méthodes d’agrégation. Il utilise des files de priorité pour lesquelles le
coût d’une insertion ordonnée (c’est-à-dire de l’insertion d’un élément dans une liste ordonnée)
est de l’ordre de log n,ndésignant la taille de la file.
On se propose ici de voir un algorithme un peu plus efficace pour la méthode du lien unique.
Cet algorithme exploite le fait que la méthode du lien unique est stable pour la meilleure fusion,
dans le sens suivant :
Définition 1. Stabilité de la meilleure fusion
Soit Gmf
k,r la classe représentant la meilleure fusion pour la classe Gk,r à l’étape rde construc-
tion d’un dendrogramme par une méthode d’agrégation M, et soit Gmf
k,r et Gl,r les deux classes
fusionnées à l’étape r, avec Gl,r 6=Gk,r et Gr=Gmf
k,r Gl,r. Nous dirons que Mest stable pour
la meilleure fusion si et seulement si :
Gmf
k,r+1 =Gr
Question 1 Montrer que la méthode du lien unique est stable pour la meilleure fusion. On
rappelle que la méthode du lien unique est fondée sur la distance entre classes :
2
Entrée :C={d1,· · · , dN}, collection de documents
//Initialisation (matrice de similarité et files de priorité)
pour chaque i∈ {1, . . . , N}faire
pour chaque j∈ {1, . . . , N}faire
C[i][j]sim(di, dj);
fin
I[i]1//indicateur de classe active;
Construire P[i], file de priorité pour ditriée suivant C[i][];
fin
L← ∅;
//Construction du dendrogramme
pour chaque k∈ {1, . . . , N 1}faire
i1argmaxi:I[i]=1P[i].MAX.sim;
i2P[i1].MAX.index;
LL.(i1, i2)//ajout de (i1, i2)à l’ensemble des fusions
I[i2]0;
Supprimer C[i1][i2]de P[i1];
pour chaque itel que I[i] = 1 i6=i1faire
Supprimer C[i][i1]de P[i]et P[i1]et C[i][i2]de P[i];
C[i][i1], C[i1][i]simM(i, (i1, i2));
Insérer (avec tri) C[i][i1]dans P[i]et P[i1];
fin
fin
return L
Algorithme 2 : Algorithme de partitionnement hiérarchique agglomératif
simlu(Gk, Gl) = max
dGk,d0Gl
sim(d, d0)
Question 2 Quelle est la complexité de l’algorithme 3 qui utilise un tableau de meilleure fusion
en lieu et place des files de priorité ?
Question 3 Expliquer pourquoi la stabilité de la meilleure fusion est importante pour le bon
déroulement de cet algorithme (donner un exemple simple).
Question 4 Montrer que la méthode par lien unique est monotone.
Définition 2. Monotonicité
Soit G(r)=G(r)
1G(r)
2la classe obtenue à l’étape rde construction d’un dendrogramme par une
méthode d’agrégation Met soit G(r+1) =G(r+1)
1+G(r+1)
2la classe obtenue à l’étape r+ 1. Nous
3
Entrée :C={d1,· · · , dN}, collection de documents
//Initialisation (matrice de similarité et tableaux de meilleure fusion)
pour chaque i∈ {1, . . . , N}faire
pour chaque j∈ {1, . . . , N}faire
C[i][j].sim sim(di, dj);
C[i][j].index j;
fin
I[i]i;
T MF [i]argmaxX∈{C[i][j],i6=j}X.sim;
fin
L← ∅;
//Construction du dendrogramme
pour chaque k∈ {1, . . . , N 1}faire
i1argmaxi:I[i]=iT MF [i].sim;
i2I[T MF [i1].index];
LL.(i1, i2)//ajout de (i1, i2)à l’ensemble des fusions
pour chaque i∈ {1, . . . , N}faire
si I[i] = ii6=i1i6=i2alors
C[i1][i].sim C[i][i1].sim max(C[i1][i].sim, C[i2][i].sim);
fin
si I[i] = i2alors
I[i]i1;
fin
T MF [i1]argmaxX∈{C[i1][i],I[i]=ii6=i1}X.sim;
fin
fin
return L
Algorithme 3 : Algorithme de partitionnement hiérarchique agglomératif pour le lien
simple
dirons que Mest monotone si et seulement si :
simMG(r)
1, G(r)
2simMG(r+1)
1, G(r+1)
2
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !