43
Curso de Inteligencia Artificial Curso de Inteligencia Artificial Modelos Ocultos de Markov Gibran Fuentes Pineda IIMAS, UNAM

Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Curso de Inteligencia ArtificialCurso de Inteligencia ArtificialModelos Ocultos de Markov

Gibran Fuentes PinedaIIMAS, UNAM

Page 2: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Redes Bayesianas

● Representación gráfica de relaciones probabilísticas

● Relaciones causales entre variables aleatorias

● Grafo dirigido– Nodos: una o más variables aleatorias

– Vertices: relaciones probabilísticas entre variables

Page 3: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Ejemplo

Tifoidea Gripe

Fiebre DolorDiarrea

Page 4: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Cadena de Markov

● Proceso estocástico discreto– Representa una secuencia de variables

aleatorias

● Propiedad de Markov– El siguiente estado depende únicamente del

estado actual

● Máquina de estados donde las transiciones no son determinístas

Page 5: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Cadenas de Markov

● Primer orden

● Segundo orden

x1 x2 x3 x4

P ( xn∣x1, x2,… , xn−1)=P ( xn∣xn−1)

P ( xn∣x1, x2,… , xn−1)=P (xn∣xn−1 , xn−2)

x1 x2 x3 x4

Page 6: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Modelos Ocultos de Markov

● Modela procesos estocásticos secuenciales

● No todas las variables son observables● Nodos blancos representan variables

ocultas. Nodos obscuros representan variables observadas

z1 z2 zn zn+1

x1 x2 xn xn+1

Page 7: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

El Problema Versión Alpha

● Una jarra mágica:

– Con 90 canicas rojas y 10 amarillas

● ¿Cuál es la probabilidad de que la siguiente canica sea roja?

Page 8: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

El Problema Versión Beta

● Tres jarras mágicas con etiquetas

– Con 90 canicas de un color y 10 de otro color

● ¿Qué secuencia de jarras podrían generar la siguiente secuencia?

A B

C

Page 9: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

El Problema Versión 1

● Tres jarra mágicas con etiquetas

– Con 90 canicas de un color y 10 de otro color

● ¿Cuál es la probabilidad de generar la siguiente secuencia? C

A B

C

Page 10: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

El Problema Versión 2

● Tres jarra mágicas con etiquetas

– Con 90 canicas de un color y 10 de otro color

● ¿Qué secuencia de jarras tiene mayor probabilidad de generar la siguiente secuencia?

A B

C

Page 11: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

El Problema Versión 3

● Tres jarra mágicas con etiquetas

● ¿Qué cantidades debe haber en cada jarra para obtener las secuencias?

A B

C

?? ??

??

Page 12: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Espacio de Muestreo

● Las canicas representan a una variable aleatoria, la cual diremos que la observamos

● Las canicas representan otra variable aleatoria, la cual diremos que está oculta

X ={R=1, A=2,V =3}

Y ={A=1, B=2,C=3}

1 21 3

1 2 3

Page 13: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Elementos del Problema

● Espacio de muestreo

● Probabilidades

● Independencias asumidas ?– La canica únicamente depende de la jarra que se saca

– La jarra de la que se saca depende de la que se saque antesra de la que se saca depende de la que se saque antes

Ω={Ar , Aa , Av , Br , Ba , Bv ,Cr ,Ca ,Cv}

P (r∣A) , P (a∣A) ,…

P (A∣A) , P (A∣B) ,…

P (A) , P (B) , P (C )

Page 14: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Las Probabilidades

P (X∣Z )=Probabilidades de emisión B

P (Z∣Z )=Probabilidades de transición A

P (Z )=Probabilidades de ser estado inicial π

Ω={A , B ,π}

● El conjunto de distribuciones es conocido como el modelo o los parámetros del HMM

● Usualmente los representamos como

Page 15: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Modelando la Secuencia

Ω={Todas las secuencias posibles }x1, x2,… , xn

z1, z2,… , zn

Ψ={z1, z2,… , zn}

Os={x1…xn1 ,… , x1, xnO}

z1 z2 zn

x1 x2 xn

Page 16: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Notación

● T = Tamaño de la secuencia de observación● n = Número de estados● m = Número de posibles salidas● Z = Distintos estados del proceso● X = Posibles observaciones● A = Probabilidades de transición● B = Probabilidades de observación● π = Distribución de estado inicial● O = Secuencia de observación

Page 17: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Los Tres Problemas

1.Calcular la probabilidad de una secuencia de observaciones

P (x1, x2,…xn∣θ)

Page 18: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Los Tres Problemas

1.Calcular la probabilidad de una secuencia de observaciones

2. Obtener la secuencia de estados más probable correspondiente a una secuencia de observaciones

P (x1, x2,…xn∣θ)

max P (z1, z2,… zn∣x1, x2,… xn ,θ)

Page 19: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Los Tres Problemas

1.Calcular la probabilidad de una secuencia de observaciones

2. Obtener la secuencia de estados más probable correspondiente a una secuencia de observaciones

3.Dada una secuencia de observaciones, ajustar los parámetros del modelo tal que

P (x1, x2,…xn∣θ)

max P (z1, z2,… zn∣x1, x2,… xn ,θ)

max P (Os∣θ)

Page 20: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Primer Problema

● Necesitamos calcular

Donde ψ representa una secuencia posible de estados

P (x1, x2,…xn∣θ)=∑Z∈ψ

P (x1, x2,… xn∣Ψ ,θ)P (Ψ∣θ)

Page 21: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Complejidad del Problema

● Enumerar todas las secuencias de estados posibles │Z │, esto es, iterar en │Z │n veces

● Calcular P(Z) y P(O │ Z) esto es iterar 2 veces sobre n

● 2n │Z │n

● Exponencial con la longitud de la secuencia!!!!!

Page 22: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Alternativas Más Eficientes

● Podemos utilizar una técnica de programación dinámica

● En HMM se le conoce como el algoritmo forward

● La idea es utilizar un acumulador α para cada estado que lleve la cuenta de la probabilidad de llegar a ese estado

Page 23: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Forward

x1 x2 xn−1 xn

α11 …

α21

αT1

α12

α22

αT2

α1(n−1)

α2(n−1)

αT (n−1)

α1n

α2n

αTn

z1

z2

zT

αij Probabilidad de llegar a un estado i en j pasos

Page 24: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Forward

x1 x2 xn

α11 …

α21

αT1

α12

α22

αT2

α1n

α2n

αTn

z1

z2

zT

αi1 P ( z i)P ( x1∣zi)

Page 25: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Forward

x1 x2

α11 …

α21

αT1

α12

α22

αT2

z1

z2

zT

αij=∑k=1

T

αk ( j−1) P (z i∣zk )P (xi∣z i)

xn

α1n

α2n

αTn

Page 26: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Forward

x1 x2

α11 …

α21

αT1

α12

α22

αT2

z1

z2

zT

P ( x1, x2,… , xn)=∑k=1

T

αkn

xn

α1n

α2n

αTn

Page 27: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Complejidad del Algoritmo

● Iterar n veces– Iterar en Z para calcular α: |Z| casos

● Iterar en α para calcular: |Z| casos

● T |Z| |Z|● 2T|Z|● Polinomial

Page 28: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Backward

x1 x2 xn−1 xn

β11…

β21

βT1

β12

β22

βT2

β1(n−1)

β2(n−1)

βT (n−1)

β1n

β2n

βTn

z1

z2

zT

βij Probabilidad de terminar del estado i en n-j pasos

Page 29: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Backward

βi n=1

x1 x2 xn

β11…

β21

βT1

β12

β22

βT2

β1n

β2n

βTn

z1

z2

zT

Page 30: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Backward

x1 x2

α11 …

α21

αT1

α12

α22

αT2

z1

z2

zT

βij=∑k=1

T

βk ( j+1) P ( zk∣z i)P ( xi+1∣zk )

xn

α1n

α2n

αTn

Page 31: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Backward

P ( x1, x2,… , xn)=∑k=1

T

βk1 P (x1∣z k)

x1 x2 xn

β11…

β21

βT1

β12

β22

βT2

β1n

β2n

βTn

z1

z2

zT

