Cadenas de Markov vs. HMM

11

Las cadenas de Markov tienen sentido para mí, puedo usarlas para modelar cambios probabilísticos de estado en problemas de la vida real. Luego viene el HMM. Se dice que los HMM son más adecuados para modelar muchos problemas que los MC. Sin embargo, los problemas que mencionan las personas son algo complejos de entender, como el procesamiento del habla. Entonces, mi pregunta es ¿puede describir un problema "real y simple" para el cual HMM sea más adecuado que MC? y explicar por qué? Gracias

Mario
fuente

Respuestas:

19

El reconocimiento de voz no es un ejemplo tan complejo como piensas.

Primero, imagine crear una Cadena de Markov (MC) que reconoce el texto. Su programa lee un montón de texto (perfecto, sin errores) y calcula estados (palabras) y cambios de estado (próximas palabras). Parece que has entendido esto. Ahora podría generar texto o, si se le proporciona algo de texto, predecir la siguiente palabra utilizando los estados y las probabilidades de transición de su MC.

Ahora imagine que quiere usar su MC con voz. Simplemente hará que la gente lea un texto similar a su MC y ya está listo, ¿verdad? Bueno ... Excepto que van a pronunciar las palabras de manera diferente: donde el texto escrito dice "papa", en realidad escuchará "po-TAY-toh" y "po-TAH-toh" y "pu-TAY -to ", etc. Y viceversa: el texto" comió "y" ocho "representan dos estados diferentes, pero (generalmente) se pronuncian igual.

Su algoritmo ya no ve los estados subyacentes (palabras), ve una distribución probabilística de pronunciaciones para cada palabra. Tu MC original está oculto detrás de las pronunciaciones, y ahora tu modelo debe tener dos capas.

Para que muchas personas lean en voz alta el texto que usó en su entrenamiento original, podría obtener una distribución de las pronunciaciones de cada palabra, y luego combinar su modelo original con el modelo de pronunciación y tendrá un Modelo de Markov Oculto ( un HMM)

La mayoría de los problemas del mundo real serán así, ya que el mundo real tiende a ser ruidoso. En realidad, no sabrá en qué estado se encuentra algo. En cambio, obtendrá una variedad de indicadores para cada estado: a veces el mismo indicador para diferentes estados ("ate" y "ocho") y, a veces, diferentes indicadores para el mismo estado ("pu-TAY-toe" y "pah-tah-TOE"). Por lo tanto, los HMM son más adecuados para problemas del mundo real.

[Dos notas al margen: 1) el reconocimiento de voz real funciona a nivel de fonema, no a nivel de palabra, y 2) Creo que los HMM fueron los reyes de la colina para el reconocimiento de voz, pero recientemente han sido destronados por redes neuronales profundas.]

Wayne
fuente
6

Básicamente, un HMM es un modelo de Markov en el que el estado no es completamente observable, sino que solo se observa indirectamente a través de algunas observaciones ruidosas. La parte del modelo de Markov es una forma simple de imponer dependencias temporales en el estado. En consecuencia, los problemas en los que los HMM son útiles son aquellos en los que el estado sigue un modelo de Markov, pero no se observa el estado directamente.

Hay varias cosas que puede hacer con un HMM. Una cosa útil que puede hacer es la siguiente: dado un conjunto de observaciones ruidosas hasta la actualidad, tal vez desee saber cuál es el estado actual más probable del sistema. Para hacer esto, combinaría adecuadamente la estructura de la cadena de Markov con las observaciones para inferir el estado. Del mismo modo, puede extender esto para inferir la secuencia completa de estados a partir de la secuencia de observaciones ( esto es estándar).

En ciencia e ingeniería, este modelo se usa todo el tiempo. Por ejemplo, tal vez esté grabando un video de un animal simple como c. elegans(un gusano), y solo tiene una pequeña cantidad de estados de comportamiento discretos. En el video, desea etiquetar cada cuadro con el estado de comportamiento del animal. Desde un solo cuadro, el algoritmo de etiquetado tiene algún error / ruido. Sin embargo, también hay dependencias temporales que puedes modelar con una cadena de Markov ... Si en un cuadro el animal estaba en un estado, es probable que esté en el mismo estado para el siguiente cuadro (y quizás algunos estados solo permiten transiciones a ciertos otros estados). Básicamente, al combinar sus observaciones ruidosas de un solo cuadro con la estructura de las transiciones (por el HMM), puede obtener una secuencia de estimaciones de estado bien suavizada y mejor restringida.

Josh
fuente
2

HMM es un modelo mixto. Justo como la mezcla del modelo gaussiano . La razón por la que lo usamos además de Markov Chain es que es más complejo capturar los patrones de datos.

Similar a si usamos Gaussian simple para modelar una variable contenciosa O usamos una mezcla de Gaussian para modelar una variable continua.

Usaría una variable continua para demostrar esta idea: supongamos que tenemos estos datos

ingrese la descripción de la imagen aquí

Es mejor modelarlo con 2 gaussianos y con diferente proporción. Lo cual es "equivalente" en caso discreto: construimos un HMM con 2 estados ocultos.

Haitao Du
fuente