Algoritmo de Baum-Welch

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En ingeniería eléctrica, informática estadística y bioinformática, el algoritmo de Baum-Welch es un caso especial del algoritmo de expectativa-maximización utilizado para encontrar los parámetros desconocidos de un modelo oculto de Markov (HMM). Utiliza el algoritmo de avance-retroceso para calcular las estadísticas del paso de expectativa.

Historia

El algoritmo Baum-Welch lleva el nombre de sus inventores Leonard E. Baum y Lloyd R. Welch. El algoritmo y los modelos ocultos de Markov se describieron por primera vez en una serie de artículos de Baum y sus colegas en el Centro IDA para la Investigación de las Comunicaciones de Princeton a finales de los años sesenta y principios de los setenta. Una de las primeras aplicaciones importantes de los HMM fue en el campo del procesamiento del habla. En la década de 1980, los HMM emergieron como una herramienta útil en el análisis de información y sistemas biológicos, y en particular de información genética. Desde entonces se han convertido en una herramienta importante en el modelado probabilístico de secuencias genómicas.

Descripción

Un modelo de Markov oculto describe la probabilidad conjunta de una colección de datos "ocultos" y variables aleatorias discretas observadas. Se basa en el supuesto de que la i-ésima variable oculta dada la (i − 1)-ésima variable oculta es independiente de las variables ocultas anteriores, y las variables de observación actuales dependen sólo en el estado oculto actual.

El algoritmo de Baum-Welch utiliza el conocido algoritmo EM para encontrar la estimación de máxima verosimilitud de los parámetros de un modelo oculto de Markov dado un conjunto de vectores de características observados.

Vamos. ser una variable discreta oculta al azar con valores posibles (es decir, suponemos que hay estados en total). Asumimos el es independiente del tiempo , que conduce a la definición de la matriz de transición estocástica independiente del tiempo

La distribución inicial del estado (es decir, cuando ) es dado por

Las variables de observación puede tomar uno valores posibles. También suponemos que la observación dada el estado "hidden" es tiempo independiente. La probabilidad de cierta observación a la vez para el estado es dado por

Teniendo en cuenta todos los valores posibles y , obtenemos el matriz Donde pertenece a todos los estados posibles y pertenece a todas las observaciones.

Una secuencia de observación es dada por .

Así podemos describir una cadena oculta de Markov . El algoritmo Baum-Welch encuentra un máximo local para (es decir, los parámetros HMM que maximice la probabilidad de la observación).

Algoritmo

Set con condiciones iniciales al azar. También se pueden configurar utilizando información previa sobre los parámetros si está disponible; esto puede acelerar el algoritmo y dirigirlo hacia el máximo local deseado.

Procedimiento directo

Vamos. , la probabilidad de ver las observaciones y estar en estado a la vez . Esto se encuentra recursivamente:

Dado que esta serie converge exponencialmente a cero, el algoritmo se desbordará numéricamente para secuencias más largas. Sin embargo, esto se puede evitar en un algoritmo ligeramente modificado escalando en el futuro en el procedimiento atrasado a continuación.

Procedimiento inverso

Vamos. que es la probabilidad de la secuencia parcial final dado estado inicial a la vez . Calculamos como,

Actualizar

Ahora podemos calcular las variables temporales, según Bayes' teorema:

que es la probabilidad de estar en estado a la vez dada la secuencia observada y los parámetros

que es la probabilidad de estar en estado y a veces y respectivamente dada la secuencia observada y parámetros .

Los denominadores y son los mismos; representan la probabilidad de hacer la observación dados los parámetros .

Los parámetros del modelo oculto Markov ahora se puede actualizar:

que es la frecuencia esperada gastada en estado a la vez .

que es el número esperado de transiciones del estado i al estado j en comparación con el número total esperado de transiciones fuera del estado i. Para aclarar, el número de transiciones fuera del estado i no significa transiciones a un estado diferente j, sino a cualquier estado incluido él mismo. Esto equivale al número de veces que se observa el estado i en la secuencia de t = 1 a t = T − 1.

dónde

es una función indicadora, y es el número esperado de veces que las observaciones de salida han sido iguales mientras que en estado sobre el número total esperado de veces en estado .

Estos pasos ahora se repiten iterativamente hasta alcanzar el nivel deseado de convergencia.

Nota: Es posible superar un conjunto de datos en particular. Eso es, . El algoritmo también lo hace no garantizar un máximo global.

Múltiples secuencias

El algoritmo descrito hasta ahora asume una única secuencia observada . Sin embargo, en muchas situaciones, se observan varias secuencias: . En este caso, la información de todas las secuencias observadas debe utilizarse en la actualización de los parámetros , , y . Suponiendo que hayas computado y para cada secuencia , los parámetros se pueden actualizar ahora:

dónde