25
Bases Formales de la Computaci´ on: Sesi´ on 3. Modelos Ocultos de Markov Bases Formales de la Computaci´on: Sesi´on 3. Modelos Ocultos de Markov Prof. Gloria In´ es Alvarez V. Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on Pontificia Universidad Javeriana Cali Periodo 2008-2

Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

  • Upload
    doananh

  • View
    222

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Bases Formales de la Computacion:

Sesion 3. Modelos Ocultos de Markov

Prof. Gloria Ines Alvarez V.

Departamento de Ciencias e Ingenierıa de la Computacion

Pontificia Universidad Javeriana Cali

Periodo 2008-2

Page 2: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Contenido

1 Introduccion

2 Cadenas de Markov

La Propiedad de Markov

3 Modelos Ocultos de Markov

Problema 1

Aplicaciones

Problema 2

Aplicaciones

Page 3: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Introduccion

Introduccion

Un Hidden Markov Model (HMM) es una funcion deprobabilidad de un modelo de Markov.

Su primer uso fue en linguıstica, modelando secuencias deletras en literatura rusa. sin embargo, fueron disenados comoun metodo general.

Los HMM han sido la parte del modelamiento estadıstico quemas se aplica en los sistemas de reconocimiento de hablamodernos. Hoy dia siguen siendo la tecnica mas exitosa y lamas usada para varias tareas, por ejemplo, para el problemaPOS (Parts of speech tagging).

Page 4: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Introduccion

Construccion de Modelos de Senales

La mayorıa de los sistemas producen una salida observableque puede ser caracterizada como una senal.

Un problema muy importante es el de modelar un sistema apartir de las senales que emite.

Porque esto permite obtener una descripcion teorica delsistema mediante la cual se puede aprender a procesar lassenales para obtener una salida deseada del sistema. Ejemplo:eliminacion de ruido y distorsion.El modelo permite aprender sobre el sistema que emite lassenales.Porque se comportan supremamente bien en la practica.

Page 5: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Introduccion

Clases de Modelos de Senales

Modelos Deterministas: se basan en una propiedad especıficay conocida del sistema a modelar. Por ejemplo, elcomportamiento se modela mediante una senal seno. Solo senecesita determinar o estimar unos pocos parametros:amplitud, frecuencia, fase.

Modelos Estadısticos: se busca caracterizar unicamente laspropiedades estadısticas de la senal. HMM pertenecen a estaclase. La hipotesis de base es que el proceso se puede modelarcomo un proceso aleatorio parametrico y que los parametrosse pueden estimar de forma precisa.

Page 6: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Introduccion

Modelos Ocultos de Markov

Los primeros trabajos fueron de Baum y sus colegas a finalesde la decada de 1960 y principios de los 70’s.

Se implementaron para aplicaciones de procesamiento dehabla por Baker y Jelinek en los laboratorios de IBM en 1970.

Solo se entendieron y aplicaron ampliamente hasta finales delos 80’s.

Page 7: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Cadenas de Markov

Cadenas de Markov

Definicion

Un proceso de Markov es un proceso estocastico que sirve para

representar secuencias de variables aleatorias no independientes

entre sı. Es decir, donde la probabilidad del siguiente estado sobre

una secuencia completa depende de estados previos al estado

actual.

Por ejemplo, si la variable aleatoria consiste en contar los libros quehay en la biblioteca, entonces saber cuantos libros hay hoy puedeservir para calcular cuantos habra manana y no es necesario sabercuantos habıa hace una semana o hace un ano.Es decir, que los elementos futuros en la secuencia soncondicionalmente independientes de los pasados, dado el elementopresente.

Page 8: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Cadenas de Markov

La Propiedad de Markov

La Propiedad de Markov

Definicion

Sea X = {X1, . . . ,XT} una secuencia de variables aleatorias que

toman valores en un conjunto finito S = {s1, . . . , sN} que se llama

el espacio de estados. Entonces, las propiedades de Markov son:

Horizonte limitado:

P(Xt+1 = sk |X1, . . . ,Xt) = P(Xt+1 = sk |Xt)

Invariante en el tiempo

P(Xt+1 = sk |X1, . . . ,Xt) = P(X2 = sk |X1)

Si X cumple estas dos propiedades, se dice que X es una cadena

de Markov o que tiene la propiedad de Markov.

Page 9: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Cadenas de Markov

La Propiedad de Markov

Ejemplo de Cadena de Markov

Lluvioso Nublado

Soleado

0.4 0.6

0.8

0.3

0.20.3

0.1 0.2

0.1A =

0,4 0,3 0,30,2 0,6 0,20,1 0,1 0,8

Π =(

0,25 0,25 0,5)

Page 10: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Cadenas de Markov

La Propiedad de Markov

Preguntas que se pueden responder

Cual es la probabilidad de la secuencia: LSLSLSN ?P(X1 . . . ,XT ) = ΠX1

∏T−1t=1 A[Xt ,Xt + 1]

Cual es la probabilidad de tener el mismo clima por d dıas?

P(O|M, q1 = i) = P(O, q1 = i |M)/P(q1 = i)

= Π[i ](A[i , i ])d−1(1 − A[i , i ])/Π[i ]

= (A[i , i ])d−1(1 − A[i , i ])

= pi (d)

pi(d) =

∞∑

d=1

dpi (d)

=1

1 − A[i , i ]

Page 11: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Modelos Ocultos de Markov

En las cadenas de Markov, las senales observadascorresponden a los estados del modelo.

En los modelos ocultos de Markov no se conoce la secuenciade estados por la que pasa el modelo, sino una funcionprobabilıstica de ella.

Page 12: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Ejemplo de Modelo Oculto de Markov

EC EP

0.7 0.50.3

0.5

La maquina vende:CocaCola,PremioRojo yNestea.

B =

(

0,6 0,1 0,30,1 0,7 0,2

)

Cuando la maquina esta enel estado CocaCola tiende aentregar una CocaCola,independientemente de loque el usuario hayasolicitado y analogamentecuando esta en el estadoPremioRojo.

Page 13: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Uso del Modelo

Cual es la probabilidad de que la maquina expenda la secuenciaNestea, PremioRojo si la maquina empieza en el estado CocaCola?

Se deben considerar todos los caminos en el modelo queconducen a esa secuencia.

Hay cuatro posibilidades:1 EC EC 0,7 × 0,3 × 0,7 × 0,12 EC EP 0,7 × 0,3 × 0,3 × 0,13 EP EC 0,3 × 0,3 × 0,5 × 0,74 EP EP 0,3 × 0,3 × 0,5 × 0,7

Sumando estas opciones se obtiene la probabilidad de lasecuencia que es 0,084

Page 14: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Modelos Ocultos de Markov

Definicion

Un modelo oculto de Markov es una tupla M = {S ,Σ,A,B ,Π}donde:

S es un conjunto finito de estados.

Σ es un conjunto finito de sımbolos.

A es la matriz de probabilidades de transicion entre estados de

S. A[i , j] es P(Xt+1 = Sj |Xt = si)

B es la matriz de probabilidad de emision de sımbolos de Σ.

B [j , k] es B [j , k] = P(Ot = k|Xt = sj)

Π es el vector de probabilidades iniciales. Π[i ] es P(X1 = Si )

Se denota una secuencia de estados X = (X1, . . . ,XT+1) donde

Xt : S → {1, . . . ,N} y una secuencia de observaciones

O = (o1, . . . , oT ) con oT ∈ Σ

Page 15: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Los tres problemas fundamentales en HMM

1 Problema de evaluacion de la probabilidad (o verosimilitud) deuna secuencia de observaciones dado un HMM.

2 Problema de determinacion de la secuencia mas probable deestados.

3 Problema de ajuste de los parametros del modelo para queden mejor cuenta de las senales observadas.

Page 16: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Problema 1

Problema de Evaluacion

Definicion

Dada una secuencia de observaciones O1, . . . ,OT y un modelo de

Markov M = (A,B ,Π), como calcular eficientemente P(O|M), la

probabilidad de la secuencia dado el modelo?

El problema de evaluacion tiene particular interes cuando se deseaelegir entre varios modelos posibles, ya que se puede elegir aquelque mejor explique una secuencia de observaciones

Page 17: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Problema 1

Solucion al Problema de Evaluacion

La solucion directa consiste en extender todos los caminos delongitud T , calcular la probabilidad de cada uno y sumarlas.El costo es exponencial, porque en el peor caso desde cadaestado se puede ir a N estados, es decir, que habrıa NT

caminos distintos y en cada camino se hacen 2T calculos paraobtener la probabilidad. Este costo no es aceptable en lapractica: con N = 5 y T = 100 el costo serıa del orden de1072.

Existe una manera mas eficiente de resolver el problema, quese basa en la definicion de la variable forward:

αt(i) = P(O1, . . . ,Ot ,Xt = si |M)

Page 18: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Problema 1

Definicion de la Variable Forward

αt(i) es la probabilidad de haber observado la secuenciaparcial O1, . . . ,Ot y encontrarse en el tiempo t en el estadosi , dado el modelo M.

