62
Modelos Gráficos Probabilistas L. Enrique Sucar INAOE Sesión 5: Modelos Ocultos de Markov

Sesión 5: Modelos Ocultos de Markov - ccc.inaoep.mxesucar/Clases-mgp/pgm-06-hmm.pdf · Modelos Ocultos de Markov • Cadenas de Markov – Preguntas básicas – Aplicación: orden

Embed Size (px)

Citation preview

  • 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 ReconocimientoReconocimientoEjemplosReferenciasReferenciasActividades