Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55 p. /55 rincipe Applications Découvrir des paquets homogènes d exemples. Segmenter un ensemble en sous-ensembles d objets similaires Cartes de crédits Définir des groupes d utilisateurs de cartes. Données : Etat-civil (age, revenus, ) nombre de retraits Montant des retraits Localisation des GAB utilisés p. 3/55 p. 4/55 Cartes de crédits Applications Groupes homogènes Clients aisés, retraits fréquents et distants Clients frileux : un seul retrait important Cibler les mailings. Caractériser les clients sans connaissance initiale Biologie / Génomique Notion de distance entre animaux (gènes, protéines) Identifier les espèces proches Créer un arbre généalogique p. 5/55 p. 6/55 Biologie, Génomique Remarques Deux portions d ADN seront proches s il faut peu de mutations pour passer de l une à l autre. Deux animaux seront d autant plus proches que leur ADN (ou des portions de leur ADN) seront proches. Regrouper deux par deux les animaux les plus proches On s appuie sur une notion de distance entre exemples. Utilisation de distances définies différemment sur les mêmes exemples : regroupements différents. Besoin d avoir des critères pour juger de la pertinence de la partition. ouvoir influer ou contrôler la forme des amas
Exemple visuel Clustering Iris setosa Facile en dimension 3 Automatiser le processus. Quel est le bon nombre de groupes? Définir ce nombre de groupes?.5.5 44.5 55.566.577.58 3 4 5 6 7 p. 9/55 p. /55 oints importants Mesures nécessaires Algorithmes efficaces (nombre d attributs, nombre d exemples). Attributs de tous types (continus, discrets). Forme des clusters. Ne pas demander à l utilisateur d introduire trop de paramètres (nombre de clusters). Sensibilité au bruit. Lisibilité et interprétabilité des résultats. Notion de distance entre exemples. Mesure de la compacité d un cluster. Mesure de la séparation des clusters. Mesure de valeur de la segmentation. Mesure de la pertinence de la solution. p. /55 p. /55 Attributs tous continus E = (x,,x n )E = (y,,y n ) Distances usuelles : Euclidienne : (x y ) + + (x n y n ) Manhattan : x y + + x n y n Minkowski : n (x y ) n + + (x n y n ) n p. 3/55 p. 4/55 Attributs tous continus Attributs tous continus Echelles différentes attributs dominants. Normaliser avant de calculer les distances. Tout ramener entre et. On peut vouloir garder la dissymétrie entre les attributs : Donner un poids à chaque attribut. Calculer la distance en fonction de ce poids. w (x y ) + + w n (x n y n ) Ne pas laisser l utilisateur manipuler trop de paramètres! Connaissance préalable du domaine.
Attributs non continus Attributs tous binaires Variables booléennes ou binaires. Variables discrètes : nominales ou ordinales. Mesurer la dissimilarité entre deux exemples : Exemple A Exemple B q r s t q : nombre de cas où le même attribut vaut dans les deux exemples. t : nombre de cas où le même attribut vaut dans les deux exemples. r et s : nombre de cas où un attribut n a pas la même valeur dans les deux exemples. p. 7/55 p. 8/55 Attributs tous binaires Attributs binaires : Exemple Même valeur : Attributs binaires symétriques : d(a,a) = d(b,b) = d(a,b) = Attributs binaires asymétriques : d(a,b) = (On ignore la similarité des ). r + s q + r + s + t r + s t + r + s Nom Fièvre Toux test test test 3 test 4 Jack oui non oui non non non Mary oui non oui non oui non Jim oui oui non non non non Tous les attributs sont asymétriques. p. 9/55 p. /55 Attributs binaires : Exemple Nom Fièvre Toux test test test 3 test 4 Jack oui non oui non non non Mary oui non oui non oui non Jim oui oui non non non non d(jack,mary) = + + + =.33 d(jack,jim) = + + + =.66 d(mary,jim) = + + + =.75 p. /55 Attributs discrets d(x i,y i ) = x i = y i discret continu distance normale (introduit une notion d ordre sur les valeurs de l attribut) p. /55 Attributs de différents types Attributs de différents types Comment calculer la distance entre deux exemples? Raisonner comme dans le cas continu. Définir une mesure de dissemblance. Un exemple de mesure de dissemblance diss(i,j) = p k= δ(k) ij d(k) ij p k= δ(k) ij avec : δ (k) ij = si x ik ou x jk sont manquantes. Attribut discret : d (k) ij = si x ik = x jk, sinon.
Distance entre exemples Clustering Mesure de dissemblance Valeur toujours comprise entre et. Traite les valeurs manquantes. Tous les attributs à la même échelle (poids). Les classes de méthodes Algorithmes de partition. Méthodes hiérarchiques. Méthodes par densité. Modélisation. p. 5/55 p. 6/55 Méthodes de partition Méthodes hiérarchiques Choisir (?) une partition initiale en k sous-ensembles. Améliorer itérativement la partition en changeant certains exemples de cluster. On ne peut pas tester toutes les partitions possibles. K-moyennes, K-Medoids Division Diviser le cluster initial : Un seul cluster. Choisir un cluster et un découpage de ce cluster qui diminue le moins une fonction de score (i.e. une mesure de la qualité du découpage). p. 7/55 p. 8/55 Méthodes hiérarchiques Méthodes hiérarchiques : arrêt? Agglomération Regrouper des clusters. Chaque exemple est un cluster. Regrouper les deux clusters qui augmentent le moins une fonction de score. Quand tout est divisé (regroupé). Quand le nombre de clusters voulu est atteint (??) our un certain seuil de la fonction de score. as de condition d arrêt : considérer le résultat comme un modèle. Coupe transversale de l arbre obtenu. p. 9/55 p. 3/55 Méthodes par densité Modélisation Densité d un cluster : nombre d exemples par unité de volume. Ajouter des points à un cluster (regrouper deux clusters) si la nouvelle densité ne diminue pas (ou pas trop ). eu (pas) de contrainte sur la forme des clusters. On fait l hypothèse que les exemples obéissent à une famille de modèles. On cherche les paramètres du modèle qui décrivent le mieux les données.
Les K-moyennes Algorithme Clustering par partition. Choisir k points (les centres des k clusters).. Répéter : 3. Assigner à chaque exemple le cluster le plus proche. 4. Calculer les nouveaux centres des k clusters. 5. Jusqu à ce que : lus rien ne change. La mesure de score atteint un seuil p. 33/55 p. 34/55 K-Moyennes K-Moyennes : le score Complexité : O(nkt) Fonctionne bien pour les attributs continus (moyenne d attributs discrets?). Il faut fixer k. Sensible au bruit, aux intrus (outliers). Minimum local (pas forcément la meilleure solution). Clusters convexes. L algorithme minimise la somme des distances entre les exemples et les centres des clusters : k i Clusters compacts. Favorise les solutions comprenant beaucoup de clusters p C i d(p,m i ) p. 35/55 p. 36/55 Remarques K-Moyennes Essayer avec un nombre différent de clusters. Recommencer avec plusieurs valeurs initiales des clusters. Mesurer la qualité du clustering Compacité des clusters. Séparation des clusters. Score de la partition. p. 37/55 p. 38/55 Compacité des clusters Séparation des clusters Clusters compacts : minimiser wc (distance intra-cluster) K K wc(c) = wc(c k ) = d(x i,c k ) x i C k k= k= Autre fonction possible : wc(c k ) = max i min x C {d(x i,x j )/x i C k,x i x j } Distance inter-clusters (bc) : Distance entre les centres des clusters : bc = d(r j,r k ) j<k K Distance entre ensembles : Distance minimale. Distance maximale.
K-Moyennes Iris en D Valeur de la partition Combiner wc (à minimiser) et bc (à maximiser). ar exemple : ou bien : bc wc αbc + βwc bc + wc.5 setiosa.5 p. 4/55 3 4 5 6 7 p. 4/55 Iris D Outlier setiosa setiosa.5.5.5.5 3 4 5 6 7 p. 43/55 3 4 5 6 7 8 p. 44/55 K-Medoids K-Medoids : algorithme roblème avec les K-moyennes : un exemple très. Choisir k points parmi les exemples(les centres des k clusters). éloigné pèse très fort sur le résultat.. Répéter : Idée : Au lieu de prendre le point central d un cluster, 3. Choisir un centre o j et un point o r (qui ne soit pas un centre). choisir un exemple central par rapport au cluster courant. 4. Regarder si remplacer o j par o r améliore le score. 5. Si oui, effectuer le remplacement. 6. Jusqu à : Un certain nombre d itérations. Score passe sous le seuil. p. 45/55 p. 46/55 K-Medoids : score K-Medoids K i= p C i d(p m i ) Si le centre o j est remplacé par o r Quatre cas à considérer :. soit p appartenait au cluster de centre o j, et p est maintenant plus Si en remplaçant o j par o r, on améliore ce score (en le proche de o r : p est réassigné à o r diminuant), alors on remplace effectivement o j par o r. soit p appartenait au cluster de centre o j, et p est maintenant plus proche de o i : p est réassigné à o i 3. soit p appartenait au cluster de centre o i,i j, et p est maintenant plus proche de o r : p est réassigné à o r
K-medoids Méthodes hiérarchiques p. 49/55 p. 5/55 Méthode agglomérative Méthode agglomérative. Chaque point est seul dans son cluster.. Tant qu il reste plus d un cluster : Trouver les deux clusters les plus proches. Les fusionner. Complexité : n Dépend de la distance entre clusters : Distance minimale : clusters allongés. Distance maximale : clusters de même volume. Distance moyenne. Distance entre centres de clusters. p. 5/55 p. 5/55 Distance entre clusters Méthode agglomérative Lecture : dendrogramme p. 53/55 p. 54/55 Méthode divisive Comment choisir : Le cluster à scinder? Le critère de scission?