Regroupement hiérarchique

Dans le domaine de l'analyse et de la classification automatique de données, le regroupement hiérarchique est un partitionnement de données ou clustering, au moyen de diverses méthodes, dites « ascendantes » et « descendantes ».

Classification descendante hiérarchique

Les méthodes dites « descendantes » partent d’une solution générale vers une autre plus spécifique. Les méthodes de cette catégorie démarrent avec une seule classe contenant la totalité puis se divisent à chaque étape selon un critère jusqu’à l’obtention d’un ensemble de classes différentes.

Classification ascendante hiérarchique

À l'inverse des méthodes dites « descendantes », la classification ascendante hiérarchique [1] est dite « ascendante » part d'une situation où tous les individus sont seuls dans une classe, puis sont rassemblés en classes de plus en plus grandes. Le qualificatif « hiérarchique » vient du fait qu'elle produit une hiérarchie H, l'ensemble des classes à toutes les étapes de l'algorithme, qui vérifie les propriétés suivantes :

  • Ω H {\displaystyle \Omega \in H}  : au sommet de la hiérarchie, lorsqu'on groupe de manière à obtenir une seule classe, tous les individus sont regroupés ;
  • ω Ω , { ω } H {\displaystyle \forall \omega \in \Omega ,\{\omega \}\in H}  : en bas de la hiérarchie, tous les individus ω {\displaystyle \omega } se trouvent seuls ;
  • ( h , h ) H 2 , h h = {\displaystyle \forall (h,h')\in H^{2},h\cap h'=\emptyset } ou h h {\displaystyle h\subset h'} ou h h {\displaystyle h'\subset h}  : si l’on considère deux classes du regroupement, alors soit elles n'ont pas d’individu en commun, soit l'une est incluse dans l’autre.

C'est une méthode de classification automatique utilisée en analyse des données ; à partir d'un ensemble Ω {\displaystyle \Omega } de n individus, son but est de répartir ces individus dans un certain nombre de classes.

La méthode suppose qu'on dispose d'une mesure de dissimilarité entre les individus ; dans le cas de points situés dans un espace euclidien, on peut utiliser la distance comme mesure de dissimilarité. La dissimilarité entre des individus x et y sera notée d i s s i m ( x , y ) {\displaystyle dissim(x,y)} .

Algorithme

Principe

Initialement, chaque individu forme une classe, soit n classes. On cherche à réduire le nombre de classes à n b c l a s s e s < n {\displaystyle nb_{classes}<n} , ce qui se fait itérativement. À chaque étape, on fusionne deux classes choisies comme les plus « proches », donc à la dissimilarité minimale. Cette valeur de dissimilarité, appelée indice d'agrégation, va croître d'itération en itération, la première étant par principe la plus petite.

Mesure de dissimilarité inter-classe

La dissimilarité de deux classes C 1 = { x } , C 2 = { y } {\displaystyle C_{1}=\{x\},C_{2}=\{y\}} contenant chacune un individu se définit simplement par la dissimilarité entre ses individus. d i s s i m ( C 1 , C 2 ) = d i s s i m ( x , y ) {\displaystyle dissim(C_{1},C_{2})=dissim(x,y)}

Lorsque les classes ont plusieurs individus, de multiples critères permettent de calculer la dissimilarité. Les plus simples sont les suivants :

  • Le saut minimum retient le minimum des distances entre individus de C 1 {\displaystyle C_{1}} et C 2 {\displaystyle C_{2}}  : d i s s i m ( C 1 , C 2 ) = min x C 1 , y C 2 ( d i s s i m ( x , y ) ) {\displaystyle dissim(C_{1},C_{2})=\min _{x\in C_{1},y\in C_{2}}(dissim(x,y))}  ;
  • Le saut maximum est la dissimilarité entre les individus de C 1 {\displaystyle C_{1}} et C 2 {\displaystyle C_{2}} les plus éloignés : d i s s i m ( C 1 , C 2 ) = max x C 1 , y C 2 ( d i s s i m ( x , y ) ) {\displaystyle dissim(C_{1},C_{2})=\max _{x\in C_{1},y\in C_{2}}(dissim(x,y))}  ;
  • Le lien moyen consiste à calculer la moyenne des distances entre les individus de C 1 {\displaystyle C_{1}} et C 2 {\displaystyle C_{2}}  : d i s s i m ( C 1 , C 2 ) = m o y e n n e x C 1 , y C 2 ( d i s s i m ( x , y ) ) {\displaystyle dissim(C_{1},C_{2})=moyenne_{x\in C_{1},y\in C_{2}}(dissim(x,y))}  ;
  • La distance de Ward vise à maximiser l'inertie inter-classe : d i s s i m ( C 1 , C 2 ) = n 1 n 2 n 1 + n 2 d i s s i m ( G 1 , G 2 ) {\displaystyle dissim(C_{1},C_{2})={\frac {n_{1}*n_{2}}{n_{1}+n_{2}}}dissim(G_{1},G_{2})} avec n 1 {\displaystyle n_{1}} et n 2 {\displaystyle n_{2}} les effectifs des deux classes, G 1 {\displaystyle G_{1}} et G 2 {\displaystyle G_{2}} leurs centres de gravité respectifs.

Implémentation en pseudo-code

Entrées :

  • individus : liste d'individus
  • nbClasses : nombre de classes que l'on veut finalement obtenir

Sortie :

  • classes : liste de classes initialement vide, une classe est vue comme une liste d'individus
Pour i=1 à individus.longueur Faire
    classes.ajouter(nouvelle classe(individu[i]));
Fin Pour
Tant Que classes.longueur > nbClasses Faire
    // Calcul des dissimilarités entre classes dans une matrice triangulaire supérieure
    matDissim = nouvelle matrice(classes.longueur,classes.longueur);
    Pour i=1 à classes.longueur Faire
        Pour j=i+1 à classes.longueur Faire
            matDissim[i][j] = dissim(classes[i],classes[j]);
       Fin Pour
    Fin Pour
    // Recherche du minimum des dissimilarités
    Soit (i,j) tel que matDissim[i][j] = min(matDissim[k][l]) avec 1<=k<=classes.longueur et k+1<=l<=classes.longueur;
    // Fusion de classes[i] et classes[j]
    Pour tout element dans classes[j] Faire
        classes[i].ajouter(element);
    Fin pour
    supprimer(classes[j]);
Fin Tant Que

Dendrogramme

Voir l'article : dendrogramme.
Exemple de dendrogramme.

Un dendrogramme est la représentation graphique d'une classification ascendante hiérarchique. Il se présente souvent comme un arbre binaire dont les feuilles sont les individus alignés sur l'axe des abscisses. Lorsque deux classes ou deux individus se rejoignent avec l'indice d'agrégation τ {\displaystyle \tau } , des traits verticaux sont dessinés de l'abscisse des deux classes jusqu'à l'ordonnée τ {\displaystyle \tau } , puis ils sont reliés par un segment horizontal.

À partir d'un indice d'agrégation τ {\displaystyle \tau } , on peut tracer une droite d'ordonnée τ {\displaystyle \tau } qui permet de voir une classification sur le dendrogramme.

Des versions plus complexes d'arbre de classification peuvent aider à construire un arbre de décision.

Notes et références

  1. (en) Gabor J. Székely et Maria L. Rizzo, « Hierarchical clustering via Joint Between-Within Distances: Extending Ward's Minimum Variance Method. », Journal of Classification, vol. 22, no 2,‎ , p. 151-183 (DOI 10.1007/s00357-005-0012-9)

Voir aussi

Bibliographie

  • Thèse « Contextualisation, visualisation et évaluation en apprentissage non supervisé » de Laurent Candillier (Université de Lille 3), 2006/09/15, PDF, 250 pages.

Articles connexes

Liens externes

  • A visual expedition inside the Linux file systems : étude des similarités entre les systèmes de fichiers implémentés dans Linux, et exemple de classification ascendante hiérarchique
v · m
Problèmes
Apprentissage supervisé
Classement
Régression
Réseau de neurones artificiels (ANN)
Apprentissage non supervisé
Clustering
Réduction de dimensions
Réseau de neurones artificiels (ANN)
Optimisation
Théorie
Logiciels
  • icône décorative Portail des probabilités et de la statistique
  • icône décorative Portail de l’informatique