Méthodes de classifications
Transcription
Méthodes de classifications
Méthodes de classifications Dhafer Malouche ESSAI-U2S-ENIT http://essai.academia.edu/DhaferMalouche [email protected] Juin-2013 ANR−Do Well Be, Saint Nectaire Plan Introduction Classification hiérarchique Partionnement Indices de validité Méthodes probabilistes pour la classification Introduction Introduction Classification hiérarchique Partionnement Indices de validité Méthodes probabilistes pour la classification 3 Introduction 4 Définition I Algorithmes qui permettent de classer des objets observés dans des classes (appelées clusters). I Les objets d’une même classe doivent être “similaires” et les objets de deux classes différentes doivent être “distincts”. I Différents algorithmes de classification I I I Méthodes Hiérarchiques (classification hiérarchiques...) Partitionnement (k-means..) Méthodes Probabilistes (EM-algorithme...) et encore d’autres... Introduction 5 Les objets I E = {w1 , . . . , wn } un ensemble de n objets (individus) pour lesquels on a observé d “variables” (qualitatives et/ou quantitatives) x 1 , . . . , x d où xij = x j (wi ) est la ième observation de wi selon x j . I On considère wi = (xi,t )t∈Ti i = 1, . . . , n des signaux ou séries temporelles (ST) . I Une matrice D = (dii 0 ), n × n (n est le nombre d’objets à classer), où dii 0 est une mesure de similarité entre deux objets wi et wi 0 , Introduction 6 Etape 1 : calcul des similarités Cas de variables quantitatives. I Distance Euclidienne v u d uX d(wi , wi 0 ) = t (xij − xij0 )2 . j=1 I ou la distance de Minkowski pour tout p > 0 1/p d X d(wi , wi 0 ) = (xij − xij0 )p . j=1 I encore d’autres exemples de distances : Canberra, Manhattan... I Sous R : dist, il faut spécifier I I une matrice de données quantitative le type de distance Introduction 7 Distance entre signaux ou ST I Distance Euclidienne ou l’une des distances déjà définies (Séries sont toutes de même “longueurs”). I Dynamic time wrapping ou Déformation temporelle dynamique (par Keogh & Pazzani, 2001 1 ) 1 I Permet de comparer deux séquences de ST pas forcément de même longueur. I Dilatation ou compression des séquence pour obtenir le meilleur alignement possible I Sous R, package dtw. Keogh, E. J. and Pazzani, M. J. (2001). Derivative dynamic time warping. In the 1st SIAM Int. Conf. on Data Mining (SDM-2001), Chicago, IL, USA. Classification hiérarchique Introduction Classification hiérarchique Partionnement Indices de validité Méthodes probabilistes pour la classification 8 Classification hiérarchique 9 Algorithme ascendant (agrégatif) hiérarchique 1. k = n le nombre de classes 2. Chaque classes contient une observation : n classes C 1, . . . , C n. 3. Calculer la matrice de distances entre classes (phase agrégative de l’algorithme). 4. Considérer les deux classes C i et C j telles que 0 0 d(C i , C j ) = min d(C i , C j ) (i 0 ,j 0 ) . 5. Agréger C i et C j dans une seule classe C ij . Donc k = k − 1. 6. k = 1 ? Si oui STOP, sinon, aller à 3. Florida North Carolina California Maryland Arizona New Mexico Delaware Alabama Louisiana Illinois New York Michigan Nevada Alaska Mississippi South Carolina Washington Oregon Wyoming Oklahoma Virginia Rhode Island Massachusetts New Jersey Missouri Arkansas Tennessee Georgia Colorado Texas Idaho Nebraska Kentucky Montana Ohio Utah Indiana Kansas Connecticut Pennsylvania Hawaii West Virginia Maine South Dakota North Dakota Vermont Minnesota Wisconsin Iowa New Hampshire 0 50 Height 100 150 Classification hiérarchique 10 Cluster Dendrogram dist(USArrests) hclust (*, "average") Classification hiérarchique 11 Méthodes d’agrégations d(C l , C ij ) = αid(C l , C i ) + αj d(C l , Cj ) + βd(C i , C j )+ γ d(C l , C i ) − d(C l , C j ) Algorithme de classification Single Linkage αi 1/2 αj 1/2 β 0 γ −1/2 Complete Linkage 1/2 Centroı̈d Linkage ni ni +nj 1/2 0 1/2 nj ni +nj n n − n i+nj i j 0 Méthode de Ward ni +nl ni +nj +nl nj +nl ni +nj +nl − n +nl +n i j l n 0 Classification hiérarchique 12 Méthodes d’agrégations I Single Linkage : d(C l , C ij ) = min(d(C l , C i ), d(C l , C j )) I Complete Linkage : d(C l , C ij ) = max(d(C l , C i ), d(C l , C j )) I Centroı̈d Linkage : d(C l , C ij ) = d(ml , mij ) où ml et mij sont resp. les centres de gravité de C l et C ij . I Méthode de Ward (après une ACP 2 ) : elle a pour objectif de minimiser l’accroissement dans la variance intra-classe : E= k X X l=1 xi ∈C l 2 Analyse en composantes principales d(xi , ml )2 . Classification hiérarchique 13 Algorithme descendant hiérarchique (DIANA). 1. k = 1, Toutes sont dans la même classe C1 2. Considérer Ci la classe de diamètre maximale (d(Ci ) = maxw ,w 0 ∈Ci d(w , w 0 )). 3. Introduire Cj = ∅. 3.1 Pour chaque w ∈ Ci , calculer d (w , Ci \ {w }) = 1 |Ci | − 1 X d(w , w 0 ). w 0 ∈Ci \{w } 3.2 Calculer la différence ∆(w , Ci , Cj ) = d (w , Ci \ {w }) − d(w , Cj ) 4. Si wm = argmaxw ∈Ci d (w , Ci \ {w }) et ∆(wm , Ci , Cj ) > 0 alors wm 3 Cj 5. si k < n alors k = k + 1 revient à 1/ sinon STOP. Partionnement Introduction Classification hiérarchique Partionnement Indices de validité Méthodes probabilistes pour la classification 14 Partionnement 15 I Objectif A partir d’une fonction critère J donnée, partitionner w 1 , . . . , wn en K classes (K est fixé d’avance) en minimisant ou maximisant la fonction J I Méthode exhaustive : calculer pour toute les partitions possible C , le critère J(C ) et la solution est alors Csol = argmaxJ(C ). I Solution impossible si n devient grand. En effet le nombre de partitions possible est égal à P(n, K ) = 1 m=1 (−1)K −m CKm mN . K! K Pour n = 30, et K = 3, P(n, K ) est de l’ordre de 2 × 1014 . Partionnement 16 K −means I Critère à minimiser : la somme des carrées des erreurs (SSE) : XX J(C ) = d(w , m(c)) c∈C w ∈c où m(c) est le centre de gravité de c. I Algorithme : 1. Initialise K − centres m1 , . . . , mK et 2. Affecter chaque individu vers la classe la plus proche C = {c1 , . . . , cK } : w ∈ cl si d(w , ml ) = min l 0 =1,...,K d(w , ml 0 ). 3. Re-calculer les centres de gravité des nouvelles classes, 4. Répéter 2 et 3 jusqu’à convergence. Indices de validité Introduction Classification hiérarchique Partionnement Indices de validité Méthodes probabilistes pour la classification 17 Indices de validité Mesure de la validité d’une classification Deux types de mesures : I Indices de validité interne : à partir d’un résultat de classification et de l’information intrinsèque dans la base de données on mesure la qualité du résultat : I I I I indice de connectivité indice de silhouette indice de Dunn Indice de validité externe : comparer la classification obtenue avec une autre classification (soit une partition déjà connue ou une autre classification obtenue par une autre méthode) 18 Indices de validité Notations Soit n le nombre des observations, I d le nombre des variables, I x1 , . . . , xn les vecteurs d’observations à classer, I C = {C1 , . . . , Ck } une classification à tester, I C (i) est la classe contenant xi , i.e., C (i) 3 xi . (j) Pour tout xi , et j ∈ {1, . . . , n} \ {i} : xi est le j ième voisin le plus proche de xi : I d(xi , x(1) ) ≤ d(xi , x(2) ) ≤ . . . d(xi , x(j) ) ≤ . . . ≤ d(xi , x(n−1) ) On pose pour tout i, j ∈ {1, . . . , n} (j) 0 si xi , xi ∈ C (i) (j) δ(xi , xi ) = 1/j sinon 19 Indices de validité 20 Indices de Connectivité Pour une classification C, Conn(C) = X (j) δ(xi , xi ) i,j=1,...,n Conn(C) prend ses valeurs dans [0, +∞[ et c’est un cœfficient qui doit être minimisée : Conn(C) proche de zéro ⇐⇒ une bonne connectivité à l’intérieure des classes. R : clValid package, connectivity Indices de validité 21 Largeur de la silhouette I C’est la moyenne de toutes les valeurs de la silhouette. I Valeur de la silhouette pour une observation xi : S(i) = bi − ai max(bi , ai ) où I ai est la distance moyenne entre xi et tous les autres xj ∈ C (i). ai = X 1 d(xi , x). n(C (i)) x∈C (i) I bi est la distance moyenne entre xi et les observations dans la classe la pus proche de xi : bi = 1 X d(xi , x). C ∈C\C (i) n(C ) min x∈C Indices de validité 22 Largeur de la silhouette I Définie par S(C) = 1X S(i) n i I La largeur de la silhouette est un nombre qui est toujours compris entre −1 et +1. I S doit être maximisée. I une valeur de S(i) négative indique que cet individu n’est pas dans “la bonne classe” et il pourrait être déplacé vers la classe la plus proche. I R, package cluster, silhouette Indices de validité Indices externes I P une partition existante de l’ensemble des individus E , P = {G1 , . . . , Gr }. I C = {C1 , . . . , Ck } une classification obtenue à l’aide d’un algorithme de classification (hiérarchique, kmeans...) I Objectif : comparer la classification C et la partition P I Définition de quelques indices de validité externes : package clv sour R 23 Indices de validité 24 Calcul des indices externes Soient deux individus xi et xi 0 . Quatre cas sont possibles Cas 1 ∃C ∈ C et ∃G ∈ P tel que xi , xi 0 ∈ C et xi , xi 0 ∈ G Cas 2 ∃C ∈ C et ∃G 6= G 0 ∈ P tel que xi , xi 0 ∈ C et xi ∈ G , xi 0 ∈ G 0 Cas 3 ∃C 6= C 0 ∈ C et ∃G ∈ P tel que xi ∈ C , xi 0 ∈ C 0 et xi , xi 0 ∈ G Cas 4 ∃C 6= C 0 ∈ C et ∃G 6= G 0 ∈ P tel que xi ∈ C , xi 0 ∈ C 0 et xi ∈ G , xi 0 ∈ G 0 Indices de validité 25 Calcul des indices externes Notons par Al l’ensemble des paires (xi , xi 0 ) vérifiant le cas l et par al = |Al |. Trois indices : I Indice de Rand Rand = I a1 + a4 a1 + a2 + a3 + a4 Indice de Jaccard Jaccard = I Indice de Folkes et Mallows r FM = a1 . a1 + a2 + a3 a1 a1 a1 + a3 a1 + a2 Méthodes probabilistes pour la classification Introduction Classification hiérarchique Partionnement Indices de validité Méthodes probabilistes pour la classification 26 Méthodes probabilistes pour la classification 27 l’EM-algorithme I Soit X = (X1 , . . . , Xn ) ∼ g (x | θ) un n−échantillon de vecteurs aléatoire dans Rd . On suppose Z g (x | θ) = f (x, z | θ)dz I Objectif : calculer θb = argmaxθ L(x | θ) = argmaxθ n Y g (xi | θ) i=1 où x = (x1 , . . . , xn ) est une réalisation de X . I On pose (X , Z ) ∼ f (x, z | θ), et la densité de Z | θ, X = x est k(z | θ, x) = f (x, z | θ) . g (x | θ) Méthodes probabilistes pour la classification 28 l’EM-algorithme I Donc log g (x | θ) = log f (x, z | θ) − log k(z | θ, x) I Pour un θ0 fixé, log g (x | θ)k(z | θ0 , x) = log f (x, z | θ)k(z | θ0 , x) − log k(z | θ, x)k(z | θ0 , x) (1) I En intégrant (1) par rapport à z, on obtient log g (x | θ) = Eθ0 (log f (x, Z | θ)) − Eθ0 (log k(Z | x, θ)) Méthodes probabilistes pour la classification 29 l’EM-algorithme I La fonction vraisemblance s’écrit alors log L(x | θ) = n X log g (xi | θ) i=1 c = Eθ0 (log L (x, Z | θ)) − | {z } Q(θ|x,θ0 ) n X Eθ0 (log k(Z | xi , θ)) i=1 où Lc est appelée la vraisemblance complète. I Ainsi, dans la recherche du maximum de log L(x | θ), dans l’EM-algorithme on maximize, d’une façon itérative, Q(θ | x, θ0 ). Méthodes probabilistes pour la classification 30 l’EM-algorithme 1. Considérons une valeur initiale θb(0) 2. Calculer l’espérance (E −step) Q(θ | x, θb(m) ) = Eθb (log Lc (x, Z | θ)) (m) où la moyenne a été calculée par rapport à k(z | θb(m) , x) et m=0 3. Maximiser la fonction Q(θ | x, θb(m) ) en θ (M−step) : θb(m+1) = argmaxθ Q(θ | x, θb(m) ) et m = m + 1. 4. Répéter les étapes 2-3 jusqu’à le point fix soit atteint : θb(m+1) = θb(m) Méthodes probabilistes pour la classification 31 l’EM-algorithme, dans la classification I On suppose que les données x = (x1 , . . . , xn ) ∈ (Rd )n est un n−échantillon qu’on suppose issu d’une loi de probabilité g (x | θ) = k X αl gl (x | θl ) l=1 P où αl ∈]0, 1[, l = 1, . . . , k et kl=1 αl = 1 et gl (x | θl ) est la densité d’une loi Gaussienne multivariée : 1 1 0 −1 exp − (x − µl ) Σl (x − µl ) fl (x | θl ) = 2 (2π)d/2 |Σl |1/2 I Donc X ∼ g (x | θ) et Z est la variable à valeurs dans {1, . . . , k}, où k est la nombre de classes et P(Z = l) = αl , ∀ l = 1, . . . , k. Méthodes probabilistes pour la classification Mise en œuvre sous R : le package mclust I Description détaillé du package dans I I C. Fraley and A. E. Raftery (2006). MCLUST Version 3 for R : Normal Mixture Modeling and Model-Based Clustering, Technical Report no. 504, Department of Statistics, University of Washington C. Fraley and A. E. Raftery (2002). Model-based clustering, discriminant analysis, and density estimation. Journal of the American Statistical Association 97 :611-631 I Utiliser la commande Mclust, I Mclust applique l’EM-algorithme (avec des différentes paramétrisations), et utilise le BIC comme critère de sélection du modèle : chercher le modèle Mk correspondant au BIC maximal. BIC = 2 log Vraisemblance − Nbre paramètres × log(n) 32