Clustering Christine Decaestecker, ULB Marco Saerens, UCL LINF75 Clustering 1
Classification non-supervisée (automatique) Méthodes de regroupement ("Clustering") Objectif : Sur base - soit d'un tableau de données X np (n individus, p variables) - soit d'un tableau de distances (ou de dissimilarité) inter-individus D nn, ou inter-variables. regrouper les individus en un petit nombre de classe homogène ou (de façon symétrique) regrouper les variables (moins utilisé!) types d'approche: * méthodes non hiérarchiques: => partitionnement en k groupes * * * * * classes * ** * * * * ** ** *** * ** * LINF75 Clustering
* méthodes hiérarchiques : - méthodes ascendantes (agglomératives) => regroupement par agglomération progressive d'éléments (individus ou groupes d'individus) les + proches à - méthodes descendantes (divisives): divisions successives en groupes................... LINF75 Clustering 3
Notions de base nécessaires au regroupement d'individus commune à toutes les méthodes: - mesure de distance ou de proimité (1) dissimilarité similarité inter-individus méthodes non-hiérarchiques: - critère de qualité d'un regroupement () (mesure du d d'homogénéité des groupes et du d de différence inter-groupes méthode hiérarchiques : - critère d'agrégation ou de division (3) Les choi de (1) + () ou (1) + (3) vont complètement déterminer le type de "groupe" à identifier dans les données.! fi on ne trouve que ce que l'on cherche! E: distance euclidienne fi identification de : groupes "sphériques" dans l'espace de données éventuellement agglomérés en chaînes par un certain critère d'agrégation hiérarchique fi utilisation de métrique Æ"forme" plus générale des groupes LINF75 Clustering 4
Distance - dissimilarité - similarité Conditions à satisfaire: distance : (1) d(i,j) = d(j,i) (rappel) () d(i,j) 0 (3) d(i,j) = 0 i = j (4) d(i,j) d(i,k) + d(k,j) (inégalité triangulaire) Si perte de la propriété (4) fi dissimilarité Similarité : (1) s (i,j) = s (j,i) () s(i,j) 0 (3) s(i,i) s(i,j) 1 distance d similarité s = (par eemple) 1 + d dissimilarité d similarité: d (i,j) = s(i,i) s(i,j) + s(j,j) distance Euclidienne possible uniquement si - s(i,i) =1 et la matrice des similarités S nn est définie non-négative : y T S y 0 (c-à-d: s y y 0) "y ÂÂ i k est une distance (vérifie (4)) LINF75 Clustering 5 ik d = (1 - s) i k
Distances - similarités inter-individus 1) Données numériques la plus usitée : distance euclidienne car la plus simple à calculer! points à égales distance d'un centre donné sont sur une "hyper-sphère" => on identifiera des groupes sphériques. Comme les variables ont des dispersions (variances), il est d'usage de normaliser les variables ou d'utiliser D 1s Ê Á = Á Ë comme métrique. Reste le problème des corrélations (covariances) inter-variables => prise en compte par la matrice W (variance-covariance) 1 s1 Mais: si groupes avec des "orientations", des "formes" différentes, chaque groupe G est caractérisé par une matrice W G différente. O 1 sp ˆ LINF75 Clustering 6
Eemple: G 1 matrice W 1 G fi difficulté de choi d'une métrique Eemple de stratégie utilisée: matrice W or G 1 et G inconnus fl W 1 et W pas calculables directement 1) identification de groupes avec une distance euclidienne (ou D 1s ) ) sur base des groupes ainsi identifiés, adaptation (calcul) des matrices W k par groupe. 3) reformation des groupes sur base de métriques "locales" déterminées par (encore appelée distance de Mahalanobis) W k -1 Toute méthode de "clustering" peut être aussi appliquée après une A.C.P. ( qui permet l'élimination des informations globalement corrélées) LINF75 Clustering 7
) Données qualitatives (catégorielles) : Tableau des données Æ tableau disjonctif complet (binaire : présence/absence de modalité) X np Æ Z nm => utilisation de la distance euclidienne : d d ( i, i') = m  j= 1 ( z ij - z i ' j où ( i, i') = nombre de modalité discordantes entre les individus! X 1 X X 3 z ij = 10 0 1 0 1 0 z i'j = 0 1 0 1 1 0 0 (z ij - z i'j ) = 1 1 0 0 1 1 0 ) ( z ij - z i' j ) Ï0 si z = Ì Ó 1 si z ij ij = z z i' j i' j présence ou absence simultanée de la modalité d (i, i') = 4 = nombre de variables qualitatives (X j ) ayant des valeurs! 0 d (i, i') p (p = nombre de variables initiales) LINF75 Clustering 8
mesure de similarité équivalente s( i, i') = p - d 1 = ( p - d ( i, i')) = Nombre de variables qualitatives X j concordantes souvent normalisation des mesures : s( i, i') E : = % de variables concordantes p autre mesure de similarité dans le cas d une variable binaire poids - au concordances 1-1 et 0-0 - au concordances et discordances => tableau des fréquences des concordances / discordances entre individus: individu i' 1 0 individu 1 a b a + b i 0 c d c + d a + c b + d m ( i, i') 0 ~ s ( i, i') 1! on ne tient plus compte du regroupement des modalités par variable qualitative initiale LINF75 Clustering 9
LINF75 Clustering 1 0 M M c b a a s m a s c b d a d a s c b d a d a s m d a s + + = = + + + + = + + + + = + = 5 4 3 1 ) ( ) ( ) ( % de concordances ( distance euclidienne) double pondération des concordances doubles pondération des discordances ne tient compte que des "1-1" ne tient compte que des "1-1" et des discordances ("0-0" considéré comme non-significatif) M Autre distance intéressante: distance c entre les lignes du tableau disjonctif contribution de la modalité "j" Ê si n.j (fréquence d'observation) fi les modalités rares (peu observées) ont un impact élevé! '. '), ( Â ˆ Á Á Ë Ê - = j j i ij p z z j n n i i d
3) Données mites Soit - transformation des variables numériques en variables catégorielles (découpage en intervalles Æ pris comme modalités) fi distance/similarité sur tableau disjonctif - transformation des variables catégorielles en variables numériques - utilisation de mesures "mites" Principes d'une mesure mite : soit X np (p variables) d p 1 ( i, i') = Âd p j= 1 avec 0 d j 1 " j j ( i, i') Pour une variable numérique Ê ˆ ij - ij' Á Ë s j E : d j ( i, i') = È Ê ˆ Ê ij ÍmaÁ - miná i i ÍÎ Ë s j Ë s contribution de la variable "j" d j = 0 ij = i'j ij j ˆ intervalle de variation s = variance de la variable j X j LINF75 Clustering 1 1
Pour une variable qualitative E :! d j ( i, i') = 0 si ij = ij' = 1 sinon Les p variables ont des contributions indépendantes!! LINF75 Clustering 1
Similarité - association inter-variables Variables numériques Æ indice de corrélation - linéaire - des rangs aussi pour variables ordinales! Variables qualitatives distance du c + de nombreu indices d'association Principe : variables proches si les individus ont des entre les variables. valeurs similaires (qualitatives) valeurs corrélées (quantitatives) fi détection de groupes de variables similaires fi un groupe de variables similaires peut être remplacé par une seule variable représentative du groupe! fi fait apparaître des relations inter-variables! LINF75 Clustering 1 3
Méthode de partitionnement (non-hiérarchique) Principes de base : méthode de réallocation autour de centres mobiles. Méthode des "K-means" : K fié = nombre de groupes 0) Choisir K centres provisoires de groupe parmi les items à classer (par tirage aléatoire par eemple) réallocation Æ1) Allouer chaque item au groupe dont le centre est le plus proche recentrage Æ ) Calculer les centres de gravité des groupes formés en 1) 3) Répéter 1) et ) jusqu'à stabilisation. c 1 c g 1 g g 1 g LINF75 Clustering 1 4
Justification de la méthode Inertie d'un groupe G k (k : 1 Æ K) Inertie intra-groupe : Inertie inter-groupe: k  I W = I k k = 1 k  k =1 I B = G k d g k,g avec g = centre de gravité global (du nuage total) G k = n(k) = effectif du groupe G k I k =  d ( i,g k ) iœg k ( ) On a I = I + tot W I B I tot : = n  i =1 d ( i,g) g g 1 g g 3 g i intra + inter LINF75 Clustering 1 5
Une bonne partition des classes I W minimum (groupes homogènes) I B maimum (séparation inter-groupe)! I W diminue si K augmente fi ne permet pas de trouver le nombre idéal de groupes! mais permet de comparer partitions en K classes : la meilleure I W minimum (ou I B maimum) Propriété de la méthode des K-means : A chaque étape de réallocation-recentrage 1) + ), on peut montrer que I W diminue fi stabilisation lorsque I W ne diminue plus. Les plus grandes ÿ se font dans les premières étapes => la partition converge assez rapidement. ( +/- 10 itérations de 1) + )). Avantages de la méthode : - rapide et facile à mettre en œuvre - permet de traiter de grandes bases de données. LINF75 Clustering 1 6
Convergence de la méthode L inertie intra-classe est définie par L inertie totale est LINF75 Clustering 1 7
Convergence de la méthode Première étape: Et donc: On obtient ainsi: LINF75 Clustering 1 8
Convergence de la méthode Et donc Si bien que l on trouve que le prototype doit être le centre de gravité! LINF75 Clustering 1 9
Convergence de la méthode Deuième étape: Si p i (k) est la probabilité d affectation d une observation i à la classe d indice k (= règle d affectation des observations au classes), nous avons Nous observons facilement que la règle d affectation optimale est d affecter l observation à la classe la plus proche LINF75 Clustering 0
Convergence de la méthode Dès lors, l étape 1 et l étape diminuent successivement l inertie intraclasse Comme cette inertie ne peut pas être négative, cette diminution d inertie doit tendre vers zero Ainsi, la procedure converge LINF75 Clustering 1
Défauts de la méthode : 1) obligation de fier K. ) le résultat dépend fortement du choi des centres initiau. => ne fournit pas nécessairement le résultat optimum (c-à-d la partition en K groupes pour laquelle I W est minimum) => fournit un optimum local qui dépend des centres initiau. Remédiations Æ de nombreu développements. 1) pour la dépendance au choi des centres initiau : - approche simple : recommencer avec plusieurs tirages aléatoires de centres ( en nombre K identique). choisir la partition avec I W minimum. ( si aucun groupe vide, c-à-d même nombre de groupes!) - recherche de groupements stables (ou "formes fortes"): 1) effectuer plusieurs partitions en K classes (centres initiau différents) ) repérer les individus restés ensemble d'une partition à l'autre nombreu groupes stables d'effectifs variés (beaucoup de petits groupes!) LINF75 Clustering
3) à partir des groupes stables de grands effectifs (en nbre limité), recommencer la méthode des K-means en initialisant les centres au centres des groupes stables => permet également de déterminer une valeur de K plus appropriée au données! ) Valeur de K - Méthode ISODATA (et nombreu autres dérivés) Intercale des phases de fusion et d'éclatement de groupes dans l'algorithme "K-means". - fusion de groupes si leur distance est faible. (e : distance inter-centre < seuil) - éclatement d'un groupe en sous-groupes si l'inertie du groupe (I G ) est trop grande (> seuil) => paramètres (seuils) à fier!!! - Visualisation des données à partir d une analyse discriminante - Utilisation de critères à minimiser/maimiser autres que l'inertie intra-groupe, qui permettent de comparer des partitions avec des "K" différents!. => choi de la meilleure partition. (e : critère de Condorcet pour données qualitatives) => aspect important de la recherche en "clustering"! => il faut cependant se méfier de tels critères LINF75 Clustering 3
Méthode hiérarchiques (ascendantes) Principes : 1 élément = 1 item à classer ou groupe d'items déjà agrégés! 1) n éléments à classer matrice des distances (ou similarité) des n éléments à Æ Dis nn Ê0 Á Á Dis = Á Á Á Á Ë d 0 i' i 0 d ii' 0 ˆ 0 (matrice symétrique, 0 sur la diagonale) ) identification des éléments les + proches (d ii' minimum) Æ agréger en un nouvel élément 3) reste n éléments initiau + 1 nouvel élément => inter-distances connues calcul de la distance entre le nouvel élément (résultant de l'agrégation) et tous les autres. à définir = critère d'agrégation LINF75 Clustering 4
E : 4) recommencer les étapes ) et 3) jusqu'à l'agrégation complète : 1 seul élément qui regroupe tous les autres. 1 3 4 5 Etapes : 1 3 4 5 fi suite de n partitions emboîtées à n, n 1,, k,, 1 groupe(s) telle que : partition en k groupes obtenue en regroupant groupes de la partition en k + 1 groupes LINF75 Clustering 5
Représentation sous forme de arbre hiérarchique ou "dendrogramme" distance (9) P 1 (8) (7) (6) (1) (3) (4) () (5) éléments initiau = items à classer P P 3 P 5 P 4 nœuds de l'arbre = groupes P k = partition en k classes (suite emboîtée : P n Æ P 1 ) fi hauteur des branches = distances entre les éléments regroupés. => de + en + hautes en montant dans la hiérarchie. LINF75 Clustering 6
Critère d'agrégation = distance / dissimilarité inter-groupes différents critères fi différentes hiérarchies! Critères les plus souvent utilisés critère - du "saut minimal" ("single linkage") d(g 1,G ) = Min d( (1), () ) (i) Œ G i - du "saut maimal" ("complete linkage") d(g 1,G ) = Ma d( (1), () ) - de la distance moyenne ("average linkage") d(g 1,G ) = 1 d( (1), () ) G 1.G  - de l'inertie (Méthode de Ward) Remarque préliminaire:! la notion d'inertie n'a de sens que pour des mesures de distances inter-individus ( c-à-d utilisant une métrique M symétrique, définie positive -1 comme I, D,, ou la distance c entre vecteurs binaires, pour des données 1 V s qualitatives). LINF75 Clustering 7
On peut montrer qu'entre partitions consécutives P k + 1 Æ P k (obtenue après fusion de éléments de P k + 1 ) : I B decroit et I W augmente ( I tot reste constante) fi fusionner les éléments A et B de P k + 1 tels que : I W (P k ) - I W (P k +1 ) minimum ou (équivalent) I B (P k ) - I B (P k +1 ) minimum d (A, B) = A.B A + B. d (g A,g B ) min A = effectifs de A g A = centre de gravité de A LINF75 Clustering 8
Méthode de Ward Démontrons d abord une relation utile à propos de l inertie par rapport à un vecteur z g est le centre de gravité du nuage de points de points i pondérés par n(i) n est ici le nombre de i différents LINF75 Clustering 9
Méthode de Ward L inertie du nuage de points par rapport à un point quelconque z revient à prendre l inertie du nuage de points par rapport à son centre de gravité g plus l inertie du centre de gravité g par rapport à z, en le pondérant au prorata du nombre de points qu il représente LINF75 Clustering 3 0
Méthode de Ward Nous avons donc: Soient deu groupes A et B devant être fusionnés LINF75 Clustering 3 1
Méthode de Ward Nous avons donc pour le centre de gravité commun Calculons l inertie inter-classe (between) avant (k + 1 groupes) et après (k groupes) fusion Dans le cas de l inertie inter-classe (between), après fusion, l on a un grand groupe de (n A + n B ) données avec, comme centre de gravité, g AB : LINF75 Clustering 3
Méthode de Ward Nous allons appliquer notre décomposition par rapport à un vecteur z Ce vecteur sera z = g dans ce cas-ci Il n y a que deu groupes (A et B), chacun représentant n A et n B observations Attention, le centre de gravité des deu groupes sera g AB et non pas g dans ce cas-ci! Il y aura donc décomposition en somme des inerties intra-classe et inertie par rapport à z = g LINF75 Clustering 3 3
Méthode de Ward Nous avons donc avant fusion (k + 1 groupes): où pour passer de la première à la deuième ligne, nous avons appliqué notre formule Dans laquelle nous remplacons n = ; 1 = g A ; = g B ; n(1) = n A ; n() = n B ; z = g; g = g AB (centre de gravité des données fusionées); N = n A + n B LINF75 Clustering 3 4
Méthode de Ward La différence est donc LINF75 Clustering 3 5
Eemple illustratif : élément A élément B d (A, B) critère 3 4 1 5 d (, 4) saut minimal 1 5 d (1, 5) saut maimal 3 1 4 5 1 ( d + d14 + d15 + d3 + d4 + 6 13 d5 ) distance moyenne ga g AB g B I - ( I + I B ) AB A inertie fi Variation importante des résultats (dendogramme) en fonction du critère choisi! (sauf si les groupes sont bien distincts) LINF75 Clustering 3 6
Eemple : saut minimal effet de chaînage entre groupes proches - indiscernables par - identifiable par saut minimal saut minimal (non ellipsoïdal) - discernables par - pas par saut maimal! saut maimal => compromis : distance moyenne LINF75 Clustering 3 7
En pratique : Essayer plusieurs méthodes / critères d'agrégation => détection de groupes stables surtout en "haut" des dendrogrammes! => partitions à faible nbre de groupes Problème de la coupure de l'arbre (pour déterminer une partition intéressante) à opérer : - après la série d'agrégation à faibles distances (branches courtes de l'arbre) et - avant les agrégations à grandes distances (branches longues) eemple : => 4 groupes (! pas toujours facile fi plusieurs propositions équivalentes de partitions à 3, 4, 5 groupes) toute méthode de regroupement (hiérarchique ou non) est sensible au points! aberrants ("outliers") très éloignés des autres. => à repérer (par la distance inter-points) et à omettre/isoler avant d'appliquer la(les) méthode(s). LINF75 Clustering 3 8
Méthodes mites => combiner les différentes approches pour un meilleur résultat (+ stable) Schéma : outliers à "isoler" données initiales 1) partition initiale - K-means - groupes stables ) classification hiérarchique au départ des centres. 3) partition en 3 classes par coupure de l'arbre 4) consolidation par réallocation au centres (K-means) LINF75 Clustering 3 9
Interprétation - description des groupes - centroïde de classes (variables numériques) g k T = [m k1,m k,...,m kp ] (vecteur des moyennes par groupe) - valeur-test = indice d'importance des variables = statistique d'écart entre valeurs internes au groupe et valeurs globales! Variables numériques : X i : comparaison de la moyenne dans le groupe G k (m ki ) et la moyenne générale (m i ) (en tenant compte de la variance de X i dans le groupe: ) mki - mi => valeur-test dans le groupe G k : tk ( X i ) = s ki s ki t k (X i ) = mesure de distance entre la moyenne du groupe et la moyenne générale en nbre d'écart-type. plus t k ( i ) est grand, plus X i est caractéristique de G k (valeur absolue) LINF75 Clustering 4 0
Variables nominales : fi modalité 'j' caractéristique de G k? nkj Comparaison des fréquences d'observation dans G k : et nk n dans l'ensemble des données : j n n kj n j plus >>> plus la modalité est caractéristique. n n => mesure : n n kj k n j - n LINF75 Clustering 4 1
Complémentarité entre Analyse Factorielle (A.C.P. ou A.C.M.) et regroupement Objectif pratique : décrire (tirer de l'information) d'un ensemble de données de grande taille. mise en œuvre de plusieurs techniques pour en avoir une vue plus complète! Eemple de stratégie : 1) Analyse factorielle : (A.C.P. ou A.C.M. suivant les données) => * 1ères visualisations (à dimensions) * réduction des données au q premiers facteurs importants fi élimine les fluctuations aléatoires ("bruit") qui constituent en général l'essentiel de la variance epliquée/recueillie par les derniers facteurs fi "lissage" de données fi homogénéité des sous-groupes! * système d'aes orthonomés => utilisation de la distance euclidienne LINF75 Clustering 4
) Regroupement sur base des facteurs (dist. euclid.) avec interprétation des groupes 3) Visualisation des groupes sur le plan principal (éventuellement analyse discriminante) => repérer les individus appartenant à un même groupe => repérer la position des centres de gravité. => contrôle de * la position des groupes (ou centres de gravité) * leur forme * leur densité * leur dispersion intra-groupe/inter-groupe * leur séparation + contrôle de la signification/qualité des facteurs principau. Ae 1 rend compte d'un maimum de variabilité => devrait rendre compte de la séparation inter-groupe! Meilleur interprétation des aes grâce à la description des classes! fi validation mutuelle!! + aspects théoriques qui justifient cette complémentarité "intuitive" ( non détaillée ici) (eemple : critère de Ward est basé, comme l'a.c.p., sur la notion d'inertie) LINF75 Clustering 4 3