Algorithme espérance-maximisation - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Principe de fonctionnement

En considérant un échantillon \mathbf{x}=(\boldsymbol{x}_1,\dots,\boldsymbol{x}_n) d'individus suivant une loi f(\boldsymbol{x}_i,\theta) paramétrée par \boldsymbol{\theta} , on cherche à déterminer le paramètre \boldsymbol{\theta} maximisant la log-vraisemblance donnée par

L(\mathbf{x};\boldsymbol{\theta})=\sum_{i=1}^n\log f(\boldsymbol{x}_i,\boldsymbol{\theta}).

Cet algorithme est particulièrement utile lorsque la maximisation de L est très complexe mais que, sous réserve de connaître certaines données judicieusement choisies, on peut très simplement déterminer \boldsymbol{\theta} .

Dans ce cas, on s'appuie sur des données complétées par un vecteur \mathbf{z}=(z_1,\dots,z_n) inconnnu. En notant f(z_i|\boldsymbol{x}_i;\theta) la probabilité de zi sachant \boldsymbol{x}_i et le paramètre \boldsymbol{\theta} , on peut définir la log-vraisemblance complétée comme la quantité

L\left((\mathbf{x,z});\boldsymbol{\theta}\right)=\sum_{i=1}^n\left(\log f(z_i|\boldsymbol{x}_i,\boldsymbol{\theta})+\log f(\boldsymbol{x}_i;\boldsymbol{\theta})\right).

et donc,

L(\mathbf{x};\boldsymbol{\theta})=L\left(\mathbf{(x,z)};\boldsymbol{\theta}\right)-\sum_{i=1}^n\log f(z_i|\boldsymbol{x}_i,\boldsymbol{\theta}).

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 \boldsymbol{\theta}^{(c)} 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],

ou encore

L(\mathbf{x};\boldsymbol{\theta})=Q\left(\boldsymbol{\theta};\boldsymbol{\theta}^{(c)}\right)-H\left(\boldsymbol{\theta};\boldsymbol{\theta}^{(c)}\right)

avec Q\left(\boldsymbol{\theta};\boldsymbol{\theta}^{(c)}\right)=E\left[L\left(\mathbf{(x,z)};\boldsymbol{\theta}\right))|\boldsymbol{\theta}^{(c)}\right] et H\left(\boldsymbol{\theta};\boldsymbol{\theta}^{(c)}\right)=E\left[\sum_{i=1}^n\log f(z_i|\boldsymbol{x}_i,\boldsymbol{\theta}))|\boldsymbol{\theta}^{(c)}\right] .

On montre que la suite définie par

\boldsymbol{\theta}^{(c+1)}=\arg\max_{\boldsymbol{\theta}}\left(Q\left(\boldsymbol{\theta},\boldsymbol{\theta}^{(c)}\right)\right)

fait tendre L\left(\mathbf{x};\boldsymbol{\theta}^{(c+1)}\right) vers un maximum local.

On peut donc définir l'algorithme EM de la manière suivante:

  • Initialisation au hasard de \boldsymbol{\theta}^{(0)}
  • 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]
  • Maximisation (étape M) : \boldsymbol{\theta}^{(c+1)}=\arg\max_{\boldsymbol{\theta}}\left(Q\left(\boldsymbol{\theta},\boldsymbol{\theta^{(c)}}\right)\right)
  • c=c+1
  • 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.

Variantes usuelles d'EM

L'algorithme EM allie, dans la plupart des cas, simplicité de mise en oeuvre 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

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 \theta^{(0)}\,
  • c=0\,
  • Tant que l'algorithme n'a pas convergé, faire
  • choisir \theta^{(c+1)}\, tel que Q\left(\theta,\theta^{(c+1)}\right)>Q\left(\theta,\theta^{(c)}\right)
  • c=c+1\,
  • Fin

Algorithme CEM

L'algorithme EM se positionne dans une optique estimation, c'est-à-dire qu'on cherche à maximiser la vraisemblance du paramètre \theta\, , 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) 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

 L(x,z;\theta)=\sum_{i=1}^n\sum_{k=1}^gz_{ik}\log\left(\pi_kf(x,\theta_k)\right)

Pour cela, il suffit de procéder de la manière suivante:

  • Initialisation au hasard de \theta^{(0)}\,
  • c=0\,
  • Tant que l'algorithme n'a pas convergé, faire
  • z^{(c+1)}=\arg\max_{z}\left(L\left(x,z;\theta^{(c)}\right)\right)
  • \theta^{(c+1)}=\arg\max_{\theta}\left(L\left(x,z^{(c+1)};\theta\right)\right)
  • c=c+1\,
  • Fin

Algorithme SEM

Afin de réduire le risque de tomber dans un maximum local de vraisemblance, Celeux et Diebolt (1985) proposent d’intercaler une étape stochastique de classification entre les étapes E et M. Après le calcul des probabilités t_{ik}^{(c)} , l’appartenance z_{ik}^{(c)} des individus aux classes est tirée aléatoirement selon une loi multinomiale de paramètres \mathcal{M}\left(1,t_{i1}^{(q)},\dots,t_{ig}^{(q)}\right) .

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 \left(z^{(q)},\theta^{(q)}\right) 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 \theta\, .

Page générée en 0.495 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise