Algorithme de Baum-Welch

De testwiki
Aller à la navigation Aller à la recherche

Modèle:ÉbaucheModèle:Sources L'algorithme de Baum-Welch est un algorithme utilisé pour réestimer les paramètres d'un modèle de Markov caché. Il utilise l'algorithme forward-backward et porte les noms de Leonard E. Baum et Modèle:Lien.

Présentation

L'algorithme de Baum-Welch est un cas particulier d'une généralisation de l'algorithme espérance-maximisation (GEM).

Un des problèmes liés aux modèles de Markov cachés (HMM) est de trouver un modèle μ qui maximise la probabilité d'une séquence d'observations O=(o1,o2,,oT), c'est-à-dire de déterminer le modèle qui explique le mieux la séquence. Le problème est qu'il n'est pas possible de trouver un tel modèle de façon analytique. L'algorithme de Baum-Welch est un algorithme itératif, qui permet d'estimer les paramètres du modèle qui maximisent la probabilité d'une séquence d'observables.

L'algorithme de Baum-Welch converge vers un maximum local.

Description de l'algorithme

Calculs préliminaires

Avant de décrire le processus d'estimation, nous avons besoin de savoir cela:

  • le nombre prévu de transitions d'un état i en O et
  • le nombre prévu de transitions d'un état i à l'état j dans O

Définissons d'abord ξt(i,j) la probabilité d'être dans l'état i à l'instant t et dans l'état j à l'instant t+1, étant donné une observation O et le modèle μ.

ξt(i,j)=P(qt=i,qt+1=j|O,μ)

ξt(i,j)=P(qt=i,qt+1=j,O|μ)P(O|μ)=αt(i)aijbj(ot+1)βt+1(j)P(O|μ)

ξt(i,j)=αt(i)aijbj(ot+1)βt+1(j)k=1Nl=1Nαt(k)aklbl(ot+1)βt+1(l)

avec aij la probabilité de transition de l'état i vers l'état j, et bj(o) la probabilité d'observer o lorsque l'on est dans l'état j, et où les valeurs αt(i) et βt(i) définies ci après peuvent se calculer simplement avec l'algorithme forward-backward.

αt(i)=P(o1,o2,,ot,qt=i|μ)

βt(i)=P(ot+1,ot+2,,oT|qt=i,μ)

La figure montre une vue schématique partielle des éléments nécessaires pour le calcul de ξ(i,j).

Nous définissons aussi γt(i) la probabilité d'être dans l'état i à l'instant t,

γt(i)=j=1Nξt(i,j)

En sommant γt(i) sur le temps, on obtient:

  • le nombre prévu de transitions d'un état i dans l'observation O

t=1T1γt(i)

Et en faisant la même chose avec ξt(i,j), nous obtenons:

  • le nombre prévu de transitions d'un état i à l'état j dans l'observation O

t=1T1ξt(i,j)

Réestimation

Le fonctionnement de la procédure itérative est le suivant :

  1. Partir d'un modèle initial qui peut être choisi aléatoirement.
  2. Réaliser le calcul des transitions et symboles émis qui sont les plus probables selon le modèle initial.
  3. Construire un nouveau modèle dans lequel la probabilité des transitions et des observations déterminée à l'étape précédente augmente. Pour la séquence des observables en question, le modèle aura désormais une probabilité plus élevée que le modèle précédent.

Ce processus de formation est répétée plusieurs fois jusqu'à ce qu'il n'y ait plus d'amélioration entre le modèle recalculé et l'ancien.

Probabilité d'être dans l'état i à l'instant t=1 :

π¯i=γ1(i)

1iN

Re-estimation des probabilités de transition. Le numérateur correspond au nombre attendu de transitions de i à j, et le dénominateur représente le nombre attendu de transitions de i :

a¯ij=t=1T1ξt(i,j)t=1T1γt(i)

1iN, 1jN

Re-estimation des probabilités d'émission. Le numérateur correspond au nombre de fois où l'on est passé dans l'état j et que l'on a observé ok, et le dénominateur représente le nombre de fois où l'on est passé dans l'état j :

b¯j(ok)=t=1:ot=okTγt(j)t=1Tγt(j)

1jN, 1kN

Modèle:...

Modèle:Portail