Modelo oculto de Markov

Compartir Imprimir Citar

A Oculto modelo Markov ()HMM) es un modelo de Markov estadístico en el que el sistema que se está modelando se supone que es un proceso de Markov - llamarlo con inservibleescondido") estados. Como parte de la definición, HMM requiere que haya un proceso observable cuyos resultados son "influenciados" por los resultados de una manera conocida. Desde no se puede observar directamente, el objetivo es aprender sobre observando HMM tiene un requisito adicional de que el resultado a la vez debe ser "influenciado" exclusivamente por el resultado de a y que los resultados de y a no debe afectar el resultado a

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 partes del habla, seguimiento de partituras, descargas parciales y bioinformática.

Definición

Vamos y ser procesos estocásticos de tiempo discreto y . El par es un Oculto modelo Markov si

para todos y todos Borel set .

Vamos y ser procesos estocásticos de tiempo continuo. El par es un Oculto modelo Markov si

para todos cada uno Borel set y todas las familias de Borel sets

Terminología

Los estados del proceso (Resp. se llaman estados ocultos, y (Resp. se llama probabilidad de emisión o probabilidad de producción.

Ejemplos

Sacar bolas de urnas escondidas

Gráfico 1. Parámetros probabilísticos de un modelo oculto de Markov (ejemplo)
X Estados
Sí. - posibles observaciones
a - probabilidades de transición estatal
b - probabilidades de producción

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 al azar saca una bola de esa urna. Luego coloca la pelota en una cinta transportadora, donde el observador puede observar la secuencia de las pelotas pero no la secuencia de las 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 únicamente 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 llama un proceso de Markov. Puede ser descrito por la parte superior de la Figura 1.

El proceso de Markov en sí no se puede observar, 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 y y3 en la cinta transportadora, el observador aún no puede estar seguro de qué urna (es decir,, en qué estado) el genio ha sacado la tercera bola. Sin embargo, el observador puede calcular otra información, como la probabilidad de que la tercera bola haya salido de cada una de las urnas.

Juego de adivinanzas del tiempo

Considere a 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 en 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 trata de adivinar cómo debe haber sido el tiempo.

Alice cree que el clima opera como una cadena de Markov discreta. Hay dos estados, "Lluvia" y "Sunny", pero 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, dependiendo del clima: "caminar", "comprar" o "limpiar". Ya que Bob le cuenta a Alice sobre sus actividades, esas son las observaciones. Todo el sistema es el de un modelo oculto de Markov (HMM).

Alice conoce las tendencias climáticas generales 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:

estados = ()"Rainy", "Sunny")Observaciones = ()"Camina", "shop", "limpia")start_probability = {}"Rainy": 0.6, "Sunny": 0,4}transition_probability = {} "Rainy": {}"Rainy": 0.7, "Sunny": 0.3} "Sunny": {}"Rainy": 0,4, "Sunny": 0.6}}emisión_probabilidad = {} "Rainy": {}"Camina": 0.1, "shop": 0,4, "limpia": 0.5} "Sunny": {}"Camina": 0.6, "shop": 0.3, "limpia": 0.1}}

En este fragmento de código, start_probability representa la creencia de Alice sobre en qué estado se encuentra el HMM cuando Bob la llama por primera vez (lo único que sabe es que tiende a llover en promedio). La distribución de probabilidad particular utilizada aquí no es la de equilibrio, que es (dadas las probabilidades de transición) aproximadamente {'Lluvia': 0.57, 'Soleado': 0.43}. La transition_probability representa el cambio de clima en la cadena de Markov subyacente. En este ejemplo, solo hay un 30% de probabilidad de que mañana haga sol si hoy llueve. La emission_probability representa la probabilidad de que Bob realice una determinada actividad cada día. Si llueve, hay un 50% de posibilidades de que esté limpiando su apartamento; si hace sol, hay un 60% de posibilidades de que esté afuera dando un paseo.

Graphical representation of the given HMM

Un ejemplo similar se elabora 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 una serie de valores. La variable aleatoria x(t) es el estado oculto en el tiempo t (con el modelo del diagrama anterior, x(t) ∈ { x1, x2, x3 }). La variable aleatoria y(t) es la observación en el momento t (con y(t) ∈ { y1, y 2, y3, y4 }). Las flechas en el diagrama (a menudo llamado diagrama Trellis) denotan dependencias condicionales.

Del diagrama, está 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 en el valor de la variable oculta x(t − 1); los valores en el tiempo t − 2 y antes no tienen influencia. Esto se llama la 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 momento t).

En el tipo estándar de modelo oculto Markov considerado aquí, el espacio estatal de las variables ocultas es discreto, mientras que las observaciones mismas pueden ser discretas (normalmente generadas a partir de una distribución categórica) o continuas (típicamente de una distribución gausiana). Los parámetros de un modelo oculto de Markov son de dos tipos, probabilidades de transición y de las emisiones (también conocido como Probabilidades de salida). Las probabilidades de transición controlan la forma en que el estado oculto en el tiempo t es elegido dado el estado oculto en el tiempo .

El espacio de estado oculto se supone que consiste en uno de N valores posibles, modelados como distribución categórica. (Véase la sección siguiente sobre extensiones para otras posibilidades.) Esto significa que para cada uno de los N es posible afirmar que una variable oculta a tiempo t puede estar en, hay una probabilidad de transición de este estado a cada uno de los N estados posibles de la variable oculta a tiempo , por un total de probabilidades de transición. Tenga en cuenta que el conjunto de probabilidades de transición de cualquier estado dado debe resumir a 1. Así, el matriz de probabilidades de transición es una matriz Markov. Debido a que cualquier probabilidad de transición puede ser determinada una vez que los otros son conocidos, hay un total de Parámetros de transición.

Además, para cada una de las N estados posibles, hay un conjunto de probabilidades de emisión que rigen la distribución de la variable observada en un momento determinado 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, gobernados por una distribución categórica, habrá parámetros separados, para un total de parámetros de emisión en todos los estados ocultos. Por otro lado, si la variable observada es una M- vector dimensional distribuido según una distribución multivariada arbitraria, habrá M parámetros controlando los medios y parámetros que controlan la matriz de covariancia, para un total parámetros de emisión. (En tal caso, a menos que el valor M es 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, pero un número fijo de elementos adyacentes.)

Temporal evolution of a hidden Markov model

Inferencia

La transición del estado y las probabilidades de salida de un HMM están indicadas por la línea opacidad en la parte superior del diagrama. Dado que hemos observado la secuencia de salida en la parte inferior del diagrama, podemos estar interesados en la secuencia más probable de estados que podrían haberlo producido. Basado en las flechas que están presentes en el diagrama, las siguientes secuencias de estado son candidatos:
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 la secuencia estatal y las observaciones de cada caso (simplemente multiplicando los valores de probabilidad, que aquí corresponden a las opacidades de las flechas implicadas). En general, este tipo de problema (es decir, encontrar la explicación más probable para una secuencia de observación) se puede resolver eficientemente utilizando el algoritmo Viterbi.

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

Probabilidad de una secuencia observada

La tarea es 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 estado:

La probabilidad de observar una secuencia

de longitud L está dada por

donde la suma se ejecuta sobre todas las posibles secuencias de nodos ocultos

Al aplicar el principio de la programación dinámica, este problema también se puede manejar de manera eficiente usando el algoritmo directo.

Probabilidad de las variables latentes

Varias tareas relacionadas preguntan sobre la probabilidad de una o más de las variables latentes, dadas las variables del modelo y una secuencia de observaciones

Filtrado

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

Este problema se puede manejar de manera eficiente usando el algoritmo directo.

Suavizado

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

El algoritmo adelante-atrás es un buen método para calcular los valores suavizados de 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 la secuencia completa de estados ocultos que generaron una secuencia particular de observaciones (ver ilustración a la derecha). Esta tarea es generalmente aplicable cuando los HMM's se aplican a diferentes tipos de problemas de aquellos para los que se aplican las tareas de filtrado y suavizado. Un ejemplo es el etiquetado de partes del discurso, donde los estados ocultos representan las partes subyacentes del discurso 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 lo haría el filtrado o el suavizado.

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

Significación estadística

Para algunos de los problemas anteriores, también puede ser interesante preguntar sobre 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 determinado secuencia de salida? Cuando se usa un HMM para evaluar la relevancia de una hipótesis para una secuencia de salida en particular, la significación estadística indica la tasa de falsos positivos asociada con el rechazo de la hipótesis para la secuencia de salida.

Aprendizaje

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 que resuelva este problema con exactitud, pero se puede derivar de manera eficiente una máxima verosimilitud local utilizando el algoritmo de Baum-Welch o el algoritmo de 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 temporales, los métodos de inferencia bayesianos más sofisticados, como el muestreo de Monte Carlo de la cadena de Markov (MCMC), demostraron ser más favorables que encontrar 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 sea de interés, se puede recurrir alternativamente a aproximaciones variacionales a la inferencia bayesiana, p. De hecho, la inferencia variacional aproximada ofrece una eficiencia computacional comparable a la maximización de expectativas, al tiempo que produce un perfil de precisión solo ligeramente inferior a la inferencia bayesiana exacta de tipo MCMC.

Aplicaciones

Un perfil HMM modelando 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 se describieron en una serie de artículos estadísticos de 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, a partir de 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 de 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 propias observaciones pueden ser discretas (normalmente generadas a partir de una distribución categórica) o continuas (normalmente 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 es inviable y se deben usar 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 la distribución conjunta de observaciones y estados ocultos, o de manera equivalente tanto la distribución anterior de estados ocultos (las probabilidades de transición) como la distribución condicional de observaciones estados dados (las probabilidades de emisión), se modela. Los algoritmos anteriores asumen implícitamente una distribución previa uniforme sobre las probabilidades de transición. Sin embargo, también es posible crear modelos ocultos de Markov con otro tipo 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 inherentemente 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 dispersión de la matriz de transición resultante. Una elección de 1 produce una distribución uniforme. Los valores mayores que 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 previa de Dirichlet 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 dispersión de los estados. Tal distribución previa de dos niveles, donde ambos parámetros de concentración se configuran para producir distribuciones dispersas, podría ser útil, por ejemplo, en el etiquetado de partes del discurso no supervisado, donde algunas partes del discurso ocurren con mucha más frecuencia que otras; los algoritmos de aprendizaje que asumen una distribución previa uniforme generalmente se desempeñan mal en esta tarea. Los parámetros de los 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 ocultos de Markov descritos anteriormente con anteriores 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 del proceso de Dirichlet jerárquico, o HDP-HMM para abreviar. Originalmente se describió con el nombre de "Modelo de Markov oculto infinito" y se formalizó aún más en "Procesos jerárquicos de Dirichlet".

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 conocimientos específicos 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, las características de las observaciones cercanas, de las combinaciones de la observación asociada y las observaciones cercanas o, de hecho, de las observaciones arbitrarias a cualquier distancia de un estado oculto determinado pueden incluirse en el proceso utilizado para determinar el valor de un estado oculto. Además, no es necesario 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. Finalmente, se pueden usar 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 se pueden colocar en estados ocultos están severamente 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 los 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 hacer predicciones más precisas. La desventaja es que el entrenamiento puede ser más lento que para MEMM's.

Pero otra variante es la factorial oculta Modelo Markov, que permite que una sola observación esté condicionada a las variables ocultas correspondientes de un conjunto de cadenas independientes Markov, en lugar de una sola cadena Markov. Es equivalente a un solo HMM, con estados (suponiendo que haya estados para cada cadena), y por lo tanto, aprender en tal modelo es difícil: para una secuencia de longitud , un algoritmo Viterbi directo tiene complejidad . Para encontrar una solución exacta, se podría utilizar un algoritmo de árbol de unión, pero resulta en un complejidad. En la práctica se podrían utilizar técnicas aproximadas, como enfoques de variación.

Todos los modelos anteriores pueden ampliarse para permitir dependencias más distantes entre estados ocultos, por ejemplo permitiendo que un estado determinado dependa de los dos o tres estados anteriores en lugar de un solo estado anterior; es decir, las probabilidades de transición se extienden para abarcar conjuntos de tres o cuatro estados adyacentes (o en general) estados adyacentes). La desventaja de estos modelos es que los algoritmos de programación dinámica para entrenarlos tienen un correr tiempo, por estados y estados adyacentes Observaciones totales (es decir, una longitud- Cadena Markov).

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 tripletes de Markov y que permite fusionar datos en contexto markoviano y modelar datos no estacionarios. Tenga en cuenta que también se han propuesto estrategias alternativas de fusión de datos de flujo múltiple en la literatura reciente, p.

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

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