MODELOS OCULTOS DE
MARKOV
Adriana Becerra A.
Marcela Gómez
Byron Macas
Fernanda Ordóñez
ABE – MGO – BMA – FOR IAA – ECC – UTPL – 2009
Definición
Un modelo oculto de Markov o HMM (por sus siglas del
inglés, Hidden Markov Model), es un proceso por el cual
se observa el comportamiento del sistema de manera
indirecta pues los estados del mismo permanecen
ocultos para el observador.
x — estados ocultos
y — salidas observables
a — probabilidades de transición
b — probabilidades de salida
Describen un proceso de probabilidad el cual produce
una secuencia de eventos simbólicos observables.
Descripción del modelo
Un HMM se caracteriza por un conjunto de
parámetros
λ = (A,B, Π)
Matriz A. Matriz de transición de
probabilidades.
Matriz B. Matriz de probabilidad de salida.
Vector π. Representa la distribución inicial de
los estados.
Arquitectura de los HMM
Esta arquitectura se da de acuerdo al número
de estados que lo componen y las
transiciones permitidas entre dichos estados.
Los principales modelos existentes son:
Modelos de izquierda a derecha
Modelos ergódicos.
Modelos de izquierda a
derecha
Los elementos de la matriz de probabilidades de
transición A deben cumplir la siguiente
condición: aij = 0 j <i , es decir , si en el instante
t, el modelo se encuentra en el estado i-ésimo,
en el siguiente instante de tiempo, t+1, el
modelo permanecerá en el mismo estado con
probabilidad aii, o bien el modelo pasará al
estado j-ésimo (j>i) con probabilidad a ij. Esta
configuración de la matriz de transiciones A da
lugar a modelos con arquitecturas que se
denominan de izquierda a derecha.
Modelos de izquierda a
derecha (2)
Como se muestra en la figura 1, el estado 1 (estado
inicial) y el 3 (estado final) se denominan no
emisores y las flechas en líneas continuas indican
las posibles transiciones entre estados. Podemos
notar la particularidad de que las transiciones se
dan solamente de izquierda a derecha.
Modelos Ergódicos
Pueden evolucionar desde cualquier estado a
otro en un número finito de transiciones,
todas las transiciones son posibles.
Tipos de Modelos Ocultos de
Markov
HMM Discretos
HMM Continuos y
HMM Semicontinuos
Tipos de HMM (2)
HMM discretos
Aquí las observaciones son vectores de símbolos de
un alfabeto finito con M + 1 elementos diferentes,
cada uno denominado codeward, que se agrupan en
un codebook, V = {v0,.....,vm}.
La distribución de probabilidad de un símbolo
entonces se define como B = {bj (k)} donde
b PY v X s
j(k) = ( t = k | t = j)
es la probabilidad de observación del codebook vk
Tipos de HMM (3)
HMM contínuos
Aquí se asume que las distribuciones de los
símbolos observables son densidades de
probabilidad definidas sobre espacios de
observación contínuos.
La forma mas extendida de distribución es la
de una mezcla de funciones de densidad de
tipo gaussiano.
Tipos de HMM (4)
HMM semicontinuos
Al igual que los continuos se modelan a partir de
un conjunto de mezclas de funciones de
densidad de probabilidad gaussiana.
La principal diferencia radica en que las
funciones base son comunes o todos los
modelos, como ocurre en el caso de los modelos
discretos donde existe un codebook común a
todos ellos.
Problemas básicos de los
HMMs
Problema de evaluación
Problema de la decodificación
Problema del Entrenamiento
Primer Problema Básico:
Problema de evaluación
Consiste en calcular la probabilidad de la
secuencia de observación O = (o1o2 ... oT ) ,
dado el modelo l , es decir, P(O|l) . La forma
más simple de resolver el problema 1 consiste
en enumerar todas las posibles secuencias de
estado de longitud T
Forward algorithm
Backward algorithm
Segundo Problema Básico:
Problema de decodificación
Determinar la secuencia de estado del
modelo dada una secuencia de simbolos
Optimalidad de Bellman
Algoritmo de Viterbi
Tercer Problema Básico:
Problema del Entrenamiento
Se rige principalmente en la secuencia de
estados más probables, entre las secuencias
más comunes para esta comparación están
los patrones, perfiles y HMMs
Algoritmo Expectation Maximization (EM)
Algritmo de Baum - Welch
Algoritmo de Viterbi
Algoritmo EM
Se utiliza para encontrar, en cada paso una
estimación del conjunto de parámetros del
modelo, para luego, tratar de maximizar la
probabilidad de generación de los datos de
entrenamiento, de forma que la probabilidad
asociada al nuevo modelo sea mayor o igual a
la del modelo anterior.
Algoritmo EM
Dada una estimación inicial de los
parámetros obtener la verosimilitud
de una secuencia y después utilizarla para
reestimar los parámetros.
Algoritmo de Viterbi
El algoritmo de Viterbi permite encontrar las
secuencia de estados más probable en un
Modelo oculto de Markov, S=(q1,q2, ..., qT), a
partir de una observación O=(o1,o2,..., oT), es
decir, obtiene la secuencia óptima que mejor
explica la secuencia de observaciones.
Algoritmo de Viterbi
Inicio. T=0. Se calcula para cada estado Sj con
j=1,2, .. N, la probabilidad maxima.
Inicialmente , se considera que no existen
supervivientes.
Paso de recursion. Se calcula la probabilidad
maxima en el siguiente instante de tiempo ,
t+1, en función de la probabilidad maxima en
el instante anterior
Algoritmo de Viterbi
Se guardan los supervivientes para cada
estado.
Si t < T, siendo T el número máximo de
símbolos emitidos, se incrementa t=t+1 y se
vuelve al paso de recursion . En caso
contrario, el algoritmo finaliza
Finalización. Se calcula la probabilidad
maxima y su estado óptimo correspondiente
Algoritmo de Viterbi
Finalmente, la secuencia de estados que
proporciona la mayor probabilidad (o camino
óptimo), dada una secuencia de símbolos.
Aplicación del Algoritmo
Vitervi
Una de las aplicaciones del algoritmo de Viterbi es la
desambiguación léxica categorial
Los elementos de un MOM serían:
El conjunto Q de estados sería el conjunto de posibles etiquetas
(categorías gramaticales) para las palabras.
El conjunto V de observables en cada uno de los estados corresponde
con el conjunto de palabras distintas.
El conjunto A de probabilidades de transiciones entre estados sería la
probabilidad de que una determinada categoría categorial siga a otra.
Por ejemplo, la probabilidad de que la categoría nombre vaya detrás de la
categoría determinante.
El conjunto B de probabilidades de las observaciones correspondería con
la probabilidad de pertenencia de una palabra (un observable) a una
determinada categoría. Por ejemplo, la probabilidad de que la palabra
casa sea verbo, que será menor que la probabilidad de que esta misma
palabra tenga la categoría gramatical nombre.
Aplicaciones en
reconocimiento de gestos
Definicion de estados:
Para los ojos:cerrado. Semicerrado y abierto
Para la apertura de la boca: abierta,
semiabierta y cerrada
Para el estiramiento de la boca: estirada,
semiestirada y encogida.
Reconocimiento de gestos
Se capturan observaciones de cada tipo (boca
y ojos) y se efectúa el entrenamiento.
Las tres grandes preguntas sobre HMMs
Evaluación
DADO un HMM M, y una secuencia x,
ENCUENTRE Prob[ x | M ]
Decodificación
DADO un HMM M, y una secuencia x,
ENCUENTRE la secuencia de estados que maximiza P[ x, | M ]
Aprendizaje
DADOS un HMM M, con probs transición/emisión desconocidas,
y una secuencia x,
ENCUENTRE los parámetros = (ei(.), aij) que maximizan P[ x | ]
Ejemplo: El Casino deshonesto
Un casino tiene dos dados:
Dado “justo”
P(1) = P(2) = P(3) = P(5) = P(6) = 1/6
Dado cargado
P(1) = P(2) = P(3) = P(5) = 1/10
P(6) = 1/2
El casino alterna entre el dado justo y el
cargado una vez cada 20 turnos
Juego:
1. Apostamos $1
2. Tiramos (siempre con un dado justo)
3. El Casino tira (tal vez con un dado
justo, tal vez con uno cargado)
4. EL número mas alto gana $2
Pregunta # 1 – Evaluación
Dada
Una secuencia de tiradas del casino
1245526462146146136136661664661636616366163616515615115146123562344
PREGUNTA
¿Cuan probable es esta secuencia, dado nuestro modelo de
como opera el casino?
Este es el problema de EVALUACIÓN en HMMs
Pregunta # 2 – Decodificación
Dada
Una secuencia de tiradas del casino
1245526462146146136136661664661636616366163616515615115146123562344
PREGUNTA
¿Que partes de la secuencia fueron generadas por el dado
cargado y cuales por el dado justo?
Este es el problema de DECODIFICACIÓN en HMMs
Pregunta # 3 – Aprendizaje
Dada
Una secuencia de tiradas del casino
1245526462146146136136661664661636616366163616515615115146123562344
PREGUNTA
¿Cómo está cargado el dado cargado? ¿Cada cuanto cambia el
casino entre el dado cargado y el justo?
Este es el problema de APRENDIZAJE en HMMs
Ejemplo: El casino deshonesto
Imaginemos que la secuencia de dados es:
x = 1, 2, 1, 5, 6, 2, 1, 6, 2, 4 (secuen. mod)
Entonces, cuan probable es
= justo, justo, justo, justo, justo, justo, justo, justo, justo, justo?
(imaginemos inicialmente prob. iguales a0justo = ½, aoCargado = ½)
½ P(1 | justo) P(justo | justo) P(2 | justo) P(justo | justo) … P(4 |
justo) =
½ (1/6)10 (0.95)9 = 0,00000000521158647211 = 0.5 10-9
Ejemplo: El casino deshonesto
Entonces, la probabilidad de que el dado sea justo
En toda la corrida es solamente 0.521 10-9
Pero…¿Cual es la probabilidad de
= Cargado, Cargado, Cargado, Cargado, Cargado, Cargado, Cargado,
Cargado, Cargado, Cargado?
½ P(1 | Cargado) P(Cargado, Cargado) … P(4 | Cargado) =
½ (1/10)8 (1/2)2 (0.95)9 = 0,00000000078781176215 = 7.9 10-10
Sumando probabilidades nos da 0.599 + 6
Entonces, despues de todo es 6.59 veces mas probable que el dado haya sido
siempre justo, a que haya sido siempre deshonesto o cargado.