fbpx
Wikipedia

Modelo oculto de Márkov

Un modelo oculto de Márkov o HMM (por sus siglas del inglés, Hidden Markov Model) es un modelo estadístico en el que se asume que el sistema a modelar es un proceso de Márkov de parámetros desconocidos. El objetivo es determinar los parámetros desconocidos (u ocultos, de ahí el nombre) de dicha cadena a partir de los parámetros observables. Los parámetros extraídos se pueden emplear para llevar a cabo sucesivos análisis, por ejemplo en aplicaciones de reconocimiento de patrones. Un HMM se puede considerar como la red bayesiana dinámica más simple.

Ejemplo de transición de estados en un modelo oculto de Márkov
x — estados ocultos
y — salidas observables
a — probabilidades de transición
b — probabilidades de salida

En un modelo de Márkov normal, el estado es visible directamente para el observador, por lo que las probabilidades de transición entre estados son los únicos parámetros. En un modelo oculto de Márkov, el estado no es visible directamente, sino que sólo lo son las variables influidas por el estado. Cada estado tiene una distribución de probabilidad sobre los posibles símbolos de salida. Consecuentemente, la secuencia de símbolos generada por un HMM proporciona cierta información acerca de la secuencia de estados.

Los modelos ocultos de Márkov son especialmente aplicados a reconocimiento de formas temporales, como reconocimiento del habla, de escritura manual, de gestos, etiquetado gramatical o en bioinformática. En el reconocimiento de voz se emplea para modelar una frase completa, una palabra, un fonema o trifonema en el modelo acústico. Por ejemplo la palabra "gato" puede estar formada por dos HMM para los dos trifonemas que la componen /gat/ y /ato/

Historia

Los modelos ocultos de Markov fueron descritos por primera vez 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 HMM fue reconocimiento del habla, comenzando en la mitad de la década de 1970.[1]

En la segunda mitad de la década de 1980, los HMMs comenzaron a ser aplicados al análisis de secuencias biológicas, en particular de ADN. Desde entonces, se han hecho ubicuos en el campo de la bioinformática.[2]

Arquitectura de un modelo oculto de Márkov

El diagrama que se encuentra más abajo muestra la arquitectura general de un HMM. Cada óvalo representa una variable aleatoria que puede tomar determinados valores. La variable aleatoria   es el valor de la variable oculta en el instante de tiempo  . La variable aleatoria   es el valor de la variable observada en el mismo instante de tiempo  . Las flechas indican dependencias condicionales.

Del diagrama queda claro que el valor de la variable oculta   (en el instante  ) solo depende del valor de la variable oculta   (en el instante  ). A esto se le llama propiedad de Márkov. De forma similar, el valor de la variable observada   solo depende del valor de la variable oculta   (ambas en el instante  ).

 
Evolución en el tiempo de un modelo oculta de Márkov.

Probabilidad de una secuencia observada

La probabilidad de observar la secuencia   de longitud   está dada por

 

donde la sumatoria se extiende sobre todas las secuencias de nodos ocultos   El cálculo por fuerza bruta de   es impráctico para la mayoría de los problemas reales, dado que el número de secuencias de nodos ocultos será extremadamente alto en tal caso. Sin embargo, el cálculo puede acelerarse notoriamente usando un algoritmo conocido como el procedimiento de avance-retroceso.[3]

Definición formal de un Modelo Oculto de Márkov

Una notación habitual de un MOM es la representación como una tupla  :

  • El conjunto de estados  . El estado inicial se denota como  . En el caso de la etiquetación categorial, cada valor de   hace referencia a la posición de la palabra en la oración.
  • El conjunto   de posibles valores   observables en cada estado.   es el número de palabras posibles y cada   hace referencia a una palabra diferente.
  • Las probabilidades iniciales  , donde   es la probabilidad de que el primer estado sea el estado  .
  • El conjunto de probabilidades   de transiciones entre estados.
    •  , es decir,   es la probabilidad de estar en el estado   en el instante   si en el instante anterior   se estaba en el estado  .
  • El conjunto de probabilidades   de las observaciones.
    •  , es decir, la probabilidad de observar   cuando se está en el estado   en el instante  .

La secuencia de observables se denota como un conjunto  .

Uso de modelos ocultos de Márkov

Existen tres problemas canónicos asociados con HMM:

  • Dados los parámetros del modelo, compútese la probabilidad de una secuencia de salida en particular. Este problema se resuelve con el algoritmo de avance-retroceso.
  • Dados los parámetros del modelo, encuéntrese la secuencia más probable de estados ocultos que puedan haber generado una secuencia de salida dada. Este problema se resuelve con el algoritmo de Viterbi.
  • Dada una secuencia de salida o un conjunto de tales secuencias, encuéntrese el conjunto de estados de transición y probabilidades de salida más probables. En otras palabras, entrénense a los parámetros del HMM dada una secuencia de datos. Este problema se resuelve con el algoritmo de Baum-Welch.

