Upload
doananh
View
221
Download
1
Embed Size (px)
Citation preview
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
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
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).
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.
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.
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.
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.
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.
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)
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 ]
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.
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.
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
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 ∈ Σ
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.
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
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)
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)
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.
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)
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
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)
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).
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
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