El algoritmo de Baum-Welsh se utiliza en informática y estadística para encontrar parámetros desconocidos de un modelo oculto de Markov (HMM). Utiliza el algoritmo adelante-atrás y es un caso especial del algoritmo EM generalizado .
Un modelo oculto de Markov es un modelo probabilístico de un conjunto de variables aleatorias . Las variables son observaciones discretas conocidas y son cantidades discretas "ocultas". En el marco del modelo oculto de Markov, hay dos declaraciones independientes que aseguran la convergencia de este algoritmo:
A continuación, se propondrá un algoritmo de "supuestos y maximizaciones" para encontrar la estimación probabilística máxima de los parámetros del modelo oculto de Markov para un conjunto dado de observaciones. Este algoritmo también se conoce como el algoritmo de Baum-Welsh.
es una variable aleatoria discreta que toma uno de los valores . Supondremos que este modelo de Markov, definido como , es homogéneo en el tiempo, es decir, independiente de . Entonces se puede especificar como una matriz de desplazamiento estocástico independiente del tiempo . Las probabilidades de los estados en un punto en el tiempo están determinadas por la distribución inicial .
Asumiremos que estamos en un estado en el momento del tiempo si . La secuencia de estados se expresa como , donde es el estado en el momento .
Una observación en un punto en el tiempo puede tener uno de los valores posibles, . La probabilidad de un vector dado de observaciones en un punto en el tiempo para un estado se define como ( es una matriz en ). La secuencia de observaciones se expresa como .
Por lo tanto, podemos describir el modelo oculto de Markov con . Para un vector de observación dado, el algoritmo de Baum-Welsh encuentra . maximiza la probabilidad de las observaciones .
Datos iniciales: con condiciones iniciales aleatorias.
El algoritmo actualiza iterativamente el parámetro hasta que converge en un punto.
Indicar por la probabilidad de ocurrencia de una secuencia dada para el estado en el tiempo .
se puede calcular recursivamente:
Este procedimiento nos permite calcular la probabilidad de una sucesión finita dada , siempre que partamos del estado inicial , en el tiempo .
Se puede calcular :
Usando y puedes calcular los siguientes valores:
Teniendo y , podemos calcular nuevos valores de los parámetros del modelo:
dónde
función indicativa, y el número esperado de valores del observable igual en estado al número total de estados .
Usando nuevos valores de , y , las iteraciones continúan hasta la convergencia.