• Aucun résultat trouvé

Partie III. Classification et caractérisation de chirotopes

5.2 Méthodes de clustering

5.2.3 k-medoids

Dans cette section nous allons présenter la méthode de partitionnement des k-medoids. Cette méthode sera elle aussi utilisée pour classer les chirotopes lors de nos applications (voir Partie V). Présentation de la méthode

Tout comme dans l’algorithme des k-means, le but de la méthode des k-medoids est de parti- tionner des données en un nombre k de clusters fixé à l’avance. La différence est sur le choix des points représentant les clusters : pour chaque cluster, dans l’algorithme des k-means on utilise un point moyen alors que dans la méthode des k-medoids on utilise un échantillon. Ainsi cette mé- thode est utilisable avec tout type de données. Les échantillons représentant les clusters sont ap- pelés médoïdes et correspondent aux échantillons les plus “centraux” des classes. Dans cette mé- thode, on cherche les médoïdes permettant de minimiser le critère de qualité défini comme étant la somme pour chaque cluster des distances entre le médoïde du cluster et les points de ce cluster. Formellement, en notant Q le critère de qualité, on cherche à minimiser :

Q(E ,C1, ··· ,Ck, m1, ··· ,mk) = k X j =1 X ei∈Cj d (ei, mj)

On dira qu’un ensemble de k clustersC = C1, ··· ,Ck est engendré par k médoïdes m1, ··· ,mk

si les clusters sont créés de la façon suivante : Pour chaque échantillon ei, déterminer le médoïde

mjle plus proche de ei(ou en choisir un si le médoïde n’est pas unique) et affecter eiau clusterCj.

Formellement :

Cj= {ei|d(ei, mj) = minkd (ei, mk)} avec eiappartiennent exactement à un cluster.

Il existe trois principaux algorithmes de clustering par la méthode des k-medoids appelés PAM, CLARA et CLARANS. Dans cette section, nous analysons ces algorithmes ainsi qu’un algorithme des k-medoids qui utilise la même méthode que dans les k-means pour la recherche de meilleurs médoïdes.

L’algorithme PAM (Partitioning Around Medoids) [36] est le suivant :

1. Initialisation. Choisir aléatoirement k échantillons m1, ··· ,mk(appelés médoïdes et servant

de représentants aux clusters).

2. Création des clusters. Générer les clustersC1, ··· ,Ckengendrés par les médoïdes m1, ··· ,mk.

3. Calcul de la qualité. On calcule la qualité Q1= Q(E , C1, ··· ,Ck, m1, ··· ,mk)

4. Recherche d’un meilleur médoïde. Pour chaque médoïde mjet pour chaque échantillon ei

qui n’est pas un médoïde :

– Générer les clustersC10, ··· ,Ck0 engendrés par m1, ··· ,mj −1, ei, mj +1, ··· ,mk.

5. Soit Qr,s = mini , jQi , j. Si Qr,s < Q1, remplacer Q1 par Qr,s et ms par er puis recommencer

l’étape 4.

Tout comme pour l’algorithme des k-means, l’algorithme PAM converge vers un minimum lo- cal qui dépend de l’étape d’initialisation et la solution correspond au diagramme de Voronoï des médoïdes.

Nous allons étudier les temps de calculs de cet algorithme. L’algorithme PAM se base sur la matrice de distance entre tous les échantillons. Le calcul de cette matrice se fait en O(n2×l ) où l est la longueur des vecteurs représentant les échantillons. Il est important de noter que la génération des clusters n’est pas indispensable à chaque itération : il suffit que dans le calcul de la qualité, on somme pour chaque échantillon la distance entre cet échantillon et le médoïde le plus proche. En procédant de cette façon, la seule chose qui demande des calculs à chaque itération est donc le calcul de la qualité pour chaque couple (mj, ei) où mj est un médoïde et ei est un échantillon qui

n’est pas un médoïde. Dans la littérature, on trouve que pour chaque itération, l’algorithme réalise

O(k(n −k)2) calculs. Par contre, n’ayant pas trouvé de preuve satisfaisante, nous avons prouvé cette complexité (dans [30] les auteurs justifient cette complexité en disant seulement que le calcul de la qualité se fait en O(n − k)). Nous allons montrer que l’algorithme effectue bien O(k(n − k)2) calculs par itération. Lorsque l’on remplacera le médoïde mjpar l’échantillon ei, on notera c(Q2, mj, ei) le

nombre d’opérations à effectuer pour calculer la qualité Q2et c(mj, ei, eh) le nombre d’opérations

à effectuer pour calculer la distance minimale entre l’échantillon ehet le médoïde le plus proche.

Le nombre d’opérations par itération (noté c(I )) vaut donc

c(I ) = X i , j c(Q2, mj, ei) = X i , j ,h c(mj, ei, eh).

Le nombre d’opérations c(mj, ei, eh) dépend du médoïde le plus proche de l’échantillon ehavant

de remplacer mj par ei. En effet, si le médoïde le plus proche de eh était mr avec r 6= j avant de

remplacer mjpar ei alors après ce remplacement, le médoïde le plus proche de ehest soit mr soit

ei. Par contre, si le médoïde le plus proche de ehétait mjavant de remplacer mj par eialors après

ce remplacement le médoïde le plus proche de ehpeut être eiou n’importe quel médoïde mravec

r 6= j . En notant ms le médoïde le plus proche de el avant de remplacer mj par ei et dmi n(eh) la

distance minimale entre l’échantillon ehet le médoïde le plus proche après le remplacement, on a

donc : dmi n(el) =    min¡d(ei, el), d (ms, elsi s 6= j

min¡d(ei, el), min

r 6=j d (mr, el)

¢

si s = j

Ainsi le nombre d’opérations c(mj, ei, el) est de O(k) si mj était le médoïde le plus proche de el

5.2. MÉTHODES DE CLUSTERING 99

par itération c(I ) vaut alors

c(I ) = X i , j ,l c(mj, ei, el) = X i ,l X j c(mj, ei, el) = O¡(n − k)2 ס1 × k + (k − 1) × 1¢¢ = O¡(n − k)2 × k¢.

En parallèle, les auteurs de l’algorithme PAM ont créé l’algorithme CLARA pour traiter de gros jeux de données [37]. Cet algorithme utilise un sous-ensemble aléatoire des échantillons pour dé- terminer les médoïdes, puis classifie l’ensemble des échantillons à partir de ces médoïdes. L’algo- rithme calcule ensuite le critère de qualité pour ces clusters et recommence pour un autre sous- ensemble aléatoire des échantillons. Après avoir recommencé un certain nombre de fois (fixé par l’utilisateur), l’algorithme retourne les médoïdes et les clusters associés qui ont le critère de qualité le plus faible.

De nombreux autres algorithmes se basent sur les médoïdes pour obtenir un clustering d’un en- semble de données [50, 54, 80, 88]. Parmi ces algorithmes, l’algorithme CLARANS [50] est très sem- blable à l’algorithme PAM, mais au lieu de chercher un meilleur médoïde parmi toutes les paires possibles (médoïde,non-médoïde), la recherche n’a lieu que pour un nombre fixé à l’avance de paires. De plus, pour limiter le temps d’exécution, l’algorithme CLARANS ne réalise qu’un nombre fixé d’itérations. D’après les auteurs, cet algorithme est aussi efficace que PAM pour les petits jeux de données tout en étant plus rapide et est plus efficace que CLARA pour les grands jeux de don- nées. La limitation de cet algorithme est le fait qu’il y ait deux paramètres à fixer à priori : le nombre de paires à traiter à chaque itération et du nombre d’itérations.

Récemment un algorithme a été proposé pour trouver des clusters à l’aide de médoïdes. Cet algorithme utilise le même principe que dans les k-means pour la recherche de meilleurs mé- doïdes [54]. Il s’agit de trouver pour chaque clusterCj l’échantillon qui minimise la somme des

distances aux autres échantillons deCj. Ainsi on ne teste pas de remplacer un médoïde par l’un

des (n − k) échantillon non-médoïde mais uniquement par un des échantillons du même cluster, ce qui diminue le nombre d’opérations. Une applet [47] permet de comparer cette méthode à la méthode des k-means. Grâce à cet applet, nous avons trouvé un exemple en deux dimensions re- présenté par la Figure 5.6 tel que, si les clusters ne sont pas bien initialisés et qu’il y a des zones du plan sans point alors cet algorithme ne permet pas d’avoir les bons clusters contrairement aux

k-means. En effet dans une telle situation, lors d’itérations de l’algorithme des k-means le point

moyen sera dans une zone du plan sans point. Or avec cet algorithme des k-medoids, le médoïde d’une classe restera toujours du même côté de la zone sans point, ce qui empêche d’avoir la solu- tion optimale.

Avantages et inconvénients pour la classification de chirotopes

La méthode des k-medoids peut être utilisée pour n’importe quel type de données et permet d’utiliser n’importe quelle distance. Ainsi cette méthode peut être utilisée pour classer des chiro- topes de formes en deux ou trois dimensions sans que l’on ait besoin de transformer les données.

FIGURE 5.6 – Comparaison entre l’algorithme des k-means (première ligne) et l’agorithme basé

sur les k-medoids qui s’en rapproche [54] (deuxième ligne) pour classer en quatre clusters (vert, rouge, violet et marron) un même ensemble de points en deux dimensions. Les deux algorithmes partent de la même initialisation dans le but d’obtenir quatre clusters. Les croix sur la première ligne représentent les points moyens et les étoiles de la deuxième ligne représentent les médoïdes. La colonne de gauche représente l’étape d’initialisation, celle du milieu représente l’état au milieu du processus et celle de droite représente le résultat fourni par les algorithmes. Les images ont été obtenues à l’aide de l’applet [47].

Cette méthode dispose en plus de deux avantages. Le premier avantage est que contrairement aux k-means cette méthode est combinatoire. En effet, pour chaque cluster il n’y a qu’un nombre fini de représentant possible puisque le représentant de chaque cluster est l’un des chirotopes (contrairement à la méthode des k-means qui utilise le point moyen).

Le deuxième avantage est que la complexité de l’algorithme PAM ne dépend pas de la taille des chirotopes. Ainsi une fois que la matrice des distances est calculée, la méthode des k-medoids ne dépend plus que du nombre n de chirotopes et du nombre k de clusters. Or dans nos applications le nombre de formes en trois dimensions à comparer est assez petit (de l’ordre de 300 pour les applications contant le plus de formes) alors que le nombre de bases est bien plus important (près de 2 700 000 bases non-fixes pour les applications comptant le plus de bases). Ainsi la méthode des

k-medoids sera rapide à calculer.

Par contre cette méthode présente deux inconvénients. Le premier inconvénient est que cette méthode peut dans certains cas ne pas donner la bonne classification, alors que la méthode des

k-means aurait donné la bonne classification comme le montre la Figure 5.7.

Le deuxième inconvénient de cette méthode est que l’on ne peut pas obtenir une caractérisa- tion des clusters qui se fonde sur des (d +1)-uplets de B(E ). En effet, la seule caractérisation d’un

5.2. MÉTHODES DE CLUSTERING 101

clusterCique l’on peut avoir est qu’un échantillon deCiest plus proche du médoïde deCique de

n’importe quel médoïde d’une autre classe. Cette caractérisation n’utilise qu’une distance globale et ne permet donc pas de trouver un sous-ensemble de (d +1)-uplets de B(E ) caractérisant chaque cluster.

FIGURE5.7 – Exemple de situations où le résultat des k-medoids (à gauche) est moins bon que le

résultat des k-means (à droite). Les croix sur l’image de droite représentent les points moyens et les étoiles de l’image de gauche représentent les médoïdes.

Lorsque nous étudions un ensemble d’échantillons, nous commençons par calculer la matrice des distances entre tous les chirotopes. Or nous avons vu que le temps de calcul pour obtenir une classification par la méthode des k-medoids est faible (par rapport aux k-means) si nous possé- dions déjà la matrice des distances. Comme la classification obtenue est parfois moins bonne que celle obtenue par la méthode des k-means, nous utiliserons généralement l’algorithme de PAM pour déterminer rapidement si notre méthode basée sur les matroïdes orientés peut s’appliquer à un jeu de données et s’il est donc utile de calculer une classification à l’aide de l’algorithme des

k-means (voir Partie V).