Tight Clustering: A Resampling-Based
Approach for Identifying Stable and Tight
Patterns in Data - G. C. Tseng
Etude d’article
Emmanuel Attia
MVA 2007
1 Introduction
La classification des données des puces à ADN consiste à trouver des aggrégats
de npoints -correspondants à chaque gènes- dans un espace à ddimensions -
correpondants aux patients. Etant donné qu’on ne connait pas a priori la forme
de ces aggrégats, on se dirige plutôt vers des méthodes de classification non-
supervisée comme la méthode des K-means. De plus on ne sait pas forcément
à l’avance combien d’aggrégats il y aura (d’où l’inopérabilité des K-means dans
ce cas là). Enfin les méthodes classiques ne permettent pas d’éliminer les points
qui n’appartiennent à aucune catégorie; elles ont tendance à les attribuer à tord
à des aggrégats et donc à augmenter la distortion.
L’article étudié propose une méthode pour classifier les données en aggré-
gats resserés (les TightClusters), tout en ignorant les points dispersés et sans
connaître forcément le nombre exact de ces aggrégats. Pour ce faire, il consiste
à rechercher les aggregats les plus resserés, à les mettre de côté et à continuer
sur les données restantes.
2 Algorithme K-means
Comme nous l’avons dit précédemment, l’article cherche à trouver un algo-
rithme dans l’esprit du K-means mais le but est d’en détourner l’utilisation.
Le problème majeur de cette méthode est qu’il permet de trouver un minimum
local de la fonction de distortion, et que ce minimum dépend très fortement
de l’initialisation. Il convient donc d’étudier quelle est la meilleure façon de
l’initialiser pour trouver au moins un aggrégats sans en y associer de points
éparses. Les auteurs présentent donc des comparatifs de plusieurs méthodes
d’initialisation, dont principalement par Hierarical clustering avec liaisons sim-
ples (Single-linkage, pour être associé à un aggrégat il faut avoir au moins un
éléments commum) et liaisons complètes (Complete-linkage, pour être associé à
un aggrégat il faut avoir tous les éléments en commums) testés sur des données
générés (des distributions gaussiennes plus des points éparses aléatoires). Ce
type d’initialisation marche bien lorsque les aggrégats sont bien séparés, mais
1
Emmanuel Attia
Master MVA - Traitement de l'Information en Biotechnologie
2007
ne donne pas des résultats très concluants avec des points éparses en plus des ag-
grégats. Pour surmonter cette difficulté, s’ils recherchent à classifier kaggrégats,
ils coupent l’arbre hierarchique pour avoir p×kaggrégats (p∈ {1,3,6}), puis
ils gardent les kles plus peuplés et effectuent le K-means dessus. La méthode
fonctionne le mieux en prenant p= 3.
3 Algorithme A
En seconde partie, les auteurs présent cet algorithme, qui sachant kpermet de
trouver des aggrégats stables. Pour cela, on applique le K-means sur Bsous-
échantillons des données à étudier (par exemple 70%). Ensuite, on applique la
classification aux données et pour chaque sous-échantillons on établit des ma-
trices de co-appartenance. La moyenne de ces matrices donne une estimation
de la probabilité de deux candidats d’appartenir au même aggrégats. A partir
de cette matrice, dont on seuille les valeurs à une valeur proche de 1, on obtient
des candidats d’aggregats resserés, les TightClusters, soit par recherche de com-
posante connexe (analogique au Single-linkage), soit par recherche des cliques
maximales (analogique au Complete-linkage).
Le sous-échantillonage permet de vérifier que les aggregats formés ne conti-
ennent pas de points éparpillés.
4 Recherche des TightClusters
On applique sur les données l’algorithme avec des valeurs successives de kpar-
tant de k0. On compare les qmeilleurs clusters de deux ksuccessifs et si on
trouve deux clusters de la série ket k+ 1 donc la similarités est proche de 1
alors on identifie un TightClusters et on recommence sur les données restantes,
en diminuant k0de 1. On s’arrête lorsque k0atteind une valeur seuil -par
exemple 5- ou bien lorsqu’on obtient le nombre de clusters désirés.
Comme la philosophie de la méthode est de sélectionner les aggrégats au
fur et à mesure, il est logique qu’on cherche à faire un algorithme dépendant le
moins possible du paramètre k, d’où la recherche de stabilité sur au moins deux
ksuccessifs.
5 Implémentation
Nous avons codé une implémentation complète en C++ (basée sur le K-means,
comme dans l’article). Seulement, les auteurs n’indiquent pas de méthode
calcul pour le passage de la matrice de coappartenance aux candidats. Nous
avons ten d’implémenter les deux méthodes, mais la lenteur de la recherche
des cliques la rend inexploitable. Peut-être qu’une méthode génétique ou plus
avancée qu’un simple Backtracking récursif l’aurait rendu plus rapide.
Autant le fait d’incrémenter ksemble fondamental pour avoir un critère de
stabilité des aggrégats, autant le fait de décrémenter k0n’est pas forcément
justifié. On a donc rajouté dans notre implémentation un paramètre nkqui
désigne le nombre de fois qu’on peut repartir de k0avant de le décrémenter.
Ainsi le nombre d’aggrégats à trouver n’est plus forcément relié aux valeurs
initiales et finales de k0.
2
Emmanuel Attia
Master MVA - Traitement de l'Information en Biotechnologie
2007
6 Analyse sur un cas synthétique
Nous avons synthétisé un mélange de 4 distributions uniformes de 30 points et
de largeur 1 en dimension 2 auxquels on a rajouté des points éparses sur tous
le domaines, puis analysé la façon dont les TightClusters sont déterminés. On
a pris B= 70%,10 sous-échantillons, α= 0.1,β= 0.9,nk= 10,k0minimum
de 3.
On remarque sur la figure 1 que les aggrégats synthétiques sont très rapide-
ments séparés entre plusieurs TightClusters. Car dès que kcroît, sont considérés
comme des aggrégats stable, ceux qui sont très resserrés par rapport aux reste,
et comme on recherche à ce moment un certain nombre d’aggrégats, ils sont
forcément petits.
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
Figure 1: Classifications de la distribution synthétique en partant de k0= 3
(en haut à gauche), k0= 6 (en haut à droite), k0= 10 (en bas à gauche) et
k0= 20 (en bas à droite). Les points non classifiés à la fin de l’algorithme sont
barrés et la ligne de point en bas de chaque image, indique dans quel ordre la
classification s’est faite.
Si on relache α(voir figure 2), qui joue sur le resserement des aggrégats, si
des points sont très proches les uns des autres, au sein d’un aggrégats, ils sont
considérés comme un TightClusters à part entière. On remarque d’ailleurs que
les valeurs de αpeuvent être assez élevées sans que trop de points éparses soient
pris par erreurs dans les aggrégats.
Cet algorithme permet donc de détecter des aggrégats resserrés relativements
les uns par rapport aux autre. C’est principalement dû au fait que la méthode
est basée sur un algorithme de classification non-supervisée. Si on voulait sé-
parer correctement ces aggrégats, il faudrait passer à une méthode supervisée
en imposant une loi de probabilité (par exemple un mélange de gaussienne), non
pas pour faire coller les points à une distribution bien particulière (on choisir-
ait plutôt une loi passe-partout, comme la loi normale), mais pour imposer des
3
Emmanuel Attia
Master MVA - Traitement de l'Information en Biotechnologie
2007
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7
−1
0
1
2
3
4
5
6
7
Figure 2: Classifications de la distribution synthétique en partant de k0= 3
pour α= 0.1 gauche), α= 0.3(au centre) et α= 0.5(à droite).
relations d’échelles entre les aggrégats.
7 Analyse sur des données microarray
Nous avons appliqués l’algorithme de TightClustering au seul jeu de données qui
nous était disponible, le jeu de test de la boîte à outils de bioinformatique de
MATLAB (467 gènes, 7 patients). Nous avons utilisés les mêmes paramètres que
précedemment, avec comme seul changement un k0fixé à 5, (et donc nk=).
On a bien les premiers aggrégats resserés trouvés pour k > 30, ce qui montre
bien l’indépendance de l’algorithme par rapport aux fourchettes de k0choisis.
Par contre, nous avons fait varier les valeurs de α, afin d’observer des sélections
d’aggrégats de différentes échelles de sensibilité.
Figure 3: Classification des données pour α= 0.1(à gauche), α= 0.3(au
centre), α= 0.5(à droite). Sont représentés en couple les données ordonnées
de microarray (rouge-vert) et leurs attributions de TightClusters respectifs (en
couleurs multiples).
4
Emmanuel Attia
Master MVA - Traitement de l'Information en Biotechnologie
2007
1 / 4 100%