Algorithme EM, mélanges gaussiens, clustering et sélection de mod

´
Ecole Polytechnique Florent Benaych-Georges
Ann´ee 2 Stefano De Marco
Math´ematiques Appliqu´ees St´ephane Gaiffas
TP6 Emmanuel Gobet
MAP441 – Modal SNA Christelle Verg´e
Algorithme EM, m´elanges gaussiens, clustering
et s´election de mod`ele
1 Introduction
Dans ce TP, nous proposons de mettre en oeuvre la m´ethode d’optimisation d´ecrite en cours 5 : l’algorithme
EM, appliqu´e `a la maximisation de la vraisemblance dans le mod`ele de m´elange gaussien, puis de s’en servir
pour effectuer un clustering de points dans le plan. On pourra ensuite, si le temps le permet, utiliser la
m´ethode BIC pour s´electionner automatiquement le nombre de clusters.
Il faudra travailler entre 1h et 1h30 sur ce TP, pas plus, le but ´etant maintenant de travailler principalement
sur votre projet. Pour vous faire gagner du temps, nous fournissons un code `a trou, disponible sur la page
http://www.cmap.polytechnique.fr/~gaiffas/index.php?main=teaching
le but ´etant de compl´eter le code scilab pour traiter les questions, sans avoir `a g´erer les probl`emes de
programmation scilab associ´es.
2 M´elanges gaussiens
La densit´e d’un m´elange gaussien `a Kclusters, de param`etre θ= (p1, . . . , pK, µ1, . . . , µK,Σ1,...,ΣK)Θ
s’´ecrit
fθ(x) =
K
X
k=1
pkφµk,Σk(x),
o`u φµk,Σkest la densit´e de la loi gaussienne N(µk,Σk) donn´ee par
φµk,Σk(x) = 1
(2π)d/2pdet(Σk)exp 1
2(xµk)>Σ1
k(xµk),
et o`u l’ensemble de param`etres est
Θ = n(p1, . . . , pK)(R+)K:
K
X
k=1
pk= 1o×RK×d×(S0)K,
avec S0={ΣRd×d: Σ>= Σ,Σ0}.
Question 1. Simuler n= 1000 r´ealisations d’un m´elange gaussien de param`etres
K= 3, decal = 5, σ= 2
p= (p1, p2, p3) = (0.3,0.5,0.2)
µ1= (decal, decal), µ2= (decal, decal), µ3= (0,decal)
Σ1=σ2I2, Σ2=σ2I2, Σ3=σ2I2o`u Idest la matrice identit´e dans Rd.
Compl´eter pour cela les trous dans le fichier sim_gauss_mixture_question.sce (qui contient la fonction
de simulation) et lancer le calcul avec le fichier sim_gauss_mixture_main.sce. On pourra jouer sur les
param`etres decal et σ, rajouter des clusters, etc, pour observer l’impact sur les points simul´es.
1
3 Algorithme EM
On suppose que l’on observe X= (X1, . . . , Xn) o`u les XiRdsont i.i.d de densit´e fθ0, avec θ0Θ inconnu.
La fonction de log-vraisemblance de ce mod`ele est
`(θ;X) =
n
X
i=1
log K
X
k=1
pkφµk,Σk(Xi),
et un estimateur au maximum de vraisemblance (MLE) de θ0v´erifie
ˆ
θargmax
θΘ
`(θ;X).
On peut obtenir une approximation d’un MLE en utilisant l’algorithme EM, qui consiste dans ce cadre `a
it´erer, pour t= 0,1, . . ., les calculs suivants jusqu’`a convergence :
πi,k(θ(t)) =
p(t)
kφµ(t)
k,Σ(t)
k
(Xi)
PK
k0=1 p(t)
k0φµ(t)
k0,Σ(t)
k0
(Xi)
p(t+1)
k=1
n
n
X
i=1
πi,k(θ(t))
µ(t+1)
k=Pn
i=1 πi,k(θ(t))Xi
Pn
i=1 πi,k(θ(t))
Σ(t+1)
k=Pn
i=1 πi,k(θ(t))(Xiµ(t+1)
k)(Xiµ(t+1)
k)>
Pn
i=1 πi,k(θ(t)).
On note alors ˆ
θ= (ˆp1,...,ˆpK,ˆµ1,...,ˆµK,ˆ
Σ1,...,ˆ
ΣK) l’approximation de l’estimateur au maximum de
vraisemblance ainsi obtenue. Une fois qu’un estimateur ˆ
θest calcul´e, on peut affecter les classes en utilisant
la r`egle du MAP :
i∈ Cksi πi,k(ˆ
θ)> πi,k0(ˆ
θ) pour tout k06=k.
Question 2. Ecrire une fonction qui utilise l’algorithme EM pour calculer le MLE dans le mod`ele de m´elange
gaussien. On compl´etera les trous du fichier fit_gauss_mixture_question.sce contenant la fonction
de calcul de l’estimateur, on utilisera le fichier init_em_unif.sce contenant une fonction qui initialise
al´eatoirement l’algorithme EM et le fichier fit_gauss_mixture_main.sce pour lancer le calcul. On
pourra observer l’´evolution des affectations des points le long des ´etapes de l’algorithme (utilisant la
r`egle du MAP) et le fait qu’il augmente effectivement la vraisemblance `a chaque ´etape.
4 S´election de mod`ele
On peut choisir automatiquement le nombre de clusters Ken utilisant le crit`ere BIC :
ˆ
K= argmin
K1n`(ˆ
θK;X) + df(K) log n
2o
o`u
ˆ
θKest l’estimateur MLE dans le mod`ele de m´elange avec Kclusters
df(K) est le nombre de degr´es de libert´es (degrees of freedom) du mod`ele de m´elange utilis´e avec K
clusters.
Question 3. Appliquer le crit`ere BIC pour s´electionner automatiquement le nombre de clusters. On balaiera
des valeurs de Kallant de 2 `a 10, et on observera le fait que le crit`ere est bien minimal pour K= 3. On
pourra consid´erer d’autres mod`eles simul´es, avec plus de clusters, une forme plus complexe des matrices
de covariance, etc. On compl´etera le fichier model_selection_question.sce pour r´epondre `a cette
question. On enl`evera tous les affichages effectu´es dans la fonction fit_gauss_mixture pour gagner du
temps.
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !