Modelos Grficos ProbabilistasL. Enrique Sucar
INAOE
Sesin 5: Modelos Ocultos de Markov
L.E. Sucar: MGP - 5 HMM 2
Modelos Ocultos de Markov Cadenas de Markov
Preguntas bsicas Aplicacin: orden en Google
Modelos Ocultos de Markov Problemas bsicos
Evaluacin Secuencia ptima Aprendizaje
Aplicaciones Reconocimiento de voz Reconocimiento de gestos
L.E. Sucar: MGP - 5 HMM 3
Mquina de estados
Es un modelo para procesamiento de informacin especificado por: Un conjunto de estados, S Un estado inicial, S0 Un conjunto finito de entradas, I Un conjunto finito de salidas, S Una funcin de transicin de Si -> Sj Una funcin de salida de Si -> O
L.E. Sucar: MGP - 5 HMM 4
Cadena de Markov (CM)
Mquina de estados finitos en la que: Las transiciones de un estado a otro no son
determinsticas La probabilidad de transicin de un estado a
otro slo depende del estado actual (y no de los anteriores) propiedad de Markov
L.E. Sucar: MGP - 5 HMM 5
Ejemplo Estados del clima:
Lluvioso (q1) Nublado (q2) Soleado (q3)
Probabilidades de transicin:Ll Nub Sol
Ll 0.4 0.3 0.3Nub 0.2 0.6 0.2Sol 0.1 0.1 0.8
Probabilidades iniciales:Ll Nub Sol0.3 0.5 0.2
L.E. Sucar: MGP - 5 HMM 6
Ejemplo diagrama de estados
q1 q2 q3
L.E. Sucar: MGP - 5 HMM 7
MM modelo grfico
St St+1 St+2
L.E. Sucar: MGP - 5 HMM 8
Especificacin de una CM
Conjunto de estados Q = {q1 ... qn} Una vector de probabilidades iniciales,
= {1 ... n}, i = P (S0 = qi) Un matriz de probabilidades de transicin,
A = {aij}, donde aij = P (St = qj | St-1 = qi) En forma compacta:
= {A, }
L.E. Sucar: MGP - 5 HMM 9
Propiedades
1. j aij = 12. P (St=qj | St-1=qi, St-2=qk, ...)
= P (St=qj | St-1=qi)
L.E. Sucar: MGP - 5 HMM 10
Salidas
A cada estado le corresponde una salida, Oi Una secuencia de observaciones de t = 1 a
t = T se denota por:O = {o1 ... oT}
L.E. Sucar: MGP - 5 HMM 11
Preguntas bsicas
Probabilidad de pertenencia: probabilidad de cierta secuencia de estados
Probabilidad de permanencia: probabilidad de que permanezca en cierto estado por cierto tiempo
Permanencia promedio: tiempo esperado de permanencia en un estado
L.E. Sucar: MGP - 5 HMM 12
Preguntas
Probabilidad de pertenencia: P(qj qk ql ...) = a0j ajk akl ...
Probabilidad de permanencia:P (di ) = aii d-1 (1 - aii)
Permanencia promedio:E{d} = di P(di )
E{d} = di aii d-1 (1 - aii) = 1/(1 - aii)
L.E. Sucar: MGP - 5 HMM 13
Ejemplos de Preguntas
Dado el modelo del clima - Probabilidad de pertenencia:
Dado que el tiempo inicial es soleado, cual es la P de que sea sol, sol, lluv, lluv, sol, nub, sol?
Probabilidad de permanencia: Probabilidad de que este nublado por 3 das seguidos?
Permanencia promedio: Tiempo esperado que permanezca nublado?
L.E. Sucar: MGP - 5 HMM 14
Estimacin de parmetros
Dada una secuencia de observaciones, se pueden determinar los parmetros (A, ) del modelo: Probabilidades iniciales: i 0i / Probabilidades de transicin: aij ij / i
Donde: 0i = nmero de veces que el estado i es el inicial i = nmero de veces que pasa por el estado i ij = nmero de transiciones del estado i al j N = nmero de secuencias
L.E. Sucar: MGP - 5 HMM 15
Ejemplo de estimacin
Obtener los parmetros del modelo dadas las secuencias:
q2q2q3q3q3q3q1q1q3q2q3q3q3q3q3q3q2q2q2q1q2q2q1q1q3
L.E. Sucar: MGP - 5 HMM 16
Convergencia
Otra pregunta interesante es: Si se transita la cadena un gran nmero de veces, a la larga cul es la probabilidad de cada estado (en el lmite)?
Dada una probabilidad inicial, , la probabilidad despus de N iteraciones se obtiene multiplicando por A x A x A :
p = AN Despus de un cierto nmero, normalmente el
valor de p ya prcticamente no cambia
L.E. Sucar: MGP - 5 HMM 17
ConvergenciaEjemplo: A = 0 1.0000 0
0 0.1000 0.90000.6000 0.4000 0
= 0.5000 0.2000 0.3000Si multiplicamos p * A:1. 0.1800 0.6400 0.18002. 0.1080 0.3160 0.5760
.10. 0.2358 0.4190 0.3452En el lmite:p = 0.2 0.4 0.4
L.E. Sucar: MGP - 5 HMM 18
Teorema de Perron-Frobenius
Dadas ciertas condiciones, la cadena converge a un distribucin invariante p, tal que: p A = p
Condiciones:1. Irreducible: de cualquier estado hay cierta
probabilidad de visitar los dems estados2. Aperidica: la cadena no cae en ciclos
La rapidez de convergencia est determinada por el segundo eigen-valor de A
L.E. Sucar: MGP - 5 HMM 19
Aplicacin: orden (rank) de Google Podemos representar la Web como una CM, donde
cada estado es un pgina y los arcos representan las ligas que apuntan a cada pgina
Las probabilidades se reparten en funcin de las ligas salientes de cada pgina
0.5
p1 p2 p3
0.51
0.5
0.5
L.E. Sucar: MGP - 5 HMM 20
Aplicacin: orden (rank) de Google
La probabilidad a la que converge la cadena provee una estimacin de que tan probable es que una persona visite una pgina en cierto momento
Google basa su orden (importancia) de las pginas que encuentra para cierta bsqueda en stas probabilidades
L.E. Sucar: MGP - 5 HMM 21
Modelos Ocultos de Markov(HMM)
Es un modelo de Markov en que los estados no son directamente observables
Se puede ver como un doble proceso estocstico: Un proceso estocstico escondido que es no
observable Otro proceso estocstico que produce la
secuencia de observaciones
L.E. Sucar: MGP - 5 HMM 22
Ejemplo
Se tienen dos monedas (M1 y M2) que se seleccionan en forma aleatoria
Cada moneda esta cargada: M1 P=0.8 de guila M2 P=0.8 de sol
Se tiran en secuencia las moneda (N veces) y slo se observa la salida (A o S)
L.E. Sucar: MGP - 5 HMM 23
Ejemplo
q1 q2
guila Sol
L.E. Sucar: MGP - 5 HMM 24
Especificacin de un HMM Conjunto de estados Q = {q1 ... qn} y de posibles
observaciones O {o1 ... om} Una vector de probabilidades iniciales,
= {1 ... n}, i = P (S0 = qi) Un matriz de probabilidades de transicin,
A = {aij}, donde aij = P (St = qj | St-1 = qi) Un vector de probabilidades de salida por cada
estado (matriz),B = {bik}, donde bik = P (Ot = ok | St = qi)
En forma compacta: = {A, B, }
L.E. Sucar: MGP - 5 HMM 25
Ejemplo - especificacin
P:0.5 0.5
A:0.5 0.50.5 0.5
B:0.8 0.20.2 0.8
L.E. Sucar: MGP - 5 HMM 26
HMM modelo grfico
St St+1 St+2
Ot Ot+1 Ot+2
L.E. Sucar: MGP - 5 HMM 27
Consideraciones
Proceso markoviano: el estado actual slo depende del estado anterior
Estacionario: las probabilidades de transicin y observacin no cambian con el tiempo
Independencia observaciones: las observaciones slo dependen del estado actual
L.E. Sucar: MGP - 5 HMM 28
Preguntas bsicas
Dado el modelo, calcular la probabilidad de una secuencia de observaciones (evaluacin)
Dado el modelo, obtener la secuencia de estados ms probable correspondiente a una secuencia de observaciones (secuencia ptima)
Dada una secuencia de observaciones, ajustar los parmetros del modelo (aprendizaje)
L.E. Sucar: MGP - 5 HMM 29
Evaluacin mtodo directo
Dada la secuencia de observaciones:O1 O2 O3 O4 ...
Pueden ser generados por diferentes secuencias de estados, considerando una:S1 S2 S3 S4 ...
Entonces la probabilidad de las observaciones y dicha secuencia de estado es:
P(O, Qi) = q1 bq1 (O1) aq12 bq2 (O2) ... aq(T-1)T bqt (OT)
L.E. Sucar: MGP - 5 HMM 30
Evaluacin mtodo directo
Considerando todas las secuencias:
P(O) = Q P(O, Qi) Qu es lo mismo que:P(O) =
Q [ q1 bq1 (O1) aq12 bq2 (O2) ... aq(T-1)T bqt (OT) ]
L.E. Sucar: MGP - 5 HMM 31
Evaluacin mtodo directo
Nmero de operaciones Para cada trmino:
2T Nmero de posibles secuencias (sumatoria)
NT Total:
2T x NT Por ejemplo, N=5 y T=100 1072 operaciones! Se requiere de un mtodo ms eficiente!
L.E. Sucar: MGP - 5 HMM 32
Evaluacin mtodo iterativo Se basa en la idea de ir evaluando en paralelo
la probabilidad de estados/observaciones para cada tiempo
q2qo
q1 q1
q2
L.E. Sucar: MGP - 5 HMM 33
Evaluacin mtodo iterativo Se define la variable forward:
t(i) = P (O1 O2 O3 O4 ... Ot , St = qi)
Es decir, la probabilidad de una secuencia parcial de observaciones y que llegue a cierto estado
L.E. Sucar: MGP - 5 HMM 34
Algoritmo
1. Inicializacin1(i) = P (O1, S1 = qi) = i bi (O1)
2. Induccint+1(j) = [ i t(i) aij ] bj (Ot+1)
3. TerminacinP(O) = i T(i)
L.E. Sucar: MGP - 5 HMM 35
Complejidad
En cada iteracin se tiene del orden de Nmultiplicaciones y N sumas
Para las T iteraciones:N2 x T
Para N=5 y T=100 -> 2,500 operaciones
L.E. Sucar: MGP - 5 HMM 36
Secuencia ptima
Encontrar la secuencia de estados ptimadada la secuencia de observaciones
ptimo se puede definir de diferentes maneras: Estados ms probables Secuencia total ms probable
L.E. Sucar: MGP - 5 HMM 37
Definiciones
Variable backward:t(i) = P (Ot+1 Ot+2 ... OT , St = qi)
En forma iterativa:t(i) = j t+1(j) aij bj (Ot+1)
Definiendo:T(j) = 1
L.E. Sucar: MGP - 5 HMM 38
Definiciones
Por lo tanto, combinando ambas definiciones:
P (O, St = qi) = t(i) t(i) Y entonces:
P(O) = i t(i) t(i)
L.E. Sucar: MGP - 5 HMM 39
Clculo iterativo
q1
q2qo
q1 q1
q2
q1
q2q2
OTO1 O2 Ot
L.E. Sucar: MGP - 5 HMM 40
Ms definiciones
Probabilidad condicional:t(i) = P (St = qi | O) = P (St = qi , O) / P (O)
En trminos de y :t(i) = t(i) t(i) / P(O)
t(i) = t(i) t(i) / i t(i) t(i)
L.E. Sucar: MGP - 5 HMM 41
Estados ms probable
El estado individual ms probable para el tiempo t es:
ARG MAX i t(i) El problema es que la concatenacin de los
estados ms probables no necesariamente corresponde a la secuencia ms probable
L.E. Sucar: MGP - 5 HMM 42
Secuencia ms probable
Secuencia total ms probable es:MAX P(Q | O)
Dado que P(Q|O) = P(Q,O) / P(O), entonces es equivalente a:
MAX P(Q , O)
L.E. Sucar: MGP - 5 HMM 43
Algoritmo de Viterbi
Antes de ver el algoritmo es necesario definir otra variable
La subsecuencia de estados ptimos hasta el tiempo t:
t(i) = MAX P(S1 S2 ... St = qi, O1 O2 ... Ot ) En forma iterativa:
t+1(i) = [ MAXi t(i) aij ] bj (Ot+1)
L.E. Sucar: MGP - 5 HMM 44
Algoritmo1. Inicializacin:1(i) = i bi (O1)1(i) = 0
2. Recursint(j) = MAXi [t-1(i) aij ] bj (Ot)t(j) = ARGMAXi [t-1(i) aij]
3. TerminacinP* = MAXi [T(i)]qT* = ARGMAXi [T(i)]
4. Backtrackingqt* = t+1(qt+1* )
L.E. Sucar: MGP - 5 HMM 45
Aprendizaje
Consiste en determinar los parmetros del modelo, = {A, B, }, dada una secuencia de observaciones
Para ello, se buscan los parmetros que maximicen P(O | ) no se pueden obtener con precisin
Nmero de parmetros (N estados, M obs.):N + N2 + N x M
L.E. Sucar: MGP - 5 HMM 46
Algoritmo de Baum-Welch Otra variable auxiliar probabilidad de estar en el
estado i en t y pasar a j en t+1 dada la secuencia de observaciones:
t(i,j) = P (St = qi , St+1 = qj | O) = P (St = qi , St+1 = qj , O) / P (O)
En trminos de y :t(i,j) = t(i) aij bj (Ot+1) t+1(j) / P(O)t(i,j) = t(i) aij bj (Ot+1) t+1(j) /
i j t(i) aij bj (Ot+1) t+1(j)
L.E. Sucar: MGP - 5 HMM 47
Algoritmo de Baum-Welch La variable t(i) se puede calcular como:
t(i) = j t(i,j) Esta variable sumada sobre todos los tiempos da
una estimacin del nmero de veces que se pasa por el estado i
t t(i) Mientras que la suma sobre t de t(i,j) da una
estimacin del nmero de transiciones de i -> j:
t t(i,j)
L.E. Sucar: MGP - 5 HMM 48
Re-estimacin de los parmetros1. Probabilidades iniciales nmero de veces en el
estado i en t=1:i= 1(i)
2. Probabilidades de transicin nmero de transiciones de i -> j entre el nmero de veces en i
aij = t t(i,j) / t t(i)3. Probabilidades de salidas nmero de veces en
estado j y observar k entre el nmero de veces en dicho estado:
bjk = t,O = k t(i) / t t(i)
L.E. Sucar: MGP - 5 HMM 49
Re-estimacin de los parmetros
Se inicia con ciertos valores (al azar) y se van mejorando iterativamente (se repite el proceso varias veces)
Se obtiene un estimador de mxima verosimilitud
No se garantiza el ptimo global Este algoritmo pertenece a la familia de
mtodos EM (maximizacin de la expectacin)
L.E. Sucar: MGP - 5 HMM 50
Aplicaciones
Modelado de procesos dinmicos, como: Reconocimiento de voz Reconocimiento de gestos
L.E. Sucar: MGP - 5 HMM 51
Reconocimiento de voz
Se modela a nivel palabra o fonema utilizando HMM
Las observaciones consisten de vectores de caractersticas obtenidas del procesamiento de la seal de voz
Se utilizan secuencias de voz para el entrenamiento y, posteriormente durante reconocimiento, se obtiene la probabilidad de cada modelo (palabra o fonema), seleccionando la de mayor probabilidad
L.E. Sucar: MGP - 5 HMM 52
Reconocimiento de vozPalabra: tomato
t ow mey
t owaa
Fonema
ini mid fin
L.E. Sucar: MGP - 5 HMM 53
Reconoci-miento de Gestosdinmicos
L.E. Sucar: MGP - 5 HMM 54
Reconocimiento de gestos
Seguimiento de la mano en una secuenciaimgenes
L.E. Sucar: MGP - 5 HMM 55
Caractersticas Observaciones:
cambio en X (X) cambio en Y (Y) cambio en rea (A) cambio en razn X-Y (R)
Cada una se codifica en 3 valores: (+, 0, -), lo queda un total de 81 posibles observaciones
X2,Y2
A2X1,Y,1
A1
L.E. Sucar: MGP - 5 HMM 56
HMM Se utiliza un HMM para cada gesto (5
gestos): 3 estados: gestos simples 5 estados: gestos complejos
L.E. Sucar: MGP - 5 HMM 57
Entrenamiento y Reconocimiento
Se tiene un HMM por gesto que se entrena (algoritmo de Baum-Welch) con ejemplos de secuencias del gesto
Para reconocer gestos, se obtiene la probabilidad de cada modelo dadas las observaciones (algoritmo Forward) y se selecciona el modelo con mayor probabilidad
L.E. Sucar: MGP - 5 HMM 58
Reconocimiento
P1P2
P3
P4
P5
L.E. Sucar: MGP - 5 HMM 59
Ejemplos
TrayectoriaSeguimiento de la mano
L.E. Sucar: MGP - 5 HMM 60
Referencias
L. R. Rabiner, B. H. Juang, An introduction to hidden Markov models, IEEE ASSP, Enero 1986.
L. R. Rabiner, A tutorial on hidden Markov Models and selected applications in speech recognition, Readings in speech recognition, pp. 267-296, 1990.
J. K. Kemeny, J. L. Snell, Finite Markov Chains, Van Nostrand, 1965.
L.E. Sucar: MGP - 5 HMM 61
Referencias
L. Page et al., The PageRank citation ranking: Bringing order to the Web, Stanford Digital Libraries Working Paper, 1998.
H. Avils, L. E. Sucar, Visual recognition of similar gestures, ICPR06 (por publicarse)
A. Montero, L.E. Sucar, A decision theoretic video conference system based on gesture recognition, F&G06
L.E. Sucar: MGP - 5 HMM 62
Actividades
Hacer ejercicios de HMM Leer artculo de PageRank
Sesin 5: Modelos Ocultos de MarkovModelos Ocultos de MarkovMquina de estadosCadena de Markov (CM)EjemploEjemplo diagrama de estadosMM modelo grficoEspecificacin de una CMPropiedadesSalidasPreguntas bsicasPreguntasEjemplos de PreguntasEstimacin de parmetrosEjemplo de estimacinConvergenciaConvergenciaTeorema de Perron-FrobeniusAplicacin: orden (rank) de GoogleAplicacin: orden (rank) de GoogleModelos Ocultos de Markov (HMM)EjemploEjemploEspecificacin de un HMMEjemplo - especificacinHMM modelo grficoConsideracionesPreguntas bsicasEvaluacin mtodo directoEvaluacin mtodo directoEvaluacin mtodo directoEvaluacin mtodo iterativoEvaluacin mtodo iterativoAlgoritmoComplejidadSecuencia ptimaDefinicionesDefinicionesClculo iterativoMs definicionesEstados ms probableSecuencia ms probableAlgoritmo de ViterbiAlgoritmoAprendizajeAlgoritmo de Baum-WelchAlgoritmo de Baum-WelchRe-estimacin de los parmetrosRe-estimacin de los parmetrosAplicacionesReconocimiento de vozReconocimiento de vozReconoci-miento de GestosdinmicosReconocimiento de gestosCaractersticasHMMEntrenamiento y ReconocimientoReconocimientoEjemplosReferenciasReferenciasActividadesTop Related