• Aucun résultat trouvé

1.6 Les diff´erentes m´ethodes de clustering

1.6.6 Le clustering conceptuel

Le clustering conceptuel a ´et´e introduit au d´ebut des ann´ees 1980 par [124]. Cette approche du clustering est alors pr´esent´ee comme une mani`ere de d´ecouvrir des sch´emas (clusters) “compr´ehensibles” `a partir des donn´ees. Plutˆot que de d´efinir une mesure de similarit´e puis d’organiser les objets de fa¸con `a minimiser les inerties intra-clusters et maxi-miser l’inertie inter-clusters, Michalski propose de g´en´erer une structure (hi´erarchique) de concepts. Dans ce type de structure, chaque concept se d´efinit `a la fois en extension (en-semble des objets plac´es dans ce concept) et en intension (r`egles descriptives sur les objets). La d´efinition en intension permet une caract´erisation des clusters (ou concepts) et fournit alors `a l’utilisateur une explication compr´ehensible de ces concepts.

Plusieurs syst`emes de clustering conceptuel ont ´et´e propos´es, afin de traiter des donn´ees plus ou moins complexes et de construire diff´erents types de structures conceptuelles. On note alors les premiers algorithmes tels que CLUSTER/2 [125] modifi´e dans CLUS-TER/S [177] pour traiter des donn´ees `a domaines de valeurs davantage structur´es, com-parativement aux descriptions sous forme attribut/valeur. De la mˆeme fa¸con, l’algorithme incr´emental COBWEB [60] a ´et´e adapt´e dans CLASSIT [66] pour traiter des donn´ees d´ecrites par des attributs num´eriques. Contrairement `a ces derni`eres m´ethodes, qui g´en`erent chacune un arbre hi´erarchique, d’autres approches consistent `a organiser les concepts dans des graphes conceptuels, s’apparentant davantage `a des treillis de Galois. Cet autre type de structure est notamment ´etudi´e dans les travaux de [184, 174].

Nous avons choisi de pr´esenter, dans cette section, l’algorithme COBWEB, afin d’illus-trer le fonctionnement des m´ethodes de clustering conceptuel. Cet algorithme est tr`es utilis´e et se pr´esente souvent comme une r´ef´erence dans ce domaine.

COBWEB est un syst`eme incr´emental de clustering conceptuel hi´erarchique. Le pro-cessus de formation de concepts a pour objectif de construire, `a partir d’un ensemble de

donn´ees et de leur description, une hi´erarchie de concepts telles que nous la pr´esentons en figure 1.19. P (C1) = 1 P (C2) = 1/3 P (chev. = bruns|C2) = 1 P (yeux = verts|C2) = 1/2 P (yeux = bleus|C2) = 1/2 P (C4) = 1/2 P (chev. = bruns|C4) = 1 P (yeux = verts|C4) = 1 P (C5) = 1/2 P (chev. = bruns|C5) = 1 P (yeux = bleus|C5) = 1 P (C6) = 1/2 P (chev. = blonds|C6) = 1 P (yeux = bleus|C6) = 1 P (C7) = 1/4 P (chev. = blonds|C7) = 1 P (yeux = verts|C7) = 1 P (C8) = 1/4 P (chev. = blonds|C8) = 1 P (yeux = noirs|C8) = 1 P (C3) = 1/3 P (yeux = bleus|C3) = 1/2 P (yeux = noirs|C3) = 1/4 P (chev. = blonds|C3) = 1 P (yeux = verts|C3) = 1/4s

Fig. 1.19 – Exemple d’une hi´erarchie de concepts g´en´er´ee par COBWEB.

A chaque concept de la hi´erarchie est associ´ee une d´efinition g´en´erique des objets constituant la classe. Par exemple, dans la figure 1.19, la classe C2 contient 1/3 des indi-vidus de l’ensemble initial et dans C2 tous les individus ont les cheveux bruns et la moiti´e ont les yeux verts.

L’algorithme COBWEB s’inscrit dans la probl´ematique g´en´erale du clustering puisqu’il s’agit d’optimiser un crit`ere global bas´e sur les deux notions de :

– similarit´e intra-classe, – dissimilarit´e inter-classes.

Le crit`ere CU (Category Utility) [69] est alors utilis´e dans COBWEB pour ´evaluer la qualit´e globale d’un sch´ema de clustering :

CU ({C1, . . . , Ct}) = 1 t t X k=1 p(Ck)[X i X j p(Ai= Vi,j|Ck)2X i X j p(Ai= Vi,j)2] (1.1) Dans cette derni`ere d´efinition,{A1, . . . , Ap} d´esigne l’ensemble des attributs d´ecrivant les objets et {Vi,1, . . . , Vi,ni} le domaine de valeurs de l’attribut Ai. On retrouve dans ce crit`ere les probabilit´es conditionnelles p(Ai = Vi,j|Ck) et p(Ck|Ai = Vi,j)20, formalisant respectivement la similarit´e intra-classe et la dissimilarit´e inter-classes. Si un couple attri-but/valeur (Ai = Vi,j) est ind´ependant d’une classe Ck, alors p(Ai = Vi,j|Ck) = p(Ai = Vi,j) et p(Ai = Vi,j|Ck)2− p(Ai = Vi,j)2= 0. En supposant que cela soit vrai pour tous les couples attribut/valeur, le sch´ema de concepts propos´e est ind´ependant des descriptions et le crit`ere CU atteint son minimum 0. En revanche, ce crit`ere atteint son maximum pour le meilleur sch´ema conceptuel.

La strat´egie de construction de la structure hi´erarchique consiste `a incorporer les objets de fa¸con incr´ementale dans la structure. Chaque nouvel objet est introduit par la racine puis parcourt l’arbre en appliquant successivement l’un des op´erateurs suivants :

Incorporer l’objet dans le cluster,

COBWEB : Algorithme incr´emental de classification conceptuelle hi´erarchique. Entr´ees : Le nœud courant N de la hi´erarchie de concepts et xi une nouvelle instance `a incorporer,

Sortie : Une hi´erarchie de concepts classifiant l’instance xi. Proc´edure COBWEB(N ,xi)

Si N est un nœud terminal (feuille) alors : cr´eer-nouveaux-nœuds-terminaux(N ,xi) incorporer(N ,xi)

Sinon incorporer(N ,xi)

Pour chaque nœud fils C de N :

Calculer le score d’int´egration de xi dans C Soit P le nœud avec le plus haut score (SI), Soit R le nœud avec le deuxi`eme plus haut score,

Soit SC le score correspondant `a la cr´eation d’un nouveau nœud Q ={xi}, Soit SF le score correspondant `a la fusion des nœuds P et R,

Soit SD le score correspondant `a la division du nœud P (remplac´e par ses fils),

Si SI est le meilleur score alors : COBWEB(P ,xi),

Sinon si SC est le meilleur score alors : initialiser Q relativement `a xi, Sinon si SF est le meilleur score alors : O = fusionner(P ,R,N ) et COBWEB(O, xi),

Sinon si SD est le meilleur score alors : diviser(P ,N ) et COBWEB(N, xi).

Fig. 1.20 – L’algorithme COBWEB.

Cr´eer un nouveau cluster,

Fusionner deux clusters en un seul, Diviser un cluster en plusieurs clusters.

Ces quatre op´erations sont d´etaill´ees en figure 1.21 et viennent en compl´ement de l’algorithme g´en´eral COBWEB report´e en figure 1.20, selon le formalisme propos´e par [67].

COBWEB pr´esente plusieurs limites parmi lesquelles : la difficult´e `a traiter les attributs num´eriques, l’influence de l’ordre dans lequel les objets sont int´egr´es `a la hi´erarchie ou encore le stockage coˆuteux de l’ensemble des instances dans cette hi´erarchie.

Les algorithmes de clustering conceptuel g´en`erent, pour la plupart, une structure hi´erarchique de concepts (graphe ou arbre). De mˆeme que les hi´erarchies peuvent ˆetre g´en´eralis´ees en pseudo-hi´erarchies ou pyramides (cf. 1.6.1), un arbre, obtenu par exemple avec COBWEB, peut ˆetre g´en´eralis´e en une pyramide conceptuelle. Dans ce type de struc-ture, `a chaque nœud est associ´ee une d´efinition en intension, et `a un mˆeme niveau dans la pyramide, chaque concept peut ˆetre partiellement recouvert par au plus deux autres

fonction incorporer(N ,xi)

Mettre `a jour les probabilit´es de N , Pour chaque attribut A de xi :

Pour chaque valeur V de A :

Mettre `a jour la probabilit´e p(V|N). fonction cr´eer-nouveaux-nœuds-terminaux(N ,xi) Cr´eer un nouveau nœud fils M au nœud N ,

Initialiser les probabilit´es de M `a partir des probabilit´es de N , Cr´eer un nouveau fils O au nœud N ,

Initialiser les probabilit´es de O `a relativement `a xi. fonction fusionner(P, R, N )

Cr´eer un nouveau nœud fils O au nœud N ,

Mettre `a jour les probabilit´es de O par moyenne des probabilit´es de P et R, Supprimer les nœuds fils P et R de N ,

Ajouter P et R comme nœuds fils du nœud O, Retourner O.

fonction Diviser(P, N ) Supprimer le nœud fils P de N ,

Ajouter chaque nœud fils de P comme nouveau nœud fils de N .

concepts. Ces travaux plutˆot r´ecents sont pr´esent´es dans [20] et ont donn´e lieu au syst`eme SODAS [47].