Algorithme espérance-maximisation
L'algorithme espérance-maximisation (en anglais Expectation-maximisation algorithm, souvent abrégé EM), proposé par Dempster et al. (1977)[1], est une classe d'algorithmes qui permettent de trouver le maximum de vraisemblance des paramètres de modèles probabilistes lorsque le modèle dépend de variables latentes non observables.
Sommaire |
Usage [modifier]
On utilise souvent l'algorithme EM pour la classification de données, l'apprentissage automatique, ou la vision artificielle. On peut également citer son utilisation en imagerie médicale dans le cadre de la reconstruction tomographique.
L'algorithme d'espérance-maximisation comporte :
- une étape d'évaluation de l'espérance (E), où l'on calcule l'espérance de la vraisemblance en tenant compte des dernières variables observées,
- une étape de maximisation (M), où l'on estime le maximum de vraisemblance des paramètres en maximisant la vraisemblance trouvée à l'étape E.
On utilise ensuite les paramètres trouvés en M comme point de départ d'une nouvelle phase d'évaluation de l'espérance, et l'on itère ainsi.
Pour résoudre le problème d'apprentissage des modèles de Markov cachés (HMM), c’est-à-dire la détermination des paramètres du modèle markovien, on utilise l'algorithme de Baum-Welch.
Principe de fonctionnement [modifier]
En considérant un échantillon
d'individus suivant une loi
paramétrée par
, on cherche à déterminer le paramètre
maximisant la log-vraisemblance donnée par

Cet algorithme est particulièrement utile lorsque la maximisation de
est très complexe mais que, sous réserve de connaître certaines données judicieusement choisies, on peut très simplement déterminer
.
Dans ce cas, on s'appuie sur des données complétées par un vecteur
inconnu. En notant
la probabilité de
sachant
et le paramètre
, on peut définir la log-vraisemblance complétée comme la quantité

et donc,

L'algorithme EM est une procédure itérative basée sur l'espérance des données complétées conditionnellement au paramètre courant. En notant
ce paramètre, on peut écrire
![E\left[L(\mathbf{x};\boldsymbol{\theta})|\boldsymbol{\theta}^{(c)}\right]=E\left[L\left(\mathbf{(x,z)};\boldsymbol{\theta}\right))|\boldsymbol{\theta}^{(c)}\right]-E\left[\sum_{i=1}^n\log f(z_i|\boldsymbol{x}_i,\boldsymbol{\theta}))|\boldsymbol{\theta}^{(c)}\right],](http://upload.wikimedia.org/math/e/8/a/e8aa83c33d0f9d0b3ca4f87a61dd4d58.png)
ou encore

avec
et
.
On montre que la suite définie par

fait tendre
vers un maximum local.
On peut donc définir l'algorithme EM de la manière suivante:
- Initialisation au hasard de

- c=0
- Tant que l'algorithme n'a pas convergé, faire
- Evaluation de l'espérance (étape E) :
![Q\left(\boldsymbol{\theta};\boldsymbol{\theta}^{(c)}\right)=E\left[L\left(\mathbf{(x,z)};\boldsymbol{\theta}\right))|\boldsymbol{\theta}^{(c)}\right]](//upload.wikimedia.org/math/0/a/9/0a986f10ec50eecc3be0fc67d757f1d1.png)
- Maximisation (étape M) :

- c=c+1
- Evaluation de l'espérance (étape E) :
- Fin
En pratique, pour s'affranchir du caractère local du maximum atteint, on fait tourner l'algorithme EM un grand nombre de fois à partir de valeurs initiales différentes de manière à avoir de plus grandes chances d'atteindre le maximum global de vraisemblance.
Exemple détaillé : application en classification automatique [modifier]
Une des applications phares d'EM est l'estimation des paramètres d'une densité mélange en classification automatique dans le cadre des modèles de mélanges gaussiens. Dans ce problème, on considère qu'un échantillon
de
, ie caractérisé par p variables continues, est en réalité issu de g différents groupes. En considérant que chacun de ces groupes
suit une loi f de paramètre
, et dont les proportions sont données par un vecteur
. En notant
le paramètre du mélange, la fonction de densité que suit l'échantillon est donnée par
et donc, la log-vraisemblance du paramètre
est donnée par
La maximisation de cette fonction selon
est très complexe. Par exemple, si on souhaite déterminer les paramètres correspondant à 2 groupes suivant une loi normale dans un espace de dimension 3 (ce qui est peu), on doit optimiser une fonction non linéaire de
!!!
Parallèlement, si on connaissait les groupes auxquels appartient chacun des individus, alors le problème serait un problème d'estimation tout à fait simple et très classique.
La force de l'algorithme EM est justement de s'appuyer sur ces données pour réaliser l'estimation. En notant
la grandeur qui vaut 1 si l'individu
appartient au groupe
et 0 sinon, la log-vraisemblance des données complétée s'écrit
On obtient alors rapidement
En notant
la quantité donnée par
, on peut séparer l'algorithme EM en deux étapes, qu'on appelle classiquement, dans le cas des modèles de mélanges, l'étape Estimation et l'étape Maximisation. Ces deux étapes sont itérées jusqu'à la convergence.
- Etape E : calcul de
par la règle d'inversion de Bayes :
- Etape M : détermination de
maximisant
L'avantage de cette méthode est qu'on peut séparer le problème en g problèmes élémentaires qui sont, en général relativement simples. Dans tous les cas, les proportions optimales sont données par

L'estimation des
dépend par ailleurs de la fonction de probabilité f choisie. Dans le cas normal, il s'agit des moyennes
et des matrices de variance-covariance
. Les estimateurs optimaux sont alors donnés par


Avec M' la matrice transposée de M et en supposant que les
sont des vecteurs colonnes.
Variantes usuelles d'EM [modifier]
L'algorithme EM allie, dans la plupart des cas, simplicité de mise en œuvre et efficacité. Néanmoins quelques cas problématiques ont donné lieu à des développements complémentaires. Parmi les variantes existantes de cet algorithme nous évoquerons l'algorithme GEM (Generalized EM) qui permet de simplifier le problème de l'étape maximisation; l'algorithme CEM (Classification EM) permettant de prendre en compte l'aspect classification lors de l'estimation, ainsi que l'algorithme SEM (Stochastic EM) dont l'objectif est de réduire le risque de tomber dans un optimum local de vraisemblance.
Algorithme GEM [modifier]
GEM a été proposé en même temps qu'EM par Dempster et al. (1977) qui ont prouvé que pour assurer la convergence vers un maximum local de vraisemblance, il n'est pas nécessaire de maximiser Q à chaque étape mais qu'une simple amélioration de Q est suffisante.
GEM peut donc s'écrire de la manière suivante:
- Initialisation au hasard de


- Tant que l'algorithme n'a pas convergé, faire
- choisir
tel que 

- choisir
- Fin
Algorithme CEM [modifier]
L'algorithme EM se positionne dans une optique estimation, c'est-à-dire qu'on cherche à maximiser la vraisemblance du paramètre
, sans considération de la classification faite a posteriori en utilisant la règle de Bayes.
L'approche classification, proposée par Celeux et Govaert (1991)[2] consiste à optimiser, non pas la vraisemblance du paramètre, mais directement la vraisemblance complétée, donnée, dans le cas des modèles de mélange, par

Pour cela, il suffit de procéder de la manière suivante:
- Initialisation au hasard de


- Tant que l'algorithme n'a pas convergé, faire
- Fin
Algorithme SEM [modifier]
Afin de réduire le risque de tomber dans un maximum local de vraisemblance, Celeux et Diebolt (1985)[3] proposent d’intercaler une étape stochastique de classification entre les étapes E et M. Après le calcul des probabilités
, l’appartenance
des individus aux classes est tirée aléatoirement selon une loi multinomiale de paramètres
.
Contrairement à ce qui se produit dans l’algorithme CEM, on ne peut considérer que l’algorithme a convergé lorsque les individus ne changent plus de classes. En effet, celles-ci étant tirées aléatoirement, la suite
ne converge pas au sens strict. En pratique, Celeux et Diebolt (1985) proposent de lancer l’algorithme SEM un nombre de fois donné puis d’utiliser l’algorithme CEM pour obtenir une partition et une estimation du paramètre
.
Voir aussi [modifier]
Références [modifier]
- (en) A.P. Dempster, N.M. Laird et Donald Rubin, « Maximum Likelihood from Incomplete Data via the EM Algorithm », Journal of the Royal Statistical Society. Series B (Methodological), vol. 39, no 1, 1977, p. 1–38 [lien JSTOR]
- (en) G. Celeux et G. Govaert, « A classification EM algorithm for clustering and two stochastic versions », Computational Statistics Quarterly, vol. 2, no 1, 1991, p. 73–82
- (en) G. Celeux et G. Diebolt, « The sem algorithm : a probabilistic teacher algorithm derived from the em algorithm for the mixture problem », Rapport de recherche RR-1364, Inria, Institut National de Recherche en Informatique et en Automatique, 1985










tel que 


