IFT 501 Recherche d'information et forage de données Chaptitre 8 : Classification automatique concepts de base et algorithmes André Mayers Automne
VALIDATION DE LA SEGMENTATION Section 8.5 (page 532) 2
L’évaluation de la segmentation Pour la classification supervisée, nous avons défini plusieurs concepts définissant la valeur du modèle : ◦ justesse (accuracy), précision (precision), rappel (recall) Pour la segmentation, quels sont les concepts qui définissent la valeur des segments? L’élément définissant la valeur des segments obtenus ne se trouve pas dans les données, mais dans celui qui analyse les données Pourquoi vouloir alors évaluer une segmentation ◦ Pour éliminer la formation de segment avec des données bruitées ◦ Pour comparer les algorithmes de segmentation ◦ Pour comparer deux segmentations (ensembles de segments) ◦ Pour comparer deux segments 3
Segments trouvés dans des données aléatoires K-means DBSCAN Complete Link 4 Random Points
Aspects l’évaluation de la segmentation 1. Est-ce qu’il existe des motifs non aléatoires dans les données? 2. Est-ce que les segments correspondent à une réalité externe? 3. Jusqu’à quel point le modèle obtenu correspond-il aux données empiriques (sans y ajouter d’information comme les classes)? 4. Entre deux segmentations (ensembles de segments), laquelle est la meilleure? 5. Est-ce que la méthode de segmentation est efficace avec un type de donnée (grande dimension, nominale …)? 6. Quel est le nombre de segments? ◦ Les questions 2, 3, et 4 peuvent être reformulées pour considérer un segment plutôt qu’un ensemble de segments. Validation externe ◦ utilise des informations non contenues dans les données initiales Validation interne ◦ utilise que les informations ayant servi à la segmentation 5
Mesures de la valeur d’une segmentation Les mesures numériques de la valeur d’une segmentation sont classées en trois catégories : ◦ Index externe : mesure la correspondance entre les segments trouvés et les segments réels (ou trouvés par une autre méthode). Entropie ◦ Index interne : mesure la valeur de la segmentation sans référer à des informations externes. Somme des carrés des erreurs (SSE) ◦ Index relatif : mesure la valeur d’un segment ou d’une segmentation obtenue par une méthode par rapport aux résultats d’une autre méthode de segmentation. un index relatif utilise fréquemment des index internes ou externes Dans la littérature, on utilise aussi le terme critère au lieu d’index ◦ le terme index réfère davantage à la valeur numérique alors que critère réfère davantage à la nature de la méthode d’évaluation 6
VALIDATION INTERNE D’UNE SEGMENTATION UTILISANT LA COHÉSION ET LA SÉPARATION section
Mesure interne de la validité d’un segment 8
Cohésion et séparation basée sur le graphe 9 cohésionséparation Une approche basée sur les graphes de proximité peut être utilisée pour mesurer la cohésion et la séparation La cohésion est la somme des poids de tous les liens à l’intérieur d’un segment La séparation est la somme des poids de tous les liens intersegment
Séparation et cohésion basée sur le prototype 10 CiCi CiCi CjCj cici cjcj cici
Mesure globale pour une segmentation 11 Il s’agit de faire la moyenne pondérée des mesures pour chaque segment Attention : ces mesures globales augmentent avec le nombre de segments
Cohésion basée graphe vs basée prototype 12 Si la mesure de proximité est le carré de la distance euclidienne alors il y a équivalence entre le SSE (somme des carrées des erreurs) qui est une mesure de cohésion basée sur le prototype et la mesure de cohésion basée sur les graphes.
Relation entre cohésion et séparation 13
Relation entre cohésion et séparation … La cohésion des segments est une mesure de la ressemblance entre les objets d’un même segment, et ce, pour tous les objets de la base de données ◦ La cohésion est mesurée par exemple avec WSS (within cluster sum of squares) La séparation entre les segments est une mesure du degré de séparation entre tous les segments. ◦ La séparation est mesurée par exemple avec BSS (between cluster sum of squares) 14
Relation entre cohésion et séparation… m1m1 m2m2 m Exemple de la relation lorsqu’on utilise SSE BSS somme des carrés entre segments (mesure de séparation) WSS somme des carrés à l'intérieur des segments (mesure de cohésion) BSS + WSS = constante
MESURE DE VALIDITÉ INTERNE UTILISANT LA MATRICE DE PROXIMITÉ (DE SIMILARITÉ) Section
La corrélation comme mesure de validité interne Deux matrices ◦ Matrices de proximité (MP) ◦ Matrice d’incidence (MI) Une ligne et une colonne pour chaque point (donnée) M(i, j) = 1 i et j appartiennent au même segment M(i, j) = 0 i et j n’appartiennent pas au même segment Calculer la corrélation entre MP et MI ◦ La matrice étant symétrique il s’agit de calculer seulement pour les valeurs au dessus de la diagonale. Une haute corrélation indique que les points qui sont proches l’un de l’autre appartiennent au même segment C’est une mesure qui est inadaptée pour la segmentation basée sur la densité ou la contiguïté. 17
La corrélation comme mesure de validité interne 18 Corr = Corr = Corrélation entre la matrice d’incidence et de proximité de deux ensembles de données segmentés avec k-moyenne. Une corrélation de est-elle significative? Voir les dernières diapositives
Utilisation de la matrice de similarité pour la validation de la segmentation 19 Créer la matrice de similarité en ordonnant les points en fonction de leurs segments et inspecter visuellement
Utilisation de la matrice de similarité pour la validation de la segmentation… 20 la matrice de similarité donne des résultats flous si les segments proviennent de données aléatoires à l’aide de l’algorithme Complete Link
Utilisation de la matrice de similarité pour la validation de la segmentation… 21 la matrice de similarité donne des résultats flous si les segments proviennent de données aléatoires à l’aide de l’algorithme DBSCAN
Utilisation de la matrice de similarité pour la validation de la segmentation 22 DBSCAN DBSCAN retrouve des segments qui n’ont pas une forme globulaire. Dans ce contexte, l’utilisation de la matrice de similarité donne des résultats mitigés.
VALIDATION INTERNE D’UNE SEGMENTATION HIÉRARCHIQUE section
Mesure de validation d’une segmentation hiérarchique Mesure de validation d’une segmentation hiérarchique Le coefficient de la silhouette ◦ combine les idées de la cohésion et de la séparation ◦ s’applique autant aux points qu’aux segments ou à la segmentation Le coefficient de la silhouette d’un point i est ◦ entre -1 et 1 ◦ typiquement entre 0 et 1 ; ◦ plus il est prêt de 1, meilleur est la segmentation. Le coefficient de la silhouette d’un segment ou de la segmentation ◦ faire la moyenne des coefficients des points dans le segment ou dans la base de données 24
Matrice des distances cophénétiques 25 matrice de dissimilarité (dist. euclidi.) p1p2p3p4p5p6 p10,000,240,220,370,340,23 p20,240,000,150,200,140,25 p30,220,150,000,150,280,11 p40,370,020,150,000,290,22 p50,340,140,280,290,000,39 p60,230,250,110,220,390,00 matrice des distances cophénétiques p1p2p3p4p5p6 p100,22 p20,2200,15 0,140,15 p30,220,150 0,11 p40,220,15 0 p50,220,140,15 0 p60,220,150,110,15 0 Min
Le coefficient de corrélation cophénétique CoPhenetic Correlation Coefficient (CPCC) ◦ la corrélation entre la matrice de dissimilarité et la matrice des distances cophénétiques ◦ il est aussi possible de prendre une matrice de similarité pour créer la matrice des similarités cophénétiques ◦ permet d’évaluer la méthode d’agglomération la plus adaptée aux données ◦ pour calculer la corrélation il faut prendre les matrices diagonales pour ne pas prendre les mêmes données deux fois 26 Technique CPCC SingleLink 0.46 CompleteLink 0.63 GroupAverage 0.66 Ward’s 0.64 corr ( 0,240,220,370,340,230,150,200,140,250,150,280,110,290,220,39 ) = 0,46 0,22 0,15 0,140,15 0,110,15
DÉTERMINER LE BON NOMBRE DE SEGMENTS section
Déterminer le bon nombre de segments SSE (Sum of the Squarred Error) SSE est bien pour comparer deux ensembles de segments à partir d’une même base de données ou deux segments en prenant la moyenne des carrés des erreurs (SSE average). SSE peut aussi être utilisé pour calculer le nombre de segments. ◦ Ci-dessous, remarquez les deux coudes (K=5 (pour 5 paires) et K=10 (pour les 10 segments)). 28
29 Mesure de validation interne : SSE Les segments d’une base de données complexes sont rarement bien séparés. SSE des segments obtenus par k-moyenne
Y-A-T-IL DES SEGMENTS? ON PEUT TOUJOURS TESTER AVEC LES DIFFÉRENTS ALGORITHMES POUR VOIR S’IL Y A DES SEGMENTS BIEN FORMÉS. Section
La statistique de Hopkins 31 La statistique de Hopkins évalue si la répartition des objets de la base de données diffère de façon significative d’une base de données où les objets sont répartis uniformément. Il compare les distances (u i ) entre n objets réels et leurs plus proches voisins vs les distances (w i ) entre n objets artificiels et le plus proche voisin de chacun dans la base de données. La statistique de Hopkins est la suivante : Si les objets sont répartis uniformément alors H ind est près de 0,5. S’il y a des segments alors les distances pour les objets réels et leurs plus proches voisins sont plus petites que celles pour les objets artificiels ; et la valeur de H ind se rapproche de 1.
La statistique de Hopkins… 32 Test en répétant 100 fois l’évaluation de la statistique de Hopkins avec p=20
La statistique de Hopkins … 33 o : objets réels, : objets réels sélectionnés * : objets artificiels a)H = 0.49;
La statistique de Hopkins … 34 o : objets réels, : objets réels sélectionnés * : objets artificiels a)H = 0.49; b)H = 0.73; c)H = 0.69; d) H = 0.56 (même base de données que c), mais après une rotation PCA). a) b) d)c)
VALIDATION EXTERNE (SUPERVISÉE) D’UNE SEGMENTATION section
Validité externe Évaluation des segments obtenus avec des informations externes au processus. ◦ Exemple: voir si la segmentation d’un ensemble d’articles de journaux correspond au sujet des articles. ◦ Évaluer si on peut utiliser une méthode de clustering pour classer les données qui autrement devraient être fait à la main ◦ Évaluer une méthode de clustering pour des travaux futurs Chaque objet possède : ◦ Un numéro de classe – donné par des informations externes ; ◦ Un numéro de segment – créé par l’algorithme de segmentation. L’objectif est de mesurer s’il y a une équivalence entre les numéros de classes et les numéros de segments. Deux types de mesures de validité externe ◦ orientées classification ◦ orientées similarité 36
Validité externe – mesures orientées classification 37 Définition des symboles utilisées Pour un segment i et une classe j, nous définissons m = # d’objets m i = # d’objets dans le segment i m j = # d’objets dans la classe j m ij = # d’objets simultanément dans le segment i et dans la classe j p ij = m ij / m i probabilité qu’un objet du segment i appartient à la classe j
Matrice de confusion 38 Les matrices de confusion sont souvent utilisées pour calculer les index de validité interne orientés classification Exemple Résultat de la segmentation avec k-moyenne pour les documents de LA Times. Segment Loisir Finance Inter- national Metro National SportsTotal Total
Validité externe – mesures orientées classification 39
Validité externe – mesures orientées classification 40 Les performances pourraient sans doute être amélioré si on augmentait le nombre de segments. Il est aussi possible de calculer les index pour chaque segment. Par exemple, la classe implicite du segment 1 est métropolitain, sa pureté est donc 506/677, son rappel est 506/943, et on peut déduire que sa F-mesure est 0,39. Résultat de la segmentation avec k-moyenne pour les documents de LA Times. Segment Loisir Finance Inter- national MetroNational SportsTotalEntropie Pureté ,22700, ,14720, ,18130, ,74870, ,39760, ,55230,5525 Total ,14500,7203
Validité externe - mesures orientées similarité Plusieurs index se calcule à l’aide d’une table de contingence. ◦ Justesse (Rand statistic) ◦ Coefficient de Jaccard ◦ Autres mesures (voir le chapitre sur les règles d’association) 41
Validité externe – mesure orientée similarité Étant donné m objets, créer MC et MS de dimension (m*m). MC est la matrice classe, les objets appartiennent à la classe assignée par une information externe. MS est la matrice segment, les objets appartiennent au segment assigné par l’algorithme de segmentation. ◦ MC(i, j) = 1 si i et j appartiennent à la même classe, 0 autrement. ◦ MS(i, j) = 1 si i et j appartiennent au même segment, 0 autrement. 42 Soit D= {p 1, p 2, p 3, p 4, p 5 } Seg 1 = {p 1, p 2, p 3 } ; Seg 2 = {p 4, p 5 } Cl 1 = {p 1, p 2 } ; Cl 2 = {p 3, p 4, p 5 } MCMS p2p3p4p5 p2p3p4p5 p p p p4 1 1
Validité externe - mesure orientée similarité 43 segment ≠segment classe f 11 f 10 f 1+ ≠ classef 01 f 00 f o+ f +1 f +0 |nombres de paires| f 11 : # de paires d’objets appartenant à la même classe et le même segment. f 10 : # de paires d’objets appartenant à la même classe, mais à des segments différents. f 01 : # de paires d’objets appartenant à un même segment, mais à des classes différentes. f 00 : # de paires d’objets appartenant à des classes et des segments différents. Les tables de contingence sont utilisées pour calculer certains index de validité externe orienté similarité.
Validité externe - mesures orientées similarité 44 segment ≠segment classe 224 ≠ classe Soit D= {p 1, p 2, p 3, p 4, p 5 } Seg 1 = {p 1, p 2, p 3 } ; Seg 2 = {p 4, p 5 } Cl 1 = {p 1, p 2 } ; Cl 2 = {p 3, p 4, p 5 } matrice idéale de similarité pour les classes (MC) matrice idéale de similarité pour les segments (MS)classe x segment p2p3p4p5 p2p3p4p5 p2p3p4p5 p p p p
Validité externe - mesures orientées similarité 45 MCMS p2p3p4p5 p2p3p4p5 p p p p4 1 1 La corrélation entre les matrices de similarité idéales pour les classes et les segments est un indice de concordance entre les segments obtenus par un algorithme et les classes données par une information externe. corrélation (MC, MS) = 0,16667 Dans le livre, page 551, ils arrivent à 0,359 parce qu’ils ne prennent pas les matrices diagonales. C’est une erreur.
Validité externe pour une segmentation hiérarchique. L’idée de base est d’évaluer si une segmentation hiérarchique possède, pour chaque classe, des segments relativement pures et contenant globalement la majorité des objets de la classe associée. 1.Pour chaque classe, calculer le F-measure de chaque segment et prendre la valeur la plus grande 2.Calculer le F-measure global pour la segmentation hiérarchique i.e. la moyenne pondérée par la taille des classes des valeurs de F-measure retenues à l’étape 1. Plus formellement, le F-measure global pour la segmentation hiérarchique est 46
NIVEAU DE SIGNIFICATION DES MESURES DE VALIDATION Section
Niveau de signification des mesures de validité Il faut un framework pour interpréter les mesures de validité d’une segmentation. ◦ Par exemple, si une des mesures donne 10, est-ce bien ou mal? Les statistiques donnent un framework pour interpréter les mesures : ◦ Plus le résultat d’une segmentation est atypique, plus il est plausible qu’il soit une représentation valide de la structure des données ◦ Plus spécifiquement, nous pouvons comparer la valeur de notre index à celles obtenues avec des données ou des segments aléatoires, Moins la valeur de l’index est probable avec des données aléatoires alors plus il est probable que la segmentation représente la structure des données. ◦ Cette approche ardue et difficile à comprendre. Une approche semblable peut être utilisée pour comparer deux segmentations ◦ Il s’agit alors de vérifier si la différence entre les deux index est significative 48
Approche intuitive pour la signification du SSE Exemple ◦ Il s’agit de comparer un SSE = pour les trois segments de droite avec les SSE de 500 segmentations de trois segments sur des ensembles de données aléatoires, mais dans une même étendue de valeurs ◦ L’histogramme montre les SSE obtenus pour des segmentations de 3 segments avec 500 ensembles de 100 données aléatoires prises dans une étendue de 0.2 – 0.8 pour les attributs x et y. 49
Approche intuitive pour la corrélation Corrélation entre les matrices d’incidence et de proximité de segmentation obtenues par k-moyennes a)pour des segments bien séparés b)pour des segments issus d’un ensemble aléatoire de points c)histogramme des corrélations pour des ensembles aléatoires de points La plus grande valeur n’atteint pas Corr = a) Corr = b) c) Les valeurs négatives sont dues à une erreur de transcription.
Dernier commentaire sur la validation des segments « La validation des structures des segments est la partie la plus frustrante de l’analyse par segmentation. Sans un gros effort dans cette direction, l’analyse par segmentation restera un domaine accessible qu’aux adeptes courageux et ayant une grande expérience. » Algorithms for Clustering Data, Jain and Dubes 51
Résumé L’analyse par segmentation ◦ groupe les objets en se basant sur leurs similarités ; ◦ a beaucoup d’applications. Il existe des mesures de similarité pour la grande majorité des types de données. Les algorithmes de segmentation peuvent réparties entre plusieurs catégories : partitionnement, hiérarchique, basé sur la densité, basé sur les grilles et basé sur des modèles. La détection et l’analyse des données marginales sont très utiles pour la détection des fraudes … et peuvent être réalisées par des approches statistiques, basées sur la distance, ou basées sur la déviation. Il existe beaucoup d’éléments de recherche dans le domaine de l’analyse par segmentation, nous avons parlé de la validation des segments obtenus, mais il en existe beaucoup d’autres comme la segmentation basée sur les contraintes. 52