Page 32: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Segundo Problema

● Buscamos calcular

● Se usa el algoritmo de Viterbi● Viterbi es similar a Forward o Backward

– Forward: α guarda la probabilidad máxima para llegar a un estado

– Backward: β guarda la probabilidad máxima para a partir de ese estado llegar al final

● El problema se conoce como secuencia óptima

max P (z1, z2,… zn∣x1, x2,… xn ,θ)

Page 33: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Forward

x1 x2 xn−1 xn

α11 …

α21

αT1

α12

α22

αT2

α1(n−1)

α2(n−1)

αT (n−1)

α1n

α2n

αTn

z1

z2

zT

En lugar de sumar se aplica la operación max

Page 34: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Tercer Problema

● Existe un conjunto de secuencias Os y un número n

de estados y queremos definir θ tal que

– La probabilidad de cada secuencia de Os sea la mayor, es decir,

● En términos prácticos Os se conoce (por ej. La base de datos)

● El problema se le conoce de aprendizaje

max P (Os∣θ)=max∏ P (O i∣θ)

Page 35: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Aprendizaje Automático

● Supervisado: la base de datos contiene secuencia de Xs y Ys asociadas entre sí– {(A,r), (B,r), (C,v)}

– {(A,r), (C,v), (B,a)}

● Sin supervisión: sólo existen secuencias de Xs– r, r, b

– r, v, a

Page 36: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Supervisado

● Fácil● Contar las frecuencias para

– P(Z) = las veces que Z es inicial entre el número de ejemplos en el corpus

– P(Z | Z) = las veces que un estado pasa de un estado a otro, entre las veces que ocurre el primero

– P(X | Ζ) = Las veces que Z produce X entre las veces que ocurre Z

Page 37: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Sin Supervisión

● Un poco más difícil– Ya que no existe método analítico

● Se trata de una optimización

θ*=arg max

θ=∏

i=1

∣Os∣

P (O i∣θ)

Page 38: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Algoritmo Baum-Welch oForward-Backward● Es un método iterativo, no encuentra la mejor

solución pero da un máximo local

● Itera entre dos pasos

– Estimar probabilidades usando θ temporal

– Maximizar parámetros para obtener nuevos θ

● Es equivalente a EM

Page 39: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Esperanza Maximización

● Maximizar la esperanza de que los parámetros actuales generen tanto la secuencia observada como la secuencia oculta dada la secuencia oculta y parámetros anteriores

θ*=arg max

θE [log (P (O ,ψ∣θ))∣O ,θi−1

]

Page 40: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Esperanza

● Esa esperanza se le denomina Q cuando es expandida

● La segunda parte de esa ecuación es el paso E

● Consiste en calcular probabilidad de variables ocultas dado parámetros temporales

Q (θ ,θi−1)=∑Ψ∈ψ

P (O ,Ψ∣θ)P (O∣Ψ ,θ)i−1

Page 41: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Maximización

● Consiste en maximizar Q● En el caso de HMM sustituimos el primer producto

por una expresión analítica

● Y usando la técnica de lagrange y el hecho de las probabilidades suman zero, se maximiza la expresión

P (O , Ψ∣θ)=P ( z1∣θ)∏i=2

n

P (x i∣z i ,θ) P ( z i∣z i−1 ,θ)

Page 42: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

EM en Resumen

● Se inicia con ciertos valores (al azar) y se actualizan los valores iterativamente

● Se obtiene un estimador de máxima verosimilitud– Encuentra parametros que maximizan la

probabilidad de generar las observaciones dadas

● No se garantiza un máximo global pero puede encontrar máximos locales

● Relacionado con K-means

Page 43: Curso de Inteligencia Artificial - Departamento de Ciencias de la ...turing.iimas.unam.mx/~luis/cursos/IA2013-2/slides/s13_hmm.pdf · Curso de Inteligencia Artificial Modelos Ocultos

Aplicaciones de los HMMs

● En general se aplican a problemas que puedan representarse como una secuencia de observaciones y etiquetas– Reconocedores del habla

– Análisis de DNA

– Robótica

– En procesamiento de lenguaje natural y lingüística computacional