sábado, 23 de julio de 2016

Bioinformática

Algoritmo de avance-retroceso


Introducción

Uno de los problemas básicos de los Modelos Ocultos de Márkov es el cálculo de la probabilidad de una secuencia de observables  dado un modelo . El objetivo es por tanto calcular eficientemente .
Probabilidad de una secuencia  de estados
Supongamos una secuencia de estados . La probabildad de esta secuencia es:
Probabilidad de una secuencia de observables  dada una secuencia de estados 
La probabilidad de observar  cuando se da precisamente esta secuencia de estados  es:
Cada  corresponde con el valor de 
Probabilidad de una secuencia de observables  dado un modelo 
Por tanto, para obtener la probabilidad de una secuencia  de observables dado un modelo , deberíamos calcular la probabilidad de  para cada una de las secuencias posibles .
El cálculo de  tal y como se muestra es impracticable; sólo para  estados y  observaciones sería necesario realizar del orden de  operaciones. Para reducir esta complejidad se emplean estrategias de programación dinámica como los algoritmos forward y backward.
Se recomienda revisar la formalización habitual de un Modelo Oculto de Márkov para comprender cada uno de los elementos en la formulación de estos dos procedimientos.

Procedimiento hacia adelante

Cálculo de 

Consideramos la variable  como:
Dado el modelo  es la probabilidad de observar  y estar en el instante de tiempo  en el estado .
Cálculo hacia adelante de la probabilidad de una secuencia de observaciones.
Inicialización
Recurrencia
Terminación

Ejemplo de cálculo de 

El esquema muestra los estados y probabilidades necesarias para el cálculo de :
Algoritmo forward

Cálculo hacia atrás

Cálculo de 

Consideramos la variable .
Dado el modelo  es la probabilidad de la secuencia de observación desde el instante de tiempo  hasta el final, cuando el estado en el instante de tiempo  es.
Inicialización
,
Recurrencia
,
Terminación

Ejemplo de cálculo de 

El esquema muestra los estados y probabilidades necesarios para el cálculo de  para un modelo de 5 estados y una secuencia de observaciones de longitud 5.
Algoritmo backward

Complejidad computacional

Tanto el procedimiento hacia adelante como el algoritmo backward, requieren del orden de  operaciones; muy inferior a  operaciones ( es el número de estados y  es la longitud de la secuencia de observaciones) que son necesarias si se calcula  para todas las posibles secuencias  del modelo.
El cálculo de los  servirán - junto a los  - para contestar las otras dos preguntas fundamentales de los Modelos Ocultos de Márkov:
  • ¿Cuál es la secuencia óptima  de estados dado una secuencia de observaciones ? (algoritmo de Viterbi)
  • Dada una secuencia de observaciones , ¿cómo podemos estimar los parámetros del modelo  para maximizar . En este caso el objetivo es encontrar el modelo que mejor explica la secuencia observada (algoritmo de Baum-Welch).





Algoritmo de Baum-Welch


Introducción

Uno de los problemas relacionados con los Modelos Ocultos de Márkov (MOM) es el de encontrar un modelo  que maximice la probabilidad de una secuencia de observaciones , es decir, determinar el modelo que mejor explica tal secuencia. El problema es que no es posible encontrar tal modelo analíticamente y por ello es necesario un algoritmo iterativo como el de Baum y Welch, que permite estimar los parámetros de un modelo que hacen máxima la probabilidad de una secuencia de observables.

El algoritmo de Baum y Welch

Dada una secuencia de observaciones , el algoritmo de Baum y Welch permite estimar los parámetros  de un Modelo oculto de Márkov (MOM) que maximizan la probabilidad de dicha secuencia, es decir, .

Valores esperados

Antes de describir el proceso de estimación, necesitamos conocer:
  • el número esperado de transiciones desde el estado  en  y
  • el número esperado de transiciones desde el estado  al estado  en 
Para ello definimos previamente  como la probabilidad de estar en el estado  en el instante  y en el estado  en el instante , dado una observación  y el modelo .
donde los valores  y  se pueden calcular eficientemente con el algoritmo de avance-retroceso.
La figura muestra un esquema parcial de los elementos necesarios para el cálculo de .
Xi-i-j-for-baum-welch.png

Definimos también  como la probabilidad de estar en el estado  en el instante ,

Sumando cada  en cada instante de tiempo, obtenemos:
  • el número esperado de transiciones desde el estado  en la observación 
y haciendo lo mismo con cada , obtenemos:
  • el número esperado de transiciones desde el estado  al estado  en la observación 

Reestimación

El funcionamiento del procedimiento iterativo es básicamente el siguiente:
  1. Se parte de un modelo inicial que se puede seleccionar aleatoriamente.
  2. 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.
  3. Se construye un nuevo modelo en el que se incrementa la probabilidad de las transiciones y símbolos determinados 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  en el instante de tiempo :

Reestimación de las probabilidades de transición. El numerador representa el número esperado de transiciones de  a , y el denominador representa el número esperado de transiciones desde :

Reestimación de las probabilidades de emisión. El numerador representa el número esperado de veces que se pasa por el estado  y se observa , y el denominador representa el número esperado de veces que se pasa por el estado :

Otras preguntas fundamentales

Otros dos problemas que es importante saber resolver para utilizar los MOM son:
  1. ¿Cuál es la secuencia óptima  de estados, dada una secuencia de observaciones ? (algoritmo de Viterbi)
  2. ¿Cuál es la probabilidad de una secuencia de observaciones  dado un modelo ? Es decir, ¿cómo podemos calcular de forma eficiente ? (cálculo hacia adelante y hacia atrás).

El algoritmo de Baum-Welch y el Modelo oculto de Markov

Leonard Baum y Welch Lloyd diseñaron un algoritmo de modelado probabilístico para detectar patrones en elmodelo oculto de Markov. Se basan en la teoría de funciones de probabilidad de una Cadena de Markov y elalgoritmo esperanza-maximización (algortimo EM) – un método iterativo para encontrar la máxima verosimilitud de los parámetros en los modelos estadísticos, en los que el modelo depende de variables latentes no observables.
ForecastingwiththeBaumWelchAlgorithmandHiddenMarkovModels
El algoritmo de Baum-Welch demostró inicialmente ser una herramienta de notable reconocimiento a la hora de descifrar códigos y el lenguaje, pero también tiene aplicaciones para negocios, finanzas, ciencias y otros. El algoritmo encuentra parámetros desconocidos de un modelo oculto de Markov.
El algoritmo consta de dos fases:
1 . Calcular las probabilidades a posteriori para un determinado modelo , y
2 . volver a estimar los parámetros del modelo .
El modelo de un proceso de Markov es una secuencia de eventos que no tienen una relación directa. Un modelo oculto de Markov es un modelo probabilístico de una colección de variables aleatorias y el cual proporciona un marco sencillo y eficaz para el modelado de las secuencias del vector espectral para variables del tiempo .
El algoritmo de Baum- Welch y el modelo oculto de Markov se utilizan con éxito para los sistemas de comercio financiero, predicción de las tendencias del mercado, la detección de fraudes, optimización de cadenas, previsión de la oferta y la demanda, predicción de series de tiempo financieras y la detección de anomalías en la actividad de tráfico de red.
Con suficientes datos y potencia de computación, los modelos de algoritmo de Baum- Welch y el modelo oculto de Markov pueden calcular las probabilidades de que un  proceso ocurra y predecir eventos futuros.

No hay comentarios:

Publicar un comentario