αt(i) se puede calcular inductivamente:

Caso base: α1(i) = Π[i ]B[i ,O1], 1 ≤ i ≤ N

Caso general: αt+1(j) =(

∑N

i=1 αt(i)A[i , j ])

B[j ,Ot+1] con

1 ≤ t ≤ T − 1 y 1 ≤ j ≤ N

Terminacion: P(O|M) =∑N

i=1 αT (i)

Page 19: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Aplicaciones

Aplicacion en Reconocimiento de Habla

En el reconocimiento de palabras aisladas se puede aplicar HMM

Se selecciona el vocabulario de trabajo

Se eligen las unidades basicas de reconocimiento: fonemas,sılabas, ...

Se construye un HMM especializado en reconocer cadapalabra, que es una secuencia de observaciones, donde cadaobservacion corresponde a una unidad basica

Al recibir una secuencia de observaciones desconocida, sealimentan con ella todos los HMM y se elige como la palabrareconocida la representada por el modelo que explique lasecuencia de observaciones con maxima probabilidad.

Page 20: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Aplicaciones

Esquema del Modelo Conceptual

Analisis de

caracteristicas LPC

λ1

λ2

λν

Calculo deprobabilidad

Calculo de

Calculo de

probabilidad

probabilidad

Seleccionar

MaximoS O

P(O|λ2)

Page 21: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Aplicaciones

Definicion de la Variable Backward

βt(i) es la probabilidad de observar la secuencia parcialOt+1, . . . ,OT y encontrarse en el tiempo t en el estado si ,dado el modelo M.

βt(i) se puede calcular inductivamente:

Caso base: βT (i) = 1, 1 ≤ i ≤ N

Caso general: βt(i) =∑N

j=1 A[i , j ]B[j ,Ot+1]βt+1(j) cont = T − 1,T − 2, . . . 1 y 1 ≤ j ≤ N

Page 22: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Problema 2

Problema 2: Determinacion de la secuencia de estados

mas probable

Dependiendo del criterio de optimalidad elegido pueden habervarias secuencias de estados mas probables, dada unasecuencia de observaciones y un modelo.

El criterio mas utilizado consiste en elegir la secuencia deestados que maximiza P(S |O,M). Esto da orıgen al algoritmoconocido como Algoritmo de Viterbi. Para hacer el calculo seutiliza la variable δt(i).

δt(i) = maxX1,...,Xt−1

P(X1, . . . ,Xt = i ,O1, . . . ,Ot |M)

Page 23: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Problema 2

Algoritmo de Viterbi

Donde δt(i) es la mas alta probabilidad que se obtiene a lo largode un camino, hasta el tiempo t, que da cuenta de las primeras t

observaciones y termina en el estado siPara poder encontrar la secuencia precisa de estados, es necesarioalmacenar el estado que maximiza la funcion δt(i) en cadamomento, esto se almacena en la variable ψt(j).

Page 24: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Problema 2

Algoritmo de Viterbi

Inicializacion:

δ1(i) = Π[i ]B [i ,Oi ], 1 ≤ i ≤ N

ψ1(i) = 0

Recursion:

δt(i) = max1≤i≤N

(δt−1(i)A[i , j])B [j ,Ot ], con2 ≤ t ≤ Ty1 ≤ i ≤ N

ψt(i) = argmax1≤i≤N(δt−1(i)A[i , j]), con2 ≤ t ≤ Ty1 ≤ i ≤ N

Terminacion:

p∗ = max1≤i≤N

(δT (i))

q∗T = argmax1≤i≤N(δT (i))

Obtencion del camino:

q∗T = ψt+1(q

∗t+1)t = T − 1,T − 2, . . . , 1

Page 25: Bases Formales de la Computación: Sesión 3. Modelos ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bfc_sesion3... · Modelos Ocultos de Markov Los tres problemas fundamentales

Bases Formales de la Computacion: Sesion 3. Modelos Ocultos de Markov

Modelos Ocultos de Markov

Aplicaciones

Aplicacion en Procesamiento de Lenguaje Natural

El problema de etiquetamiento mediante categorıas sintacticas sepuede resolver mediante HMMs

Dado un HMM, es posible asociar a cada palabra de unaoracion la categorıa sintactica que le corresponde

Cada palabra es una observacion, por lo tanto la oracion esuna secuencia de observaciones

Cada estado es una categorıa sintactica

Mediante el algoritmo de Viterbi se puede establecer lasecuencia de estados, es decir la secuencia de categorıassintacticas que con mayor probabilidad explica la secuencia deobservaciones