1 / 64

Groupement (Clustering)

Groupement (Clustering). Objectifs Distances Algorithmes Méthodes par partitionnement Méthodes hiérarchiques Méthodes par densité Méthodes par grilles. 1. Objectifs et Définitions. Classification automatique d'objets

teleri
Download Presentation

Groupement (Clustering)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Groupement (Clustering) Objectifs Distances Algorithmes Méthodes par partitionnement Méthodes hiérarchiques Méthodes par densité Méthodes par grilles

  2. 1. Objectifs et Définitions • Classification automatique d'objets • en se basant sur une mesure de similarité (ou distance) pour grouper les données • Buts : • Maximiser la similarité intra-classes et minimiser la similarité inter-classes. • Mesurer la distance en assimilant un tuple à un point dans un espace à n dimensions.

  3. Méthode non supervisée • Méthode permettant de découvrir les groupes (clusters) d'individus similaires • Application aux tables relationnelles • Formation de groupes de tuples (clusters) à partir d'une fonction de distance • On met ensemble les tuples les plus "proches" • On ne connaît pas les classes à priori • elles sont à découvrir automatiquement • Il est parfois possible d'en fixer le nombre

  4. Objectifs • Passage à l'échelle • espaces de grande dimension supportés • nombreux objets lus une seule fois en base • Robustesse • indépendance à l'ordre de parcours de la base • capacité à découvrir des groupes de toute forme • insensibilité aux points isolés (outliers) • insensibilité au bruit • Lisibilité • comment donner un sens aux résultats ? • comment interpréter les classes ?

  5. Similarité • Problèmes : • La notion de distance et d’appartenance à un groupe varie selon le domaine • Indice de similarité • S1) s est symétrique : s(w, w’) = s(w’, w) • S2) s(w, w) = s(w’, w’) > s(w, w’) C’est une constante supérieur : smax • Indice de dissimilarité: • ne vérifie pas S2) mais S2’)  w , di(w, w) = 0

  6. Distance • Distance : indice de dissimilarité qui vérifie également : • (D1) d(w, w’) = 0 => w = w’ • (D2) pour tout w, w’,w” de , d(w, w’)  d(w, w”) + d(w”, w’) • Indice de distance : indice de dissimilarité qui ne vérifie que (D1) • Ecart : indice de dissimilarité qui ne vérifie que (D2) /* inégalité triangulaire */

  7. Distances (données numériques) • Distance euclidienne générale : • d2(w1, w2) = S(x1 – x2) M (x1 – x2) • avec M une matrice symétrique définie positive • Distance du 2 : • d2(w1, w2) = j=1p 1/x.j (x1j / x1. – x2j/ x2.)2 avec x.j = i=1n xij et xi. = j=1p xij

  8. Distances (données numériques) • Distance de Minkowsky : • d(w1, w2) = [ j=1p |x1j – x2j| ] 1/ • pour  = 1, on a les valeurs absolues (distance de Manhattan) • pour  = 2, on a la distance euclidienne simple (M = I) • pour  -> +, on obtient la distance de Chebyshev  (ultramétrique): • d(w1, w2) = Max j |x1j – x2j|

  9. Distances (données binaires) • On considère x1 et x2 deux vecteurs binaires : • Soit a le nombre de fois où x1j = x2j = 1 • Soit b le nombre de fois où x1j = 0 et x2j = 1 • Soit c le nombre de fois où x1j = 1 et x2j = 0 • Soit d le nombre de fois où x1j = x2j = 0 • Exemple de similarités souvent utilisées : • D1(x1, x2) = a / (a+b+c+d) • D2(x1, x2) = a / (a+b+c) • D3(x1, x2) = 2a / (2a+b+c) • D4(x1, x2) = a / (a+2(b+c)) • D5(x1, x2) = (a+d) / (a+b+c+d)

  10. Distances (données qualitatives) • Similarités entre individus : • codage disjonctif complet; permet de se ramener à un tableau de variables binaires -> utilise les notions des variables quantitatives (surtout 2) • Similarités entre variables : • considère le tableau de contingence associé à deux variables v1 et v2 • permet de définir un similarité entre les variables. • Par exemple la valeur du 2 de contingence peut-être utilisé comme similarité entre les variables.

  11. Ressemblance : approche de Tversky • Notion de similarité non basée sur la distance: • similarité n’est pas une relation symétrique • “A est similaire à B” : sujet A et référence B : • sujet peut ne pas ressembler autant à la référence que la référence au sujet

  12. Notion de ressemblance et ensembles flous •  : ensemble de référence • F() : ensemble des sous-ensembles flous de  • Un sous-ensemble flou A de F() est caractérisé par sa fonction d’appartenance fA définie sur F() à valeurs dans [0,1]. • Cette fonction d’appartenance donne pour chaque x de  le degré fA(x) avec lequel il appartient au sous-ensemble A • Ressemblance : • R(A, A) = 1 • Si (B  A) alors R(A, B) = 1 • Si (A  B) =  alors R(A, B) = 0

  13. Principales Méthodes (1) • Méthodes par partitionnement: • Construire k partitions et les corriger jusqu'à obtenir une similarité satisfaisante • k-means, k-medoids, CLARANS • Méthodes hiérarchiques: • Créer une décomposition hiérarchique par agglomération ou division de groupes similaires ou dissimilaires • AGNES, DIANA, BIRCH, CURE, ROCK, …

  14. Principales Méthodes (2) • Méthodes par densité: • Grouper les objets tant que la densité de voisinage excède une certaine limite • DBSCAN, OPTICS, DENCLUE • Méthodes par grille: • Diviser l'espace en cellules formant une grille multi-niveaux et grouper les cellules voisines en terme de distance • STING, WaveCluster, CLIQUE • Méthodes par modèle: • Modéliser les groupes et utiliser le modèle pour classer les points • COBWEB, Neural Networks

  15. 2. Méthodes par Partition • N objets sont classés en k-partitions • Construire k partitions et les corriger jusqu'à obtenir une similarité satisfaisante • Optimisation d'une fonction d'objectif • similarité inter-classe • k-means, k-medoids en mémoire • compression possible • CLARANS pour les BD

  16. 2.1 K-Means • Méthode des K-moyennes (MacQueen’67) • choisir K éléments initiaux "centres" des K groupes • placer les objets dans le groupe de centre le plus proche • recalculer le centre de gravité de chaque groupe • itérer l'algorithme jusqu'à ce que les objets ne changent plus de groupe • Encore appelée méthode des centres mobiles

  17. Algorithme • Étapes: • fixer le nombre de clusters: k • choisir aléatoirement k tuples comme graines (centres) • assigner chaque tuple à la graine la plus proche • recalculer les k graines • tant que des tuples ont été changés • réassigner les tuples • recalculer les k graines • C'est l'Algorithme le plus utilisé

  18. Exemple de K-Means (k=2) Choisir 2 graines Assigner les tuples Recalculer les centroïdes Réassigner les tuples

  19. Trajectoire des centres Trajectoires des 3 centres d’un nuage de points bidimensionnel Les hyperplans séparateurs entre les classes

  20. Autre exemple (1) • 27-51-52-33-45-22-28-44-40-38-20-57 • K=3 • distance = différence/amplitude maximum • Cluster 1 : 27 - 33 - 22 - 28 - 38 - 20 • Cluster 2 : 51 - 45 - 44 - 40 • Cluster 3 : 52 - 57

  21. Suite exemple (2) • Cluster 1: • 27 - 33 - 22 - 28 - 20 Jeunes majeurs - Centre = 26 • Cluster 2: • 45 - 44 - 40 - 38 Quadragénaires - Centre = 41.75 • Cluster 3: • 51 - 52 - 57 Quinquagénaires - Centre = 53.33

  22. Faiblesse • Mauvaise prise en compte des "outliers" • points extrêmes en dehors des groupes • fausses les moyennes et donc les centres • Convergence plus ou moins rapide • Amélioration: • utilisation de points centraux (médoïdes)

  23. 2.2 k-Médoïds • Kaufman & Rousseeuw’87 • Les centres sont des points effectifs • recherche de centres approchés des groupes • calculés par substitution aléatoire: • choix aléatoire d'un nouveau centre • calcul de la différence en distance des points • substitution si la différence est négative • essai de tous les couples (x,y) de chaque groupe • l'un est centre, l'autre non

  24. Forces et faiblesses • Connue sous le nom PAM • Partitioning Around Medoids • Beaucoup plus coûteuse que K-Means • Plus de calculs • Plus robuste que k-means • Plus insensible aux "outliers"

  25. 2.3 CLARA et CLARANS • CLARA (Clustering LARge Applications) • Kaufmann and Rousseeuw 1990 • Tire des petits échantillons successifs de la base • exemple: 5 de 40 points • Applique PAM à chaque échantillon • isole les médoids • retourne le meilleur clustering • La qualité d'un clustering est mesurée par la dissimilarité des objets de chaque partition sur toute la base

  26. CLARANS (1) • A Clustering Algorithm based on Randomized Search • Ng and Han’94 • Recherche d'un échantillon représentatif • Exploration d'un graphe où chaque nœud correspond à un ensemble de k médoids solution • Deux nœuds sont voisins s'ils différent d'un seul médoid

  27. CLARANS (2) • Chaque nœud est affecté d'un coût mesurant la dissimilarité totale des points avec le médoid de leur cluster • Il s'agit de rechercher le point de coût minimum du graphe • Algorithme de type "branch and bound" • A chaque étape, les voisins du nœuds courant sont évalués; celui correspondant à la descente maximum du coût est retenu comme solution suivante • Plus efficace que CLARA et résultats meilleurs

  28. 3. Méthodes hiérarchiques • Créer une décomposition hiérarchique en groupes (clusters) • par agglomération de groupes similaires • par division de groupes dissimilaires • AGNES, DIANA, BIRCH, CURE, ROCK, Cameleon

  29. 3.1 Agglomération - Principe • Etapes : • Chaque individu représente un groupe • Trouver les deux groupes les plus proches • Grouper ces deux groupes en un nouveau groupe • Itérer jusqu'à N groupes

  30. Agglomération • Exemple 1 3 18 22

  31. Variante • Calculer les distances de tous les points deux à deux. • Associer tous les points dont la distance ne dépasse pas un seuil. • Calculer le centre de chaque cluster. • Répéter le processus avec les centres et un nouveau seuil jusqu ’à l’obtention du nombre de cluster souhaité.

  32. Exemple (1) • Points 27 - 51 - 52 - 33 - 45 - 22 - 28 - 44 - 40 - 38 - 20 - 57 • distance = |p1-p2| / E(pi) ; seuil = 10 %

  33. Exemple (2) • Nouveaux centres • 27.5 - 51.5 - 33 - 44.5 - 21 - 39 - 57 • seuil = 20 %

  34. Un dendrogramme

  35. Règles de liens • Distance des objets les plus proches • tendance à former des chaînes • Distance des objets les plus éloignés • bonne méthode pour des grappes • Distance des centres • faible résistance aux "outliers" • Distance moyenne • plus difficile à calculer

  36. 3.2 DIANA • DIvide ANAlysis • Kaufmann and Rousseeuw (1990) • Méthode par division récursive • Tous les objets sont placés dans une cluster • Divise de manière hiérarchique les clusters • selon un critère de dispersion des objets • e.g., celle(s) dont les objets les plus proches sont les plus éloignés • Stoppe quand le nombre de clusters est atteint ou les clusters contiennent 1 seul objet

  37. Exemple • Possibilité d'utiliser un seuil de distance

  38. 3.3 BIRCH • Balanced Iterative Reducing and Clustering using Hierarchies • Zhang, Ramakrishnan, Livny (SIGMOD’96) • Par division, incrémentale en une passe • Sauvegarde les informations de clustering dans un arbre balancé • Chaque entrée de l'arbre décrit une cluster • Les nouveaux nœuds sont insérés sous l'entrée la plus proche

  39. Arbre de clustering • CF (N,LS,SS) = Clustering Feature • N: Nombre de points dans la cluster = Moment 0 • LS: Somme des points dans la cluster = Moment 1 • SS: Somme des carrés des points dans la cluster = Mo. 2 • CF Tree • Arbre de recherche équilibré (proche B-tree) • Un noeud mémorise la somme des CF de chaque fils • Les feuilles représentent les clusters • mémorise les CF des clusters • possède un diamètre maximum (seuil)

  40. Construction incrémentale • Phase 1: • parcours de la base pour construire un CF-tree initial en mémoire • une feuille est éclatée quand le seuil de diamètre est dépassé • les moments sont alors remontés aux nœuds internes • Permet d'obtenir un résumé comprimé de la base respectant les caractéristiques de groupage

  41. Algorithme BIRCH

  42. Phase 2: Amélioration des clusters • Si l'arbre ne tient pas en mémoire, augmenter le seuil de diamètre • Etape 2 optionnelle : • Appliquer un algorithme de clustering en mémoire aux nœuds feuilles du CF tree, chaque nœud étant traité comme un point • Placer les points dans la cluster de centre le plus proche

  43. Forces et Faiblesses • Passe à l'échelle avec un grand nombre d'objets • Trouve un bon clustering en une passe et permet d'améliorer ensuite • Marche mieux avec des groupes sphériques • utilisation du diamètre des clusters

  44. 3.4 CURE • Groupe en utilisant des représentants • Utilise un nombre fixe de points pour représenter un groupe • Les points sont choisis: • 1) en choisissant des points écartés • 2) en les déplaçant vers le centre du groupe • A chaque étape, les 2 groupes ayant les représentants les plus proches sont fusionnés

  45. Principes de CURE

  46. Algorithme CURE

  47. Application aux larges BD • Tirer un échantillon • Diviser l'échantillon en p partitions de q points • Grouper les points partiellement dans chaque partition • Enlever les outliers basés sur la taille des groupes • Terminer le clustering de l'échantillon • Grouper la base entière en classant chaque point dans le groupe de son représentant le plus proche

  48. Cure : Forces et Faiblesses • S'adapte bien à la géométrie des clusters • représentant multiples • déplacement du bord vers le centre des représentants • Philosophie pour passer à l'échelle

  49. 4. Méthodes par densité • Principe • Utilisation de la densité à la place de la distance • Un point est voisin d'un autre point s'il est à une distance inférieure à une valeur fixée • Un point est dense si le nombre de ses voisins dépasse un certain seuil

  50. Points denses • q est dense, mais pas p

More Related