Diferencia entre revisiones de «Algoritmo de Baum-Welch»

Contenido eliminado Contenido añadido
Introducción: MOM más probable
Valores esperados
Línea 8:
Dada una secuencia de observaciones <math>O=(o_{1},o_{2},\ldots,o_{T})</math>, el algoritmo de Baum-Welch permite estimar los parámetros de un [[Modelo oculto de Markov]] (MOM) <math>\mu</math> que maximizan la probabilidad de dicha secuencia, es decir, <math>P(O|\mu)</math>.
 
=== Valores esperados ===
El funcionamiento del procedimiento iterativo es básicamente el siguiente:
 
Antes de describir el proceso de estimación, necesitamos conocer:
# Se parte de un '''modelo inicial''' que se puede seleccionar aleatoriamente.
# Se realiza el cálculo de las '''transiciones y símbolos de emisión''' que son '''más probables''' según el modelo inicial escogido.
# Se construye '''un nuevo modelo''' en el que '''se incrementa la probabilidad''' de las transiciones y símbolos determinadas en el paso anterior. Para la secuencia de observables en cuestión, el modelo tendrá ahora una probabilidad mayor que el modelo anterior.
 
Número* el número esperado de transiciones desde el estado <math>i</math> en la observación <math>O</math> y
Este '''proceso de entrenamiento''' se repite varias veces hasta que no exista mejora entre un modelo y el siguiente revisado.
Número* el número esperado de transiciones desde el estado <math>i</math> al estado <math>j</math> en la observación <math>O</math>.
 
Para ello definimos previamente <math>\xi_{t}{(i,j)}</math> como la probabilidad de estar en el estado <math>i</math> en el instante <math>t</math> y en el estado <math>j</math> en el instante <math>t+1</math>, dado una observación <math>O</math> y el modelo <math>\mu</math>.
== Valores esperados ==
 
<math>
Número esperado de transiciones desde el estado <math>i</math> en la observación <math>O</math>
\xi_{t}{(i,j)}=P(q_{t}=i,q_{t+1}=j|O,\mu)
</math>
 
<math>
<math>\gamma_{t}(i)=\frac{\alpha_{t}(i)\beta_{t}(i)}{\displaystyle\sum_{j=1}^{N}{\alpha_{j}(t)\beta_{j}(t)}}</math>
\xi_{t}{(i,j)}=\frac{P(q_{t}=i,q_{t+1}=j,O|\mu)}{P(O|\mu)}=\frac{\alpha_{t}{(i)}a_{ij}b_{j}(o_{t+1})\beta_{t+1}(j)}{P(O|\mu)}
</math>
 
<math>
<math>\gamma_xi_{t}{(i,j)}=\frac{\alpha_{t}{(i)}a_{ij}b_{j}(o_{t+1})\beta_{t+1}(ij)}{\displaystyle\sum_{jk=1}^{N}\displaystyle\sum_{l=1}^{N}{\alpha_{jt}(k)a_{kl}b_{l}(o_{t+1})\beta_{jt+1}(tl)}}</math>
</math>
 
donde los valores <math>\alpha_{t}(i)</math> y <math>\beta_{t}(i)</math> se pueden calcular eficientemente mediantecon el [[Algoritmo de avance-retroceso|algoritmo de avance-retroceso]].
Número esperado de transiciones desde el estado <math>i</math> al estado <math>j</math> en la observación <math>O</math>.
 
La figura muestra un esquema parcial de los elementos necesarios para el cálculo de <math>\xi(i,j)</math>.
<math>\xi_{t}{(i,j)}=\frac{\alpha_{t}{(i)}a_{ij}b_{j}(o_{t+1})\beta_{t+1}(j)}{\displaystyle\sum_{k=1}^{N}\displaystyle\sum_{l=1}^{N}{\alpha_{t}(k)a_{kl}b_{l}(o_{t+1})\beta_{t+1}(l)}}</math>
 
[[Image:Xi-i-j-for-baum-welch.png]]
 
<math>
<math>\gamma_{t}(i)</math> se puede reescribir como:
<math>\alpha_{t}(i)=P(o_{1},o_{2},\ldots,o_{t},q_{t}=i|\mu)</math>
</math>
 
<math>
<math>\gamma_{t}(i)=\displaystyle\sum_{j=1}^{N}{\xi_{t}(i,j)}</math>
<math>\beta_{t}(i)=P(o_{t+1}o_{t+2},\ldots,o_{T}|q_{t}=i,\mu)</math>
</math>
 
Dondey losdefinimos valores detambién <math>\alpha_gamma_{t}(i)</math> ycomo la probabilidad de estar en el estado <math>\beta_{t}(i)</math> son:en el instante <math>t</math>,
 
<math>
<math>\alpha_{t}(i)=P(o_{1},o_{2},\ldots,o_{t},q_{t}=i|\mu)</math>
<math>\gamma_{t}(i)=\displaystyle\sum_{j=1}^{N}{\xi_{t}(i,j)}</math>
</math>
 
<math>\beta_{t}(i)=P(o_{t+1}o_{t+2},\ldots,o_{T}|q_{t}=i,\mu)</math>
 
Sumando cada <math>\gamma_{t}(i)</math> en cada instante de tiempo, obtenemos el número esperado de transiciones desde el estado <math>i</math> en la observación <math>O</math>
y se pueden calcular eficientemente mediante el [[Algoritmo de avance-retroceso|algoritmo de avance-retroceso]].
 
<math>
== Reestimación ==
\displaystyle\sum_{t=1}^{T-1}{\gamma_{t}(i)}
</math>
 
y haciendo lo mismo con cada <math>\xi_{t}(i,j)</math>, obtenemos el número esperado de transiciones desde el estado <math>i</math> al estado <math>j</math> en la observación <math>O</math>
 
<math>
\displaystyle\sum_{t=1}^{T-1}{\xi_{t}(i,j)}
</math>
 
=== Reestimación ===
 
El funcionamiento del procedimiento iterativo es básicamente el siguiente:
 
# Se parte de un '''modelo inicial''' que se puede seleccionar aleatoriamente.
# Se realiza el cálculo de las '''transiciones y símbolos de emisión''' que son '''más probables''' según el modelo inicial escogido.
# Se construye '''un nuevo modelo''' en el que '''se incrementa la probabilidad''' de las transiciones y símbolos determinadas en el paso anterior. Para la secuencia de observables en cuestión, el modelo tendrá ahora una probabilidad mayor que el modelo anterior.
Este '''proceso de entrenamiento''' se repite varias veces hasta que no exista mejora entre un modelo y el siguiente revisado.
 
Probabilidad de estar en el estado <math>i</math> en el instante de tiempo <math>t=1</math>: