• Aucun résultat trouvé

1.6 Les diff´erentes m´ethodes de clustering

1.6.1 Le clustering hi´erarchique

Le principe des algorithmes hi´erarchiques est de construire un arbre de clusters (ou dendrogramme) tel que pr´esent´e en figure 1.3 et formalis´e par la d´efinition 1.4 :

– la racine de l’arbre est form´ee par le cluster X contenant l’ensemble des objets, – chaque nœud de l’arbre constitue un cluster Ci⊂ X,

– les feuilles de l’arbre correspondent aux singletons {x1}, . . . , {xn},

– l’union des objets contenus dans les fils d’un nœud donn´e, correspond aux objets pr´esents dans ce nœud,

– les “paliers” sont indic´es relativement `a l’ordre de construction4.

Ces hi´erarchies sont g´en´eralement appr´eci´ees puisqu’elles permettent une visualisation de l’organisation des donn´ees et du processus de clustering. A partir de ce dendrogramme, il est possible d’obtenir une partition de X en coupant l’arbre `a un niveau l donn´e. Par exemple, le choix de l = 4 dans le dendrogramme de la figure 1.3 renvoie le partition-nement suivant : C = {{x1, x2, x3}, {x4, x5, x6}}. Ce dernier param`etre l peut ˆetre choisi

4On peut ´egalement choisir d’indicer les paliers d’une hi´erarchie relativement `a la similarit´e entre les deux sous-paliers.

Niveaux Objets x2 x3 x4 x5 x6 x1 {x1,x2} {x4,x5} {x1,x2,x3} {x4,x5,x6} {x1,x2,x3,x4,x5,x6} 1 1 2 4 5 3 Méthode divisive Méthode agglomérative

Fig. 1.3 – Exemple de dendrogramme.

relativement au nombre de clusters d´esir´e ou `a l’aide d’une analyse statistique de la qualit´e des diff´erentes partitions que l’on peut extraire de l’arbre (cf. 1.7).

On distingue deux approches pour parvenir `a un tel arbre hi´erarchique : les algorithmes agglom´eratifs et divisifs. Un regroupement agglom´eratif5 construit l’arbre en partant des “feuilles” (singletons) et proc`ede par fusions successives des plus proches clusters jus-qu’`a obtenir un unique cluster “racine”, contenant l’ensemble des objets. Par opposition, les algorithmes divisifs6 consid`erent d’abord la “racine” contenant tous les objets, puis proc`edent par divisions successives de chaque nœud jusqu’`a obtenir des singletons. Notons que pour chacune de ces deux m´ethodes, l’arbre hi´erarchique n’est pas n´ecessairement construit totalement. Le processus peut ˆetre stopp´e lorsque le nombre de clusters d´esir´e est atteint ou lorsqu’un seuil de qualit´e est d´epass´e (e.g. distance maximale de fusion).

Les hi´erarchies strictes

Nous pr´esentons ici les principaux algorithmes de clustering par construction de hi´erarchies strictes telles que d´efinies en 1.4. Il existe tr`es peu d’algorithmes divisifs, notamment `a cause de la difficult´e `a d´efinir un crit`ere de s´eparation d’un cluster. En effet pour un cluster de taille n, il y a 2n−1− 1 possibilit´es pour diviser ce cluster en deux sous-clusters. Dans le cas agglom´eratif, chaque fusion de 2 clusters parmi n, offre seulement n(n2−1) possibilit´es. Pour ´eviter d’explorer toutes les possibilit´es de divisions, l’algorithme DIANA (DIvisive ANAlysis) [97], pr´esent´e en figure 1.4, recherche d’abord l’objet le plus “atypique” du cluster avant de lui agr´eger ´eventuellement d’autres objets proches de fa¸con `a distinguer deux sous-clusters. D’autres techniques ont ´et´e envisag´ees telles que la s´eparation par d´ecomposition en k valeurs propres, utilis´ee dans l’algorithme PDDP (Principal Direction

5On parle aussi d’approche bottom-up puisque l’arbre se construit du “bas” vers le “haut”. 6On parle aussi d’approche top-down puisque l’arbre se construit du “haut” vers le “bas”.

Algorithme DIANA : DIvisive ANAlysis

Entr´ee : Une matrice de similarit´e S sur l’ensemble des objets `a traiter X

Sortie : Une hi´erarchie P

1. Initialisation `a 1 cluster (racine),C = {{x1, . . . , xn}}, et P = C 2. S´electionner le cluster C∈ C de diam`etre maximum

3. Identifier dans C l’objet (ou l’un des objets) x ayant la plus faible similarit´e moyenne avec les autres objets :

x= arg min xi∈C 1 |C| − 1 X j6=i s(xi, xj)

x initialise un nouveau cluster C, 4. Pour chaque objet xi ∈ C/ calculer :

si = [moyenne des s(xi, xj), xj ∈ C \ C]− [moyenne des s(xi, xj), xj ∈ C]

5. Soit xk l’objet pour lequel sk est minimal. Si sk est n´egatif alors ajouter xk `a C

6. R´ep´eter les ´etapes 3 et 4 jusqu’`a sk> 0

7. Remplacer C par C\C et C dansC puis ajouter C\C et C dans P

8. R´ep´eter les ´etapes 2 `a 7 jusqu’`a ce que chaque cluster de C soit r´eduit `a un singleton

9. Retourner P , un ensemble de parties non vides sur X, correspondant aux nœuds de la hi´erarchie

Divisive Partitioning) [16] ou le recours `a une m´ethode de partitionnement du type k-moyennes (cf. 1.6.2) `a chaque nœud de la hi´erarchie.

En revanche, les algorithmes agglom´eratifs hi´erarchiques sont nombreux. Les premi`eres ´etudes ont propos´e les algorithmes SLINK (Single-LINK), CLINK (Complete-LINK) et ALINK (Average-LINK), tous trois bas´es sur le proc´ed´e SAHN (Sequential Agglomerative Hierarchical and Non-overlapping7) [171], pr´esent´e en figure 1.5. La m´ethode utilis´ee pour ´evaluer la similarit´e entre deux clusters diff´erencie ces trois algorithmes :

– SLINK : la similarit´e entre deux clusters Ca et Cb est d´etermin´ee par la similarit´e entre les deux objets (xi, xj)∈ Ca× Cb les plus similaires,

– CLINK : la similarit´e entre deux clusters Ca et Cb est d´etermin´ee par la similarit´e entre les deux objets (xi, xj)∈ Ca× Cb les moins similaires,

– ALINK : la similarit´e entre deux clusters Ca et Cb est d´etermin´ee par la moyenne des similarit´es entre deux objets (xi, xj)∈ Ca× Cb.

Algorithme SAHN : Sequential Agglomerative Hierarchical and Non-overlapping

Entr´ee : Une matrice de similarit´e S sur l’ensemble des objets `a traiter X

Sortie : Une hi´erarchie P

1. Initialisation `a n singletons,C = {{x1}, . . . , {xn}}, et P = C

2. Identifier dansC les deux objets Ck et Cl les plus proches selon S : (Ck, Cl) = arg max

(Ci,Cj)∈ C2{sim(Ci, Cj)}

3. Remplacer{Ck} et {Cl} par {Ck∪ Cl} dans C et ajouter {Ck∪ Cl} `a P 4. Recalculer la matrice S en cons´equence

5. SiC 6= {{x1, . . . , xn}} revenir `a l’´etape 2.

6. Retourner P , un ensemble de parties non vides sur X, correspondant aux nœuds de la hi´erarchie

Fig. 1.5 – Algorithme agglom´eratif hi´erarchique SAHN.

Des travaux plus r´ecents ont permis de proposer des algorithmes agglom´eratifs hi´erarchiques permettant d’obtenir des clusters de formes vari´ees (contrairement aux al-gorithmes CLINK et ALINK), tels que l’algorithme CURE (Clustering Using Representa-tives) [74] et surtout l’algorithme CHAMELEON [95].

La principale caract´eristique de l’algorithme CURE est de proposer une m´ethode ori-ginale d’indexation des clusters. Plutˆot que d’indexer un cluster par l’ensemble des objets qui le composent (indexation graphique) ou par un centro¨ıde (indexation g´eom´etrique), CURE d´etermine un nombre constant d’objets repr´esentatifs de ce cluster.

CHAMELEON proc`ede en deux ´etapes : une premi`ere ´etape consiste `a partitionner l’ensemble des objets en petits clusters homog`enes, puis une phase agglom´erative

met d’aboutir `a une hi´erarchie. Pour cela, CHAMELEON s’appuie sur un formalisme de repr´esentation bas´e sur les graphes (cf. 1.6.7).

Enfin des m´ethodes telles que ROCK (RObust Clustering using linKs) [75] et COB-WEB [60] construisent un arbre `a partir de donn´ees d´ecrites par des variables qualitatives. Les pseudo-hi´erarchies

Les “pyramides”, introduites par E. Diday [46], constituent une g´en´eralisation des ap-proches hi´erarchiques pr´ec´edentes. La motivation premi`ere est la construction de “classes recouvrantes” avec la contrainte de pouvoir visualiser l’organisation des donn´ees. Les py-ramides constituent alors ce que l’on appelle aussi des pseudo-hi´erarchies au sens o`u nous l’avons d´efini en 1.5. Une pyramide telle que nous la pr´esentons en figure 1.6 autorise chaque nœud `a avoir jusqu’`a deux pr´ed´ecesseurs. Lorsque l’on coupe la pyramide `a un ni-veau l donn´e, les clusters obtenus forment alors une pseudo-partition de X. Dans la figure 1.6, en choisissant de couper le dendrogramme au niveau mat´erialis´e par les pointill´es, la pseudo-partition C = {{x1, x2, x3, x4}, {x3, x4, x5}, {x6}} est obtenue.

Niveaux Objets x2 x3 x4 x5 x6 x1 {x1,x2,x3,x4,x5,x6} {x3,x4} {x3,x4,x5} {x2,x3} {x1,x2} {x1,x2,x3} {x1,x2,x3,x4} {x1,x2,x3,x4,x5}

Fig. 1.6 – Exemple de pyramide.

L’algorithme CAP (Classification Ascendante Pyramidale) a ´et´e propos´e pour construire une pyramide ; nous pr´esentons le principe global de cet algorithme dans la figure 1.7.

Dans l’algorithme CAP, la condition i) assure que chaque nœud de la pyramide aura au plus deux pr´ed´ecesseurs. Les conditions ii) et iii) permettent d’´eviter les croisements illustr´es en figure 1.8.

Dans le premier exemple propos´e en figure 1.8 (pyramide de gauche), la condition ii) n’est pas v´erifi´ee puisque C1 et C2 sont agr´eg´es alors qu’ils ne sont pas connexes `a cause

Algorithme CAP : Classification Ascendante Pyramidale

Entr´ees : Une matrice de similarit´e S sur l’ensemble des objets `a traiter X ainsi que ≤X, un ordre sur X

Sortie : Une pyramide P

1. Initialisation `a n singletons, P ={{x1}, . . . , {xn}}

2. On agr`ege les deux groupes Ci, Cj ∈ P les plus proches selon S, et v´erifiant les conditions suivantes :

i) Ci et Cj ont ´et´e agr´eg´es au plus une fois, ii) Ci∪ Cj est connexe selon ≤X,

iii) Soit Ck ∈ P tel que Ci ⊂ Ck alors Ci contient l’une des extr´emit´es de la partie connexe Ck

3. Ajouter Ci∪ Cj dans P

4. On recommence l’´etape 2 jusqu’`a ce qu’un groupe de P soit ´egal `a X

5. Retourner P , un ensemble de parties non vides sur X, correspondant aux nœuds de la pyramide

Fig. 1.7 – Algorithme de construction d’une pyramide.

x2 x3 x4 x5 x1 Niveaux Objets C1 C2 C3 x2 x3 x4 x5 x1 Niveaux Objets C2 C3 C1 C4 C5 x2 x3 x4 x1 Niveaux Objets

Fig. 1.8 – Exemples de croisements (gauche et centre) et d’inversions (droite) dans les pyramides.

de C3. De mˆeme, dans le second exemple (pyramide du centre), c’est la condition iii) qui cette fois n’est pas v´erifi´ee puisque {x5} est agr´eg´e `a C3 alors que C3 ⊂ C5 et C3 ne contient ni x1, ni x4, extr´emit´es de C5.

Par la suite, plusieurs extensions de l’algorithme CAP ont ´et´e propos´ees. Notons, par exemple, l’algorithme PYRAM [68] qui permet de g´en´erer des pyramides plus simples, `a savoir sans inversions (cf. figure 1.8), ou encore les algorithmes CAPS et CAPSO [157] qui permettent de g´en´erer des pyramides symboliques, o`u chaque nœud est d´efini en intension. Enfin, certains travaux actuels concernent l’extension des pyramides pr´esent´ees jusqu’ici aux pyramides 3D et plus.

Les hi´erarchies floues

Les hi´erarchies floues sont g´en´eraelemnt peu utilis´ees. On note cependant quelques applications dans le domaine de la segmentation d’images ainsi que dans les formalismes

de repr´esentation notamment s´emantique. Nous pr´esentons deux types de hi´erarchies floues chacune li´ee `a l’application ou `a l’algorithme de construction.

Algorithme HFCM : Hierarchical Fuzzy-k-Means

Entr´ees : L’ensemble des objets `a traiter X, une mesure de qualit´e φ ainsi qu’un seuil de qualit´e α

Sortie : Une hi´erarchie floue P

1. Initialisation `a un cluster (racine)C = {X} et P = C 2. Pour chaque cluster Ci ∈ C tel que φ(Ci) < α :

3. Appliquer l’algorithme FCM en recherchant le nombre optimal ki de clusters

Ci → {Ci,1, . . . , Ci,ki}

4. Supprimer Ci dans C et ajouter Ci,1, . . . , Ci,ki dansC et dans P

5. Recommencer l’´etape 2 jusqu’`a ce que tous les clusters Ci dans C soient tels que φ(Ci) > α

6. Retourner P , un ensemble de parties floues non vides sur X, correspondant aux nœuds de la hi´erarchie

Fig. 1.9 – Algorithme divisif des k-moyennes flou hi´erarchique.

Dans le cas de la segmentation d’images, on a g´en´eralement recours `a un algorithme du type k-moyennes flou hi´erarchique [54]. L’algorithme des k-moyennes est une m´ethode de partitionnement que nous pr´esenterons dans la section suivante. L’algorithme des moyennes flou FCM (fuzzy-means) en est une extension. Enfin, la m´ethode des k-moyennes flou hi´erarchique consiste `a ex´ecuter l’algorithme FCM it´erativement sur chaque nœud de la hi´erarchie, en commen¸cant par la racine constitu´ee de tous les ´el´ements, et jusqu’`a obtenir des clusters flous valides relativement `a une mesure de qualit´e. Le nombre k de groupes ´etant le principal param`etre en entr´ee de l’algorithme FCM, il peut ˆetre pro-pos´e de rechercher le nombre optimal de clusters k `a l’aide d’un indice, tel que l’indice de Dunn ou de Davies-Bouldin, tous deux d´efinis dans l’annexe A. Nous pr´esentons en figure 1.9 l’algorithme des k-moyennes flou hi´erarchique, que nous notons HFCM (Hierarchical Fuzzy-k-Means).

Il s’agit alors d’une m´ethode hi´erarchique divisive. Cependant, contrairement aux hi´erarchies strictes et aux pseudo-hi´erarchies, les feuilles du dendrogramme ne corres-pondent pas aux singletons {{x1}, . . . , {xn}} mais `a des clusters flous valid´es par une mesure de qualit´e. De mˆeme, par l’algorithme HFCM, le dendrogramme obtenu n’est pas un arbre binaire puisque chaque nœud peut avoir plus de deux successeurs. La fi-gure 1.10 pr´esente un exemple de dendrogramme-flou obtenu par l’algorithme HFCM. Dans ce dendrogramme, chaque nœud de l’arbre est constitu´e par l’ensemble des objets de X avec un certain degr´e d’appartenance (valeurs pr´ecis´ees entre parenth`eses). Notons que pour un objet x1 donn´e, sa valeur d’appartenance u2(x1) `a un nœud C2 de l’arbre est ´egale `a la somme de ses valeurs d’appartenance aux successeurs directes de ce nœud (u2(x1) = u3(x1) + u4(x1) + u5(x1)).

pro-cessus, cependant il apparaˆıt clairement que la repr´esentation des dendrogrammes flous est difficile puisque chaque nœud de la hi´erarchie doit comporter un vecteur de taille n. Finalement, ce dendrogramme aide peu `a la compr´ehension du processus de clustering.

Une autre forme de hi´erarchie floue intervient, par exemple, dans le cadre de la repr´esentation de concepts s´emantiques sous forme d’une hi´erarchie (th´esaurus). Ce for-malisme de repr´esentation peut ´egalement ˆetre utilis´e en fouille de donn´ees dans des ap-plications visant `a synth´etiser l’information contenue dans une base de donn´ees [107]. On parle commun´ement de hi´erarchies “IS A”, illustr´ees par la figure 1.11.

G´en´eralement construite de mani`ere agglom´erative, la hi´erarchie “IS A” est un dendro-gramme flou tel que les feuilles sont d´efinies par les singletons{x1}, . . . , {xn}. Chaque nœud de l’arbre (y compris la racine) correspond `a un objet repr´esentatif (centro¨ıde, m´edo¨ıde, etc.) du cluster flou, d´efini par l’ensemble de ses successeurs, et muni d’un degr´e d’apparte-nance8. Une nouvelle fois, la faible utilisation de ce type de classification en apprentissage non-supervis´e s’explique par la difficult´e `a interpr´eter le dendrogramme obtenu.

x1(0.1),x2(0.0) x3(0.5),x4(0.1) x1(0.0),x2(0.1)x3(0.2),x4(0.3) x1(0.1),x2(0.0)x3(0.2),x4(0.4) x1(0.8),x2(0.9) x3(0.1),x4(0.2) 3