Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… ·...

32
ethodes de classifications Dhafer Malouche ESSAI-U2S-ENIT http://essai.academia.edu/DhaferMalouche [email protected] Juin-2013 ANR-Do Well Be, Saint Nectaire

Transcript of Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… ·...

Page 1: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Methodes de classifications

Dhafer Malouche

ESSAI-U2S-ENIThttp://essai.academia.edu/DhaferMalouche

[email protected]

Juin-2013ANR−Do Well Be, Saint Nectaire

Page 2: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Plan

Introduction

Classification hierarchique

Partionnement

Indices de validite

Methodes probabilistes pour la classification

Page 3: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Introduction 3

Introduction

Classification hierarchique

Partionnement

Indices de validite

Methodes probabilistes pour la classification

Page 4: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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...

Page 5: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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 ′ ,

Page 6: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 7: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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.

Page 8: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Classification hierarchique 8

Introduction

Classification hierarchique

Partionnement

Indices de validite

Methodes probabilistes pour la classification

Page 9: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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.

Page 10: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 11: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 12: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 13: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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.

Page 14: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Partionnement 14

Introduction

Classification hierarchique

Partionnement

Indices de validite

Methodes probabilistes pour la classification

Page 15: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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.

Page 16: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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.

Page 17: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Indices de validite 17

Introduction

Classification hierarchique

Partionnement

Indices de validite

Methodes probabilistes pour la classification

Page 18: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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)

Page 19: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 20: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 21: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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).

Page 22: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 23: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 24: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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 ′

Page 25: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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

Page 26: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

Methodes probabilistes pour la classification 26

Introduction

Classification hierarchique

Partionnement

Indices de validite

Methodes probabilistes pour la classification

Page 27: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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 | θ).

Page 28: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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 , θ))

Page 29: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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).

Page 30: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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)

Page 31: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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.

Page 32: Méthodes de classificationsmath.univ-bpclermont.fr/DoWellB/docs/malouche/methodes_classific… · I Centro d Linkage : d(Cl;Cij) = d(m l;m ij) ou m l et m ij sont resp. les centres

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)