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