Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Methodes de classifications
Dhafer Malouche
ESSAI-U2S-ENIThttp://essai.academia.edu/DhaferMalouche
Juin-2013ANR−Do Well Be, Saint Nectaire
Plan
Introduction
Classification hierarchique
Partionnement
Indices de validite
Methodes probabilistes pour la classification
Introduction 3
Introduction
Classification hierarchique
Partionnement
Indices de validite
Methodes probabilistes pour la classification
Introduction 4
Definition
I Algorithmes qui permettent de classer des objets observesdans des classes (appelees clusters).
I Les objets d’une meme classe doivent etre “similaires” et lesobjets de deux classes differentes doivent etre “distincts”.
I Differents algorithmes de classificationI Methodes Hierarchiques (classification hierarchiques...)I Partitionnement (k-means..)I Methodes Probabilistes (EM-algorithme...) et encore d’autres...
Introduction 5
Les objets
I E = {w1, . . . ,wn} un ensemble de n objets (individus) pourlesquels on a observe d “variables” (qualitatives et/ouquantitatives) x1, . . . , xd ou
x ji = x j (wi )
est la ieme observation de wi selon x j .
I On considere wi = (xi ,t)t∈Tii = 1, . . . , n des signaux ou series
temporelles (ST) .
I Une matrice D = (di i ′), n × n (n est le nombre d’objets aclasser), ou dii ′ est une mesure de similarite entre deux objetswi et wi ′ ,
Introduction 6
Etape 1 : calcul des similaritesCas de variables quantitatives.
I Distance Euclidienne
d(wi ,wi ′) =
√√√√ d∑j=1
(x ji − x j
i ′)2.
I ou la distance de Minkowski pour tout p > 0
d(wi ,wi ′) =
d∑j=1
(x ji − x j
i ′)p
1/p
.
I encore d’autres exemples de distances : Canberra,Manhattan...
I Sous R : dist, il faut specifierI une matrice de donnees quantitativeI le type de distance
Introduction 7
Distance entre signaux ou ST
I Distance Euclidienne ou l’une des distances deja definies(Series sont toutes de meme “longueurs”).
I Dynamic time wrapping ou Deformation temporelledynamique (par Keogh & Pazzani, 2001 1)
I Permet de comparer deux sequences de ST pas forcement dememe longueur.
I Dilatation ou compression des sequence pour obtenir lemeilleur alignement possible
I Sous R, package dtw.
1Keogh, 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 hierarchique 8
Introduction
Classification hierarchique
Partionnement
Indices de validite
Methodes probabilistes pour la classification
Classification hierarchique 9
Algorithme ascendant (agregatif) hierarchique
1. k = n le nombre de classes
2. Chaque classes contient une observation : n classesC 1, . . . ,C n.
3. Calculer la matrice de distances entre classes (phaseagregative de l’algorithme).
4. Considerer les deux classes C i et C j telles que
d(C i ,C j ) = min(i ′,j ′)
d(C i ′ ,C j ′)
.
5. Agreger C i et C j dans une seule classe C ij . Donc k = k − 1.
6. k = 1 ? Si oui STOP, sinon, aller a 3.
Classification hierarchique 10
Flo
rida
Nor
th C
arol
ina
Cal
iforn
iaM
aryl
and
Ariz
ona
New
Mex
ico
Del
awar
eA
laba
ma
Loui
sian
aIll
inoi
sN
ew Y
ork
Mic
higa
nN
evad
aA
lask
aM
issi
ssip
piS
outh
Car
olin
aW
ashi
ngto
nO
rego
nW
yom
ing
Okl
ahom
aV
irgin
iaR
hode
Isla
ndM
assa
chus
etts
New
Jer
sey
Mis
sour
iA
rkan
sas
Ten
ness
eeG
eorg
iaC
olor
ado
Tex
asId
aho
Neb
rask
aK
entu
cky
Mon
tana
Ohi
oU
tah
Indi
ana
Kan
sas
Con
nect
icut
Pen
nsyl
vani
aH
awai
iW
est V
irgin
iaM
aine
Sou
th D
akot
aN
orth
Dak
ota
Ver
mon
tM
inne
sota
Wis
cons
inIo
wa
New
Ham
pshi
re
050
100
150
Cluster Dendrogram
hclust (*, "average")dist(USArrests)
Hei
ght
Classification hierarchique 11
Methodes d’agregations
d(C l ,C ij ) = αi d(C l ,C i ) + αj d(C l ,C j ) + βd(C i ,C j )+γ∣∣d(C l ,C i )− d(C l ,C j )
∣∣Algorithme de classification αi αj β γ
Single Linkage 1/2 1/2 0 −1/2
Complete Linkage 1/2 1/2 0 1/2
Centroıd Linkageni
ni +nj
njni +nj
−ni nj
ni +nj0
Methode de Wardni +nl
ni +nj +nl
nj +nlni +nj +nl
− nlni +nj +nl
0
Classification hierarchique 12
Methodes d’agregations
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 ) ou ml et mij sontresp. les centres de gravite de C l et C ij .
I Methode de Ward (apres une ACP 2) : elle a pour objectif deminimiser l’accroissement dans la variance intra-classe :
E =k∑
l=1
∑xi∈C l
d(xi ,ml )2.
2Analyse en composantes principales
Classification hierarchique 13
Algorithme descendant hierarchique (DIANA).
1. k = 1, Toutes sont dans la meme classe C1
2. Considerer Ci la classe de diametre maximale(d(Ci ) = maxw ,w ′∈Ci
d(w ,w ′)).
3. Introduire Cj = ∅.3.1 Pour chaque w ∈ Ci , calculer
d (w ,Ci \ {w}) =1
|Ci | − 1
∑w ′∈Ci\{w}
d(w ,w ′).
3.2 Calculer la difference∆(w ,Ci ,Cj ) = d (w ,Ci \ {w})− d(w ,Cj )
4. Si wm = argmaxw∈Cid (w ,Ci \ {w}) et ∆(wm,Ci ,Cj ) > 0
alors wm 3 Cj
5. si k < n alors k = k + 1 revient a 1/ sinon STOP.
Partionnement 14
Introduction
Classification hierarchique
Partionnement
Indices de validite
Methodes probabilistes pour la classification
Partionnement 15
I Objectif A partir d’une fonction critere J donnee, partitionnerw 1, . . . ,wn en K classes (K est fixe d’avance) en minimisantou maximisant la fonction J
I Methode exhaustive : calculer pour toute les partitionspossible C , le critere J(C ) et la solution est alors
Csol = argmaxJ(C ).
I Solution impossible si n devient grand. En effet le nombre departitions possible est egal a
P(n,K ) =1
K !
m = 1
K(−1)K−mC m
K mN .
Pour n = 30, et K = 3, P(n,K ) est de l’ordre de 2× 1014.
Partionnement 16
K−means
I Critere a minimiser : la somme des carrees des erreurs (SSE) :
J(C ) =∑c∈C
∑w∈c
d(w ,m(c))
ou m(c) est le centre de gravite de c.
I Algorithme :
1. Initialise K− centres m1, . . . ,mK et2. Affecter chaque individu vers la classe la plus proche
C = {c1, . . . , cK} :
w ∈ cl si d(w ,ml ) = minl′=1,...,K
d(w ,ml′).
3. Re-calculer les centres de gravite des nouvelles classes,4. Repeter 2 et 3 jusqu’a convergence.
Indices de validite 17
Introduction
Classification hierarchique
Partionnement
Indices de validite
Methodes probabilistes pour la classification
Indices de validite 18
Mesure de la validite d’une classification
Deux types de mesures :
I Indices de validite interne : a partir d’un resultat declassification et de l’information intrinseque dans la base dedonnees on mesure la qualite du resultat :
I indice de connectiviteI indice de silhouetteI indice de Dunn
I Indice de validite externe : comparer la classification obtenueavec une autre classification (soit une partition deja connue ouune autre classification obtenue par une autre methode)
Indices de validite 19
NotationsSoit
I n le nombre des observations,I d le nombre des variables,I x1, . . . , xn les vecteurs d’observations a classer,I C = {C1, . . . ,Ck} une classification a tester,I C (i) est la classe contenant xi , i.e., C (i) 3 xi .
Pour tout xi , et j ∈ {1, . . . , n} \ {i} : x(j)i est le j ieme voisin le plus
proche de xi :
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}
δ(xi , x(j)i ) =
0 si xi , x(j)i ∈ C (i)
1/j sinon
Indices de validite 20
Indices de Connectivite
Pour une classification C,
Conn(C) =∑
i ,j=1,...,n
δ(xi , x(j)i )
Conn(C) prend ses valeurs dans [0,+∞[ et c’est un cœfficient quidoit etre minimisee :
Conn(C) proche de zero ⇐⇒ une bonne connectivite a l’interieuredes classes.
R : clValid package, connectivity
Indices de validite 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 )
ou
I ai est la distance moyenne entre xi et tous les autresxj ∈ C (i).
ai =1
n(C (i))
∑x∈C(i)
d(xi , x).
I bi est la distance moyenne entre xi et les observations dans laclasse la pus proche de xi :
bi = minC∈C\C(i)
1
n(C )
∑x∈C
d(xi , x).
Indices de validite 22
Largeur de la silhouette
I Definie par
S(C) =1
n
∑i
S(i)
I La largeur de la silhouette est un nombre qui est toujourscompris entre −1 et +1.
I S doit etre maximisee.
I une valeur de S(i) negative indique que cet individu n’est pasdans “la bonne classe” et il pourrait etre deplace vers la classela plus proche.
I R, package cluster, silhouette
Indices de validite 23
Indices externes
I P une partition existante de l’ensemble des individus E ,P = {G1, . . . ,Gr}.
I C = {C1, . . . ,Ck} une classification obtenue a l’aide d’unalgorithme de classification (hierarchique, kmeans...)
I Objectif : comparer la classification C et la partition P
I Definition de quelques indices de validite externes : packageclv sour R
Indices de validite 24
Calcul des indices externesSoient deux individus xi et xi ′ . Quatre cas sont possibles
Cas 1 ∃C ∈ C et ∃G ∈ P tel que
xi , xi ′ ∈ C et xi , xi ′ ∈ G
Cas 2 ∃C ∈ C et ∃G 6= G ′ ∈ P tel que
xi , xi ′ ∈ C et xi ∈ G , xi ′ ∈ G ′
Cas 3 ∃C 6= C ′ ∈ C et ∃G ∈ P tel que
xi ∈ C , xi ′ ∈ C ′ et xi , xi ′ ∈ G
Cas 4 ∃C 6= C ′ ∈ C et ∃G 6= G ′ ∈ P tel que
xi ∈ C , xi ′ ∈ C ′ et xi ∈ G , xi ′ ∈ G ′
Indices de validite 25
Calcul des indices externes
Notons par Al l’ensemble des paires (xi , xi ′) verifiant le cas l et paral = |Al |. Trois indices :
I Indice de Rand
Rand =a1 + a4
a1 + a2 + a3 + a4
I Indice de Jaccard
Jaccard =a1
a1 + a2 + a3.
I Indice de Folkes et Mallows
FM =
√a1
a1 + a3
a1
a1 + a2
Methodes probabilistes pour la classification 26
Introduction
Classification hierarchique
Partionnement
Indices de validite
Methodes probabilistes pour la classification
Methodes probabilistes pour la classification 27
l’EM-algorithme
I Soit X = (X1, . . . ,Xn) ∼ g(x | θ) un n−echantillon devecteurs aleatoire dans Rd . On suppose
g(x | θ) =
∫f (x , z | θ)dz
I Objectif : calculer θ = argmaxθL(x | θ) = argmaxθ
n∏i=1
g(xi | θ)
ou x = (x1, . . . , xn) est une realisation de X .
I On pose (X ,Z ) ∼ f (x , z | θ), et la densite de Z | θ,X = x est
k(z | θ, x) =f (x , z | θ)
g(x | θ).
Methodes 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 fixe,
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 integrant (1) par rapport a z , on obtient
log g(x | θ) = Eθ0(log f (x ,Z | θ))− Eθ0(log k(Z | x , θ))
Methodes probabilistes pour la classification 29
l’EM-algorithme
I La fonction vraisemblance s’ecrit alors
log L(x | θ) =n∑
i=1
log g(xi | θ)
= Eθ0(log Lc(x ,Z | θ))︸ ︷︷ ︸Q(θ|x ,θ0)
−n∑
i=1
Eθ0(log k(Z | xi , θ))
ou Lc est appelee la vraisemblance complete.
I Ainsi, dans la recherche du maximum de log L(x | θ), dansl’EM-algorithme on maximize, d’une facon iterative,Q(θ | x , θ0).
Methodes probabilistes pour la classification 30
l’EM-algorithme
1. Considerons une valeur initiale θ(0)
2. Calculer l’esperance (E−step)
Q(θ | x , θ(m)) = Eθ(m)
(log Lc(x ,Z | θ))
ou la moyenne a ete calculee par rapport a k(z | θ(m), x) etm = 0
3. Maximiser la fonction Q(θ | x , θ(m)) en θ (M−step) :
θ(m+1) = argmaxθQ(θ | x , θ(m))
et m = m + 1.
4. Repeter les etapes 2-3 jusqu’a le point fix soit atteint :θ(m+1) = θ(m)
Methodes probabilistes pour la classification 31
l’EM-algorithme, dans la classification
I On suppose que les donnees x = (x1, . . . , xn) ∈ (Rd )n est unn−echantillon qu’on suppose issu d’une loi de probabilite
g(x | θ) =k∑
l=1
αl gl (x | θl )
ou αl ∈]0, 1[, l = 1, . . . , k et∑k
l=1 αl = 1 et gl (x | θl ) est ladensite d’une loi Gaussienne multivariee :
fl (x | θl ) =1
(2π)d/2|Σl |1/2exp
(−1
2(x − µl )
′Σ−1l (x − µl )
)
I Donc X ∼ g(x | θ) et Z est la variable a valeurs dans{1, . . . , k}, ou k est la nombre de classes et
P(Z = l) = αl , ∀ l = 1, . . . , k.
Methodes probabilistes pour la classification 32
Mise en œuvre sous R : le package mclust
I Description detaille du package dans
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, Universityof Washington
I C. Fraley and A. E. Raftery (2002). Model-based clustering,discriminant analysis, and density estimation. Journal of theAmerican Statistical Association 97 :611-631
I Utiliser la commande Mclust,
I Mclust applique l’EM-algorithme (avec des differentesparametrisations), et utilise le BIC comme critere de selectiondu modele : chercher le modele Mk correspondant au BICmaximal.
BIC = 2 log Vraisemblance− Nbre parametres× log(n)