Ejemplo de utilización

Imagínese que tiene un amigo que vive lejos y con quien habla a diario por teléfono acerca de lo que hizo durante el día. A su amigo le interesan tres actividades: caminar por la plaza, salir de compras y limpiar su departamento. Lo que su amigo hace depende exclusivamente del estado del tiempo en ese día. Usted no tiene información clara acerca del estado del tiempo donde su amigo vive, pero conoce tendencias generales. Basándose en lo que su amigo le dice que hizo en el día, usted intenta adivinar el estado del tiempo.

Supóngase que el estado del tiempo se comporta como una cadena de Márkov discreta. Existen dos estados, "Lluvioso" y "Soleado", pero usted no los puede observar directamente, es decir, están ocultos. Existe también una cierta posibilidad de que su amigo haga una de sus actividades cada día, dependiendo del estado del tiempo: "caminar", "comprar" o "limpiar". Dado que su amigo le cuenta sus actividades del día, esas son las observaciones. El sistema completo es un modelo oculto de Márkov.

Usted conoce las tendencias generales del tiempo en el área y lo que a su amigo le gusta hacer. En otras palabras, los parámetros del HMM son conocidos. Pueden escribirse usando el lenguaje de programación Python:

estados = ('Lluvioso', 'Soleado') observaciones = ('caminar', 'comprar', 'limpiar') probabilidad_inicial = {'Lluvioso': 0.6, 'Soleado': 0.4} probabilidad_transicion = { 'Lluvioso' : {'Lluvioso': 0.7, 'Soleado': 0.3}, 'Soleado' : {'Lluvioso': 0.4, 'Soleado': 0.6}, } probabilidad_emision = { 'Lluvioso' : {'caminar': 0.1, 'comprar': 0.4, 'limpiar': 0.5}, 'Soleado' : {'caminar': 0.6, 'comprar': 0.3, 'limpiar': 0.1}, } 

En esta porción de código se tiene:

La probabilidad_inicial que representa el estado en el que usted cree que se encuentra el HMM la primera vez que su amigo lo llama (es decir, sabe que es un poco más probable que esté lluvioso). La distribución de probabilidades que se usó aquí no es la de equilibrio, que es (dadas las probabilidades de transición) aproximadamente {'Lluvioso': 0.571, 'Soleado': 0.429}.

La probabilidad_transicion representa el cambio del tiempo en la cadena de Márkov por detrás del modelo. En este ejemplo, hay un 30% de probabilidad de que mañana esté soleado si hoy llovió.

La probabilidad_emision representa con cuanta probabilidad su amigo realiza una actividad determinada cada día. Si llueve, hay un 50% de probabilidad de que esté limpiando su casa; si hay sol, hay un 60% de probabilidades de que haya salido a caminar.

Aplicaciones de modelos ocultos de Márkov

Notas

  1. Rabiner, p. 258
  2. Durbin et al.
  3. Rabiner, p. 262
  4. Pardo et al.

Véase también

Enlaces externos

  • (por Kevin Murphy)
  • Hidden Markov Model Toolkit (HTK) (un toolkit portable para construcción y manipulación de modelos ocultos de Márkov)
  • Hidden Markov Models (presentación con matemática básica)
  • GHMM Library (página inicial del proyecto GHMM Library)
  • (biblioteca Java y aplicaciones gráficas asociadas)
  • Tutorial paso a paso de HMMs (University of Leeds)
  • (TreeAge Software)
  • Hidden Markov Models (por Narada Warakagoda)
  • HMM y otros programas estadísticos (Implementación de algoritmos de HMMs en C)
  •   Datos: Q176769
  •   Multimedia: Hidden Markov Model

modelo, oculto, márkov, modelo, oculto, márkov, siglas, inglés, hidden, markov, model, modelo, estadístico, asume, sistema, modelar, proceso, márkov, parámetros, desconocidos, objetivo, determinar, parámetros, desconocidos, ocultos, ahí, nombre, dicha, cadena,. Un modelo oculto de Markov o HMM por sus siglas del ingles Hidden Markov Model es un modelo estadistico en el que se asume que el sistema a modelar es un proceso de Markov de parametros desconocidos El objetivo es determinar los parametros desconocidos u ocultos de ahi el nombre de dicha cadena a partir de los parametros observables Los parametros extraidos se pueden emplear para llevar a cabo sucesivos analisis por ejemplo en aplicaciones de reconocimiento de patrones Un HMM se puede considerar como la red bayesiana dinamica mas simple Ejemplo de transicion de estados en un modelo oculto de Markov x estados ocultos y salidas observables a probabilidades de transicion b probabilidades de salida En un modelo de Markov normal el estado es visible directamente para el observador por lo que las probabilidades de transicion entre estados son los unicos parametros En un modelo oculto de Markov el estado no es visible directamente sino que solo lo son las variables influidas por el estado Cada estado tiene una distribucion de probabilidad sobre los posibles simbolos de salida Consecuentemente la secuencia de simbolos generada por un HMM proporciona cierta informacion acerca de la secuencia de estados Los modelos ocultos de Markov son especialmente aplicados a reconocimiento de formas temporales como reconocimiento del habla de escritura manual de gestos etiquetado gramatical o en bioinformatica En el reconocimiento de voz se emplea para modelar una frase completa una palabra un fonema o trifonema en el modelo acustico Por ejemplo la palabra gato puede estar formada por dos HMM para los dos trifonemas que la componen gat y ato Indice 1 Historia 2 Arquitectura de un modelo oculto de Markov 3 Probabilidad de una secuencia observada 4 Definicion formal de un Modelo Oculto de Markov 5 Uso de modelos ocultos de Markov 5 1 Ejemplo de utilizacion 5 2 Aplicaciones de modelos ocultos de Markov 6 Notas 7 Vease tambien 8 Enlaces externosHistoria EditarLos modelos ocultos de Markov fueron descritos por primera vez en una serie de articulos estadisticos por Leonard E Baum y otros autores en la segunda mitad de la decada de 1960 Una de las primeras aplicaciones de HMM fue reconocimiento del habla comenzando en la mitad de la decada de 1970 1 En la segunda mitad de la decada de 1980 los HMMs comenzaron a ser aplicados al analisis de secuencias biologicas en particular de ADN Desde entonces se han hecho ubicuos en el campo de la bioinformatica 2 Arquitectura de un modelo oculto de Markov EditarEl diagrama que se encuentra mas abajo muestra la arquitectura general de un HMM Cada ovalo representa una variable aleatoria que puede tomar determinados valores La variable aleatoria x t displaystyle x t es el valor de la variable oculta en el instante de tiempo t displaystyle t La variable aleatoria y t displaystyle y t es el valor de la variable observada en el mismo instante de tiempo t displaystyle t Las flechas indican dependencias condicionales Del diagrama queda claro que el valor de la variable oculta x t displaystyle x t en el instante t displaystyle t solo depende del valor de la variable oculta x t 1 displaystyle x t 1 en el instante t 1 displaystyle t 1 A esto se le llama propiedad de Markov De forma similar el valor de la variable observada y t displaystyle y t solo depende del valor de la variable oculta x t displaystyle x t ambas en el instante t displaystyle t Evolucion en el tiempo de un modelo oculta de Markov Probabilidad de una secuencia observada EditarLa probabilidad de observar la secuencia Y y 0 y 1 y L 1 displaystyle Y y 0 y 1 dots y L 1 de longitud L displaystyle L esta dada por P Y X P Y X P X displaystyle P Y sum X P Y mid X P X donde la sumatoria se extiende sobre todas las secuencias de nodos ocultos X x 0 x 1 x L 1 displaystyle X x 0 x 1 dots x L 1 El calculo por fuerza bruta de P Y displaystyle P Y es impractico para la mayoria de los problemas reales dado que el numero de secuencias de nodos ocultos sera extremadamente alto en tal caso Sin embargo el calculo puede acelerarse notoriamente usando un algoritmo conocido como el procedimiento de avance retroceso 3 Definicion formal de un Modelo Oculto de Markov EditarUna notacion habitual de un MOM es la representacion como una tupla Q V p A B displaystyle Q V pi A B El conjunto de estados Q 1 2 N displaystyle Q 1 2 dots N El estado inicial se denota como q t displaystyle q t En el caso de la etiquetacion categorial cada valor de t displaystyle t hace referencia a la posicion de la palabra en la oracion El conjunto V displaystyle V de posibles valores v 1 v 2 v M displaystyle v 1 v 2 dots v M observables en cada estado M displaystyle M es el numero de palabras posibles y cada v k displaystyle v k hace referencia a una palabra diferente Las probabilidades iniciales p p i displaystyle pi pi i donde p i displaystyle pi i es la probabilidad de que el primer estado sea el estado Q i displaystyle Q i El conjunto de probabilidades A a i j displaystyle A a ij de transiciones entre estados a i j P q t j q t 1 i displaystyle a ij P q t j q t 1 i es decir a i j displaystyle a ij es la probabilidad de estar en el estado j displaystyle j en el instante t displaystyle t si en el instante anterior t 1 displaystyle t 1 se estaba en el estado i displaystyle i El conjunto de probabilidades B b j v k displaystyle B b j v k de las observaciones b j v k P o t v k q t j displaystyle b j v k P o t v k q t j es decir la probabilidad de observar v k displaystyle v k cuando se esta en el estado j displaystyle j en el instante t displaystyle t La secuencia de observables se denota como un conjunto O o 1 o 2 o T displaystyle O o 1 o 2 dots o T Uso de modelos ocultos de Markov EditarExisten tres problemas canonicos asociados con HMM Dados los parametros del modelo computese la probabilidad de una secuencia de salida en particular Este problema se resuelve con el algoritmo de avance retroceso Dados los parametros del modelo encuentrese la secuencia mas probable de estados ocultos que puedan haber generado una secuencia de salida dada Este problema se resuelve con el algoritmo de Viterbi Dada una secuencia de salida o un conjunto de tales secuencias encuentrese el conjunto de estados de transicion y probabilidades de salida mas probables En otras palabras entrenense a los parametros del HMM dada una secuencia de datos Este problema se resuelve con el algoritmo de Baum Welch Ejemplo de utilizacion Editar Imaginese que tiene un amigo que vive lejos y con quien habla a diario por telefono acerca de lo que hizo durante el dia A su amigo le interesan tres actividades caminar por la plaza salir de compras y limpiar su departamento Lo que su amigo hace depende exclusivamente del estado del tiempo en ese dia Usted no tiene informacion clara acerca del estado del tiempo donde su amigo vive pero conoce tendencias generales Basandose en lo que su amigo le dice que hizo en el dia usted intenta adivinar el estado del tiempo Supongase que el estado del tiempo se comporta como una cadena de Markov discreta Existen dos estados Lluvioso y Soleado pero usted no los puede observar directamente es decir estan ocultos Existe tambien una cierta posibilidad de que su amigo haga una de sus actividades cada dia dependiendo del estado del tiempo caminar comprar o limpiar Dado que su amigo le cuenta sus actividades del dia esas son las observaciones El sistema completo es un modelo oculto de Markov Usted conoce las tendencias generales del tiempo en el area y lo que a su amigo le gusta hacer En otras palabras los parametros del HMM son conocidos Pueden escribirse usando el lenguaje de programacion Python estados Lluvioso Soleado observaciones caminar comprar limpiar probabilidad inicial Lluvioso 0 6 Soleado 0 4 probabilidad transicion Lluvioso Lluvioso 0 7 Soleado 0 3 Soleado Lluvioso 0 4 Soleado 0 6 probabilidad emision Lluvioso caminar 0 1 comprar 0 4 limpiar 0 5 Soleado caminar 0 6 comprar 0 3 limpiar 0 1 En esta porcion de codigo se tiene La probabilidad inicial que representa el estado en el que usted cree que se encuentra el HMM la primera vez que su amigo lo llama es decir sabe que es un poco mas probable que este lluvioso La distribucion de probabilidades que se uso aqui no es la de equilibrio que es dadas las probabilidades de transicion aproximadamente Lluvioso 0 571 Soleado 0 429 La probabilidad transicion representa el cambio del tiempo en la cadena de Markov por detras del modelo En este ejemplo hay un 30 de probabilidad de que manana este soleado si hoy llovio La probabilidad emision representa con cuanta probabilidad su amigo realiza una actividad determinada cada dia Si llueve hay un 50 de probabilidad de que este limpiando su casa si hay sol hay un 60 de probabilidades de que haya salido a caminar Aplicaciones de modelos ocultos de Markov Editar Criptoanalisis Reconocimiento del habla de gestos y de movimientos corporales reconocimiento optico de caracteres Traduccion automatica Seguimiento de partituras musicales 4 Bioinformatica y Genomica prediccion de regiones que codifican proteinas dentro de genomas modelado de familias de secuencias de proteina o ADN relacionado prediccion de elementos de estructura secundaria en secuencias primarias de proteinaNotas Editar Rabiner p 258 Durbin et al Rabiner p 262 Pardo et al Vease tambien EditarAndrei Markov Algoritmo de Baum Welch Inferencia bayesiana Estimacion estadistica Algoritmo de Viterbi Modelo oculto de Markov jerarquico Modelo oculto de Markov por capas Modelo oculto de semi Markov Modelo de Markov de orden variableEnlaces externos EditarInformacion general de los HMM Hidden Markov Model HMM Toolbox para Matlab por Kevin Murphy Hidden Markov Model Toolkit HTK un toolkit portable para construccion y manipulacion de modelos ocultos de Markov Hidden Markov Models presentacion con matematica basica GHMM Library pagina inicial del proyecto GHMM Library Jahmm Java Library biblioteca Java y aplicaciones graficas asociadas Tutorial paso a paso de HMMs University of Leeds Software para modelos de Markov Models y procesos TreeAge Software Hidden Markov Models por Narada Warakagoda HMM y otros programas estadisticos Implementacion de algoritmos de HMMs en C Datos Q176769 Multimedia Hidden Markov Model Obtenido de https es wikipedia org w index php title Modelo oculto de Markov amp oldid 133227731, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos