Modelo oculto de Markov - Hidden Markov model

El modelo de Markov oculto ( HMM ) es un modelo estadístico de Markov en el que se supone que el sistema que se está modelando se comporta como un proceso de Markov con estados no observables (" ocultos "). Como parte de la definición, HMM asume que existe un proceso observable cuyo comportamiento es "influenciado" de una manera conocida. El objetivo es aprender observando . HMM requiere que, en cada instancia de tiempo, el resultado de debe estar "influenciado" exclusivamente por el resultado de y que las historias y los resultados anteriores no deben tener relación con el resultado de

Los modelos ocultos de Markov son conocidos por sus aplicaciones a la termodinámica , la mecánica estadística , la física , la química , la economía , las finanzas , el procesamiento de señales , la teoría de la información , el reconocimiento de patrones , como el habla , la escritura a mano , el reconocimiento de gestos , el etiquetado de parte del discurso , el seguimiento de partituras musicales. , descargas parciales y bioinformática .

Definición

Sean y sean procesos estocásticos de tiempo discreto y . La pareja es un modelo de Markov oculto si

  • es un proceso de Markov cuyo comportamiento no es directamente observable ("oculto");
para todos y cada uno de los conjuntos de Borel .

Sean y sean procesos estocásticos de tiempo continuo. La pareja es un modelo de Markov oculto si

  • es un proceso de Markov cuyo comportamiento no es directamente observable ("oculto");
  • ,
para cada set Borel y cada familia de sets Borel

Terminología

Los estados del proceso (resp. Se denominan estados ocultos y (resp. Se llama probabilidad de emisión o probabilidad de salida) .

Ejemplos de

Sacar bolas de urnas ocultas

Figura 1. Parámetros probabilísticos de un modelo de Markov oculto (ejemplo)
X - estados
y - posibles observaciones
a - probabilidades de transición de estados
b - probabilidades de salida

En su forma discreta, un proceso de Markov oculto se puede visualizar como una generalización del problema de la urna con reemplazo (donde cada elemento de la urna se devuelve a la urna original antes del siguiente paso). Considere este ejemplo: en una habitación que no es visible para un observador, hay un genio. La habitación contiene urnas X1, X2, X3, ... cada una de las cuales contiene una mezcla conocida de bolas, cada bola etiquetada como y1, y2, y3, .... El genio elige una urna en esa habitación y extrae al azar una bola de esa urna. Luego coloca la bola en una cinta transportadora, donde el observador puede observar la secuencia de las bolas pero no la secuencia de urnas de las que fueron extraídas. El genio tiene algún procedimiento para elegir urnas; la elección de la urna para la n -ésima bola depende sólo de un número aleatorio y la elección de la urna para la ( n  - 1) -ésima bola. La elección de la urna no depende directamente de las urnas elegidas antes de esta única urna anterior; por lo tanto, esto se denomina proceso de Markov . Puede describirse en la parte superior de la Figura 1.

El proceso de Markov en sí no puede observarse, solo la secuencia de bolas etiquetadas, por lo que esta disposición se denomina "proceso de Markov oculto". Esto se ilustra en la parte inferior del diagrama que se muestra en la Figura 1, donde se puede ver que las bolas y1, y2, y3, y4 se pueden dibujar en cada estado. Incluso si el observador conoce la composición de las urnas y acaba de observar una secuencia de tres bolas, por ejemplo , y1, y2 e y3 en la cinta transportadora, el observador aún no puede estar seguro de qué urna ( es decir , en qué estado) ha dibujado el genio. la tercera bola de. Sin embargo, el observador puede encontrar otra información, como la probabilidad de que la tercera bola provenga de cada una de las urnas.

Juego de adivinanzas del tiempo

Piense en dos amigos, Alice y Bob, que viven lejos el uno del otro y que hablan todos los días por teléfono sobre lo que hicieron ese día. Bob solo está interesado en tres actividades: caminar por el parque, ir de compras y limpiar su apartamento. La elección de qué hacer está determinada exclusivamente por el clima de un día determinado. Alice no tiene información definitiva sobre el clima, pero conoce las tendencias generales. Basándose en lo que Bob le dice que hizo cada día, Alice intenta adivinar cómo debe haber sido el clima.

Alice cree que el clima opera como una cadena de Markov discreta . Hay dos estados, "Lluvioso" y "Soleado", pero ella no puede observarlos directamente, es decir, están ocultos para ella. Cada día, existe una cierta probabilidad de que Bob realice una de las siguientes actividades, según el clima: "caminar", "comprar" o "limpiar". Dado que Bob le cuenta a Alice sobre sus actividades, esas son las observaciones . Todo el sistema es el de un modelo de Markov oculto (HMM).

Alice conoce las tendencias generales del clima en el área y lo que a Bob le gusta hacer en promedio. En otras palabras, se conocen los parámetros del HMM. Se pueden representar de la siguiente manera en Python :

states = ('Rainy', 'Sunny')
 
observations = ('walk', 'shop', 'clean')
 
start_probability = {'Rainy': 0.6, 'Sunny': 0.4}
 
transition_probability = {
   'Rainy' : {'Rainy': 0.7, 'Sunny': 0.3},
   'Sunny' : {'Rainy': 0.4, 'Sunny': 0.6},
   }
 
emission_probability = {
   'Rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5},
   'Sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
   }

En este fragmento de código, start_probabilityrepresenta la creencia de Alice sobre en qué estado se encuentra el HMM cuando Bob la llama por primera vez (todo lo que sabe es que, en promedio, tiende a llover). La distribución de probabilidad particular utilizada aquí no es la de equilibrio, que es (dadas las probabilidades de transición) aproximadamente {'Rainy': 0.57, 'Sunny': 0.43}. El transition_probabilityrepresenta el cambio del clima en la cadena de Markov subyacente. En este ejemplo, hay solo un 30% de probabilidad de que mañana esté soleado si hoy está lluvioso. El emission_probabilityrepresenta la probabilidad de que Bob realice una determinada actividad cada día. Si llueve, hay un 50% de probabilidad de que esté limpiando su apartamento; si hace sol, hay un 60% de probabilidad de que salga a caminar.

Representación gráfica del HMM dado

Un ejemplo similar se desarrolla con más detalle en la página del algoritmo de Viterbi .

Arquitectura estructural

El siguiente diagrama muestra la arquitectura general de un HMM instanciado. Cada forma ovalada representa una variable aleatoria que puede adoptar cualquiera de varios valores. La variable aleatoria x ( t ) es el estado oculto en el tiempo t (con el modelo del diagrama anterior, x ( t ) ∈ {  x 1x 2x 3  }). La variable aleatoria y ( t ) es la observación en el tiempo t (con y ( t ) ∈ {  y 1y 2y 3y 4  }). Las flechas en el diagrama (a menudo llamado diagrama de enrejado ) denotan dependencias condicionales.

A partir del diagrama, queda claro que la distribución de probabilidad condicional de la variable oculta x ( t ) en el tiempo t , dados los valores de la variable oculta x en todo momento, depende solo del valor de la variable oculta x ( t  - 1 ); los valores en el tiempo t  - 2 y antes no tienen influencia. Esto se llama propiedad de Markov . De manera similar, el valor de la variable observada y ( t ) solo depende del valor de la variable oculta x ( t ) (ambos en el tiempo t ).

En el tipo estándar de modelo de Markov oculto que se considera aquí, el espacio de estado de las variables ocultas es discreto, mientras que las observaciones en sí pueden ser discretas (normalmente generadas a partir de una distribución categórica ) o continuas (normalmente de una distribución gaussiana ). Los parámetros de un modelo de Markov oculto son de dos tipos, probabilidades de transición y probabilidades de emisión (también conocidas como probabilidades de salida ). Las probabilidades de transición controlan la forma en que se elige el estado oculto en el momento t dado el estado oculto en el momento .

Se supone que el espacio de estado oculto consta de uno de N valores posibles, modelado como una distribución categórica. (Consulte la sección siguiente sobre extensiones para conocer otras posibilidades). Esto significa que para cada uno de los N estados posibles en los que puede estar una variable oculta en el tiempo t , existe una probabilidad de transición de este estado a cada uno de los N estados posibles del variable oculta en el momento , para un total de probabilidades de transición. Tenga en cuenta que el conjunto de probabilidades de transición para las transiciones de cualquier estado dado debe sumar 1. Por lo tanto, la matriz de probabilidades de transición es una matriz de Markov . Dado que cualquier probabilidad de transición se puede determinar una vez que se conocen las demás, hay un total de parámetros de transición.

Además, para cada uno de los N estados posibles, existe un conjunto de probabilidades de emisión que gobiernan la distribución de la variable observada en un momento particular dado el estado de la variable oculta en ese momento. El tamaño de este conjunto depende de la naturaleza de la variable observada. Por ejemplo, si la variable observada es discreta con M valores posibles, gobernada por una distribución categórica , habrá parámetros separados, para un total de parámetros de emisión sobre todos los estados ocultos. Por otro lado, si la variable observada es un vector M -dimensional distribuido según una distribución gaussiana multivariada arbitraria , habrá M parámetros que controlen las medias y parámetros que controlen la matriz de covarianza , para un total de parámetros de emisión. (En tal caso, a menos que el valor de M sea ​​pequeño, puede ser más práctico restringir la naturaleza de las covarianzas entre elementos individuales del vector de observación, por ejemplo, asumiendo que los elementos son independientes entre sí, o menos restrictivamente, son independientes de todos excepto de un número fijo de elementos adyacentes).

Evolución temporal de un modelo de Markov oculto

Inferencia

La transición de estado y las probabilidades de salida de un HMM se indican mediante la opacidad de la línea en la parte superior del diagrama. Dado que hemos observado la secuencia de salida en la parte inferior del diagrama, es posible que nos interese la secuencia de estados más probable que podría haberla producido. Con base en las flechas que están presentes en el diagrama, las siguientes secuencias de estados son candidatas:
5 3 2 5 3 2
4 3 2 5 3 2
3 1 2 5 3 2
Podemos encontrar la secuencia más probable evaluando la probabilidad conjunta de ambas la secuencia de estados y las observaciones para cada caso (simplemente multiplicando los valores de probabilidad, que aquí corresponden a las opacidades de las flechas involucradas). En general, este tipo de problema (es decir, encontrar la explicación más probable para una secuencia de observación) se puede resolver de manera eficiente utilizando el algoritmo de Viterbi .

Varios problemas de inferencia están asociados con modelos de Markov ocultos, como se describe a continuación.

Probabilidad de una secuencia observada

La tarea consiste en calcular de la mejor manera, dados los parámetros del modelo, la probabilidad de una secuencia de salida particular. Esto requiere la suma de todas las posibles secuencias de estados:

La probabilidad de observar una secuencia.

de longitud L viene dada por

donde la suma corre sobre todas las posibles secuencias de nodos ocultos

Aplicando el principio de programación dinámica , este problema también se puede manejar de manera eficiente utilizando el algoritmo de avance .

Probabilidad de las variables latentes

Varias tareas relacionadas preguntan sobre la probabilidad de una o más de las variables latentes, dados los parámetros del modelo y una secuencia de observaciones.

Filtración

La tarea consiste en calcular, dados los parámetros del modelo y una secuencia de observaciones, la distribución sobre los estados ocultos de la última variable latente al final de la secuencia, es decir, calcular . Esta tarea se utiliza normalmente cuando se piensa en la secuencia de variables latentes como los estados subyacentes por los que se mueve un proceso en una secuencia de puntos de tiempo, con las correspondientes observaciones en cada punto en el tiempo. Entonces, es natural preguntar sobre el estado del proceso al final.

Este problema se puede manejar de manera eficiente utilizando el algoritmo de reenvío .

Suavizado

Esto es similar al filtrado, pero pregunta acerca de la distribución de una variable latente en algún lugar en el medio de una secuencia, es decir, para calcular alguna . Desde la perspectiva descrita anteriormente, esto se puede considerar como la distribución de probabilidad sobre estados ocultos para un punto en el tiempo k en el pasado, en relación con el tiempo t .

El algoritmo de avance-retroceso es un buen método para calcular los valores suavizados para todas las variables de estado ocultas.

Explicación más probable

La tarea, a diferencia de las dos anteriores, pregunta sobre la probabilidad conjunta de toda la secuencia de estados ocultos que generó una secuencia particular de observaciones (ver ilustración a la derecha). Esta tarea es generalmente aplicable cuando los HMM se aplican a diferentes tipos de problemas de aquellos para los que son aplicables las tareas de filtrado y suavizado. Un ejemplo es el etiquetado de parte del discurso , donde los estados ocultos representan las partes del discurso subyacentes correspondientes a una secuencia de palabras observada. En este caso, lo que interesa es la secuencia completa de partes del discurso, en lugar de simplemente la parte del discurso para una sola palabra, como se calcularía el filtrado o el suavizado.

Esta tarea requiere encontrar un máximo en todas las secuencias de estados posibles y puede resolverse de manera eficiente mediante el algoritmo de Viterbi .

Significancia estadística

Para algunos de los problemas anteriores, también puede ser interesante preguntar acerca de la significancia estadística . ¿Cuál es la probabilidad de que una secuencia extraída de alguna distribución nula tenga una probabilidad HMM (en el caso del algoritmo directo) o una probabilidad máxima de secuencia de estado (en el caso del algoritmo de Viterbi) al menos tan grande como la de un algoritmo particular? secuencia de salida? Cuando se utiliza un HMM para evaluar la relevancia de una hipótesis para una secuencia de salida en particular, la significancia estadística indica la tasa de falsos positivos asociada con no rechazar la hipótesis para la secuencia de salida.

Aprendiendo

La tarea de aprendizaje de parámetros en los HMM es encontrar, dada una secuencia de salida o un conjunto de tales secuencias, el mejor conjunto de probabilidades de emisión y transición de estado. La tarea suele ser derivar la estimación de máxima verosimilitud de los parámetros del HMM dado el conjunto de secuencias de salida. No se conoce ningún algoritmo manejable para resolver este problema con exactitud, pero se puede derivar una probabilidad máxima local de manera eficiente utilizando el algoritmo de Baum-Welch o el algoritmo Baldi-Chauvin. El algoritmo de Baum-Welch es un caso especial del algoritmo de maximización de expectativas .

Si los HMM se utilizan para la predicción de series de tiempo, se ha demostrado que los métodos de inferencia bayesiana más sofisticados, como el muestreo de cadena de Markov Monte Carlo (MCMC), son favorables a la búsqueda de un único modelo de máxima verosimilitud tanto en términos de precisión como de estabilidad. Dado que MCMC impone una carga computacional significativa, en los casos en que la escalabilidad computacional también es de interés, se puede alternativamente recurrir a aproximaciones variacionales a la inferencia bayesiana, por ejemplo, de hecho, la inferencia variacional aproximada ofrece una eficiencia computacional comparable a la maximización de expectativas, mientras que produce un perfil de precisión solo ligeramente inferior a la inferencia bayesiana exacta de tipo MCMC.

Aplicaciones

Un perfil HMM que modela una alineación de secuencia múltiple

Los HMM se pueden aplicar en muchos campos donde el objetivo es recuperar una secuencia de datos que no es inmediatamente observable (pero otros datos que dependen de la secuencia sí lo son). Las aplicaciones incluyen:

Historia

Los modelos ocultos de Markov fueron descritos en una serie de artículos estadísticos por Leonard E. Baum y otros autores en la segunda mitad de la década de 1960. Una de las primeras aplicaciones de los HMM fue el reconocimiento de voz , que comenzó a mediados de la década de 1970.

En la segunda mitad de la década de 1980, los HMM comenzaron a aplicarse al análisis de secuencias biológicas, en particular del ADN . Desde entonces, se han vuelto omnipresentes en el campo de la bioinformática .

Extensiones

En los modelos ocultos de Markov considerados anteriormente, el espacio de estado de las variables ocultas es discreto, mientras que las observaciones en sí pueden ser discretas (generalmente generadas a partir de una distribución categórica ) o continuas (típicamente a partir de una distribución gaussiana ). Los modelos ocultos de Markov también se pueden generalizar para permitir espacios de estado continuos. Ejemplos de tales modelos son aquellos donde el proceso de Markov sobre variables ocultas es un sistema dinámico lineal , con una relación lineal entre variables relacionadas y donde todas las variables ocultas y observadas siguen una distribución gaussiana . En casos simples, como el sistema dinámico lineal que acabamos de mencionar, la inferencia exacta es manejable (en este caso, usando el filtro de Kalman ); sin embargo, en general, la inferencia exacta en HMM con variables latentes continuas no es factible y se deben utilizar métodos aproximados, como el filtro de Kalman extendido o el filtro de partículas .

Los modelos ocultos de Markov son modelos generativos , en los que se modela la distribución conjunta de observaciones y estados ocultos o, de manera equivalente, tanto la distribución previa de estados ocultos (las probabilidades de transición ) como la distribución condicional de estados dados de las observaciones (las probabilidades de emisión ). Los algoritmos anteriores suponen implícitamente una distribución previa uniforme sobre las probabilidades de transición. Sin embargo, también es posible crear modelos de Markov ocultos con otros tipos de distribuciones previas. Un candidato obvio, dada la distribución categórica de las probabilidades de transición, es la distribución de Dirichlet , que es la distribución previa conjugada de la distribución categórica. Por lo general, se elige una distribución de Dirichlet simétrica, lo que refleja la ignorancia sobre qué estados son intrínsecamente más probables que otros. El único parámetro de esta distribución (denominado parámetro de concentración ) controla la densidad relativa o la escasez de la matriz de transición resultante. Una elección de 1 produce una distribución uniforme. Los valores superiores a 1 producen una matriz densa, en la que es probable que las probabilidades de transición entre pares de estados sean casi iguales. Los valores inferiores a 1 dan como resultado una matriz dispersa en la que, para cada estado de origen dado, solo un pequeño número de estados de destino tienen probabilidades de transición no despreciables. También es posible utilizar una distribución de Dirichlet previa de dos niveles, en la que una distribución de Dirichlet (la distribución superior) gobierna los parámetros de otra distribución de Dirichlet (la distribución inferior), que a su vez gobierna las probabilidades de transición. La distribución superior gobierna la distribución general de estados, determinando la probabilidad de que ocurra cada estado; su parámetro de concentración determina la densidad o escasez de estados. Una distribución anterior de dos niveles de este tipo, en la que ambos parámetros de concentración se establecen para producir distribuciones dispersas, podría ser útil, por ejemplo, en el etiquetado de parte del habla no supervisado , donde algunas partes del habla ocurren con mucha más frecuencia que otras; Los algoritmos de aprendizaje que asumen una distribución previa uniforme generalmente funcionan mal en esta tarea. Los parámetros de modelos de este tipo, con distribuciones previas no uniformes, se pueden aprender utilizando el muestreo de Gibbs o versiones extendidas del algoritmo de maximización de expectativas .

Una extensión de los modelos de Markov ocultos descritos anteriormente con priores de Dirichlet utiliza un proceso de Dirichlet en lugar de una distribución de Dirichlet. Este tipo de modelo permite un número desconocido y potencialmente infinito de estados. Es común utilizar un proceso de Dirichlet de dos niveles, similar al modelo descrito anteriormente con dos niveles de distribuciones de Dirichlet. Dicho modelo se denomina modelo de Markov oculto de proceso de Dirichlet jerárquico , o HDP-HMM para abreviar. Originalmente se describió con el nombre de "Infinite Hidden Markov Model" y se formalizó aún más en.

Un tipo diferente de extensión utiliza un modelo discriminativo en lugar del modelo generativo de los HMM estándar. Este tipo de modelo modela directamente la distribución condicional de los estados ocultos dadas las observaciones, en lugar de modelar la distribución conjunta. Un ejemplo de este modelo es el llamado modelo de Markov de máxima entropía (MEMM), que modela la distribución condicional de los estados mediante regresión logística (también conocido como " modelo de máxima entropía "). La ventaja de este tipo de modelo es que se pueden modelar características arbitrarias (es decir, funciones) de las observaciones, lo que permite inyectar en el modelo un conocimiento específico del dominio del problema en cuestión. Los modelos de este tipo no se limitan a modelar dependencias directas entre un estado oculto y su observación asociada; más bien, características de observaciones cercanas, de combinaciones de la observación asociada y observaciones cercanas, o de hecho, de observaciones arbitrarias a cualquier distancia de un estado oculto dado, pueden incluirse en el proceso utilizado para determinar el valor de un estado oculto. Además, no hay necesidad de que estas características sean estadísticamente independientes entre sí, como sería el caso si tales características se usaran en un modelo generativo. Por último, se pueden utilizar características arbitrarias sobre pares de estados ocultos adyacentes en lugar de simples probabilidades de transición. Las desventajas de tales modelos son: (1) Los tipos de distribuciones previas que pueden colocarse en estados ocultos son muy limitados; (2) No es posible predecir la probabilidad de ver una observación arbitraria. Esta segunda limitación a menudo no es un problema en la práctica, ya que muchos usos comunes de HMM no requieren tales probabilidades predictivas.

Una variante del modelo discriminativo descrito anteriormente es el campo aleatorio condicional de cadena lineal . Esto utiliza un modelo gráfico no dirigido (también conocido como campo aleatorio de Markov ) en lugar de los modelos gráficos dirigidos de MEMM y modelos similares. La ventaja de este tipo de modelo es que no sufre el llamado problema de sesgo de etiqueta de los MEMM y, por lo tanto, puede realizar predicciones más precisas. La desventaja es que el entrenamiento puede ser más lento que el de los MEMM.

Otra variante más es el modelo de Markov oculto factorial , que permite que una sola observación esté condicionada a las correspondientes variables ocultas de un conjunto de cadenas de Markov independientes, en lugar de una sola cadena de Markov. Es equivalente a un solo HMM, con estados (asumiendo que hay estados para cada cadena) y, por lo tanto, aprender en un modelo de este tipo es difícil: para una secuencia de longitud , un algoritmo de Viterbi sencillo tiene complejidad . Para encontrar una solución exacta, se podría utilizar un algoritmo de árbol de unión, pero resulta en una complejidad. En la práctica, se podrían utilizar técnicas aproximadas, como enfoques variacionales.

Todos los modelos anteriores se pueden ampliar para permitir dependencias más distantes entre estados ocultos, por ejemplo, permitiendo que un estado dado dependa de los dos o tres estados anteriores en lugar de un solo estado anterior; es decir, las probabilidades de transición se amplían para abarcar conjuntos de tres o cuatro estados adyacentes (o en general estados adyacentes). La desventaja de tales modelos es que los algoritmos de programación dinámica para entrenarlos tienen un tiempo de ejecución, para estados adyacentes y observaciones totales (es decir, una cadena de Markov de longitud ).

Otra extensión reciente es el modelo triplete de Markov , en el que se agrega un proceso subyacente auxiliar para modelar algunas especificidades de los datos. Se han propuesto muchas variantes de este modelo. Cabe mencionar también el interesante vínculo que se ha establecido entre la teoría de la evidencia y los modelos triplete de Markov y que permite fusionar datos en el contexto markoviano y modelar datos no estacionarios. Tenga en cuenta que en la literatura reciente también se han propuesto estrategias alternativas de fusión de datos de múltiples flujos, p. Ej.

Finalmente, en 2012 se sugirió una justificación diferente para abordar el problema de modelar datos no estacionarios mediante modelos ocultos de Markov. Consiste en emplear una pequeña red neuronal recurrente (RNN), específicamente una red de reservorios, para capturar la evolución de la dinámica temporal. en los datos observados. Esta información, codificada en forma de un vector de alta dimensión, se utiliza como una variable condicionante de las probabilidades de transición de estado de HMM. Bajo tal configuración, eventualmente obtenemos un HMM no estacionario cuyas probabilidades de transición evolucionan con el tiempo de una manera que se infiere de los datos mismos, a diferencia de algún modelo ad-hoc poco realista de evolución temporal.

El modelo adecuado en el contexto de datos longitudinales se denomina modelo de Markov latente. La versión básica de este modelo se ha ampliado para incluir covariables individuales, efectos aleatorios y modelar estructuras de datos más complejas, como datos multinivel. En

Ver también

Referencias

enlaces externos

Conceptos