ALGORITMO DE VITERBI

42
ALGORITMO DE VITERBI MODELOS DE MARKOV OCULTOS

description

ALGORITMO DE VITERBI. MODELOS DE MARKOV OCULTOS. PROCESOS ESTOCASTICOS. Conjunto de v.a {X t } t T tal que su distribución conjunta es conocida. Espacio de parámetros del proceso: T Espacio de Estados: Conjunto de todos los valores que pueden tomar la v.a. PROCESOS ESTOCASTICOS. - PowerPoint PPT Presentation

Transcript of ALGORITMO DE VITERBI

Page 1: ALGORITMO DE VITERBI

ALGORITMO DE VITERBI

MODELOS DE MARKOV OCULTOS

Page 2: ALGORITMO DE VITERBI

Conjunto de v.a {Xt}tT tal que su distribución conjunta es conocida.

Espacio de parámetros del proceso: TEspacio de Estados: Conjunto de todos los valores que pueden tomar la v.a

PROCESOS ESTOCASTICOS

Page 3: ALGORITMO DE VITERBI

Conjunto de v.a {Xt}tT tal que su distribución conjunta es conocida.

T: Espacio de parámetros del procesoEspacio de Estados: Conjunto de todos los valores que pueden tomar la v.a

PROCESOS ESTOCASTICOS

Page 4: ALGORITMO DE VITERBI

PROCESOS ESTOCASTICOS

Estados Parámetros Procesos

Contable

Contable

Infinito no Cont.

Infinito

Contable

Infinito no Cont

Contable

Infinito

Cadena Markov

Estocástico

Estocástico

Estocástico

Page 5: ALGORITMO DE VITERBI

Finito contable, Finito contable Lanzar una moneda 1’000.000 de vecesEspacio de estados S= {0,1}Espacio de Parámetros T= {1,2,......1’000.000}

Def: Sea un proceso {Yn}nT un proceso estocástico con espacio de estados y parámetros contables se dice que el proceso es una cadena de markov si P(Yn = in | Yn1=i1,Yn2=i2,.....Ynj=ij) n1<n2<n3...<nj)P(Yn=in | Yns=is) : Probabilidad que en el período n este en el estado in

CADENA DE MARKOV

Page 6: ALGORITMO DE VITERBI

Posibles Casos: •Que el resultado solo dependa del último tiempo•Cuando las Yn son independientes, entonces las partes no dependen una de la otra.

CADENA DE MARKOV

Page 7: ALGORITMO DE VITERBI

1 2 3

4 5 6

7 8 9

Yn= No de pieza ocupada por el ratón en el tiempo n (No de pieza ocupada después de n movimientos)

Pij = P(Yn=j / Yn-1 = i) Xn 1 2 3 4 5 6 7 8 9

Xn-1

1 0 ½ 0 ½ 0 0 0 0 0

2 1/3 0 1/3 0 1/3 0 0 0 0

.

9

0 <= Pij <= 1 Pij = 1 i-fila

CADENA DE MARKOV

MATRIZ DE TRANSICIÓN

Page 8: ALGORITMO DE VITERBI

Secuencia finita de datos: yt1t4

= {yt1, yt2, yt3, yt4}

V.a que tome el valor de y: P(Y=y) Modelo de probabilidad: P(x)Distribución de Probabilidad Conjunta de una secuencia de observaciones

P(y1)= P(y1)P(y2/ y1)P(y3/y1y2)P(y4/y1y2y3) .....

MODELO DE MARKOV APLICADO A UNA SECUENCIA DE DATOS

Es dada por:

Definiciones

Y1= {Y1,Y2,Y3,....YT)

P(y1)= P(y1) P(yt/y1 ) T t-1

T

T

T

Page 9: ALGORITMO DE VITERBI

Dado que para una variable de estados multinomial Qt {1,2,...n}, el número de parámetros requeridos para representar la probabilidad deTransición P(qt|q t-1,q t-2,....q t-k} es O(n k+1), y dado que para un k pequeño no se satisfacen los supuestos estadísticos para un modelo de Markov, se asume la hipótesis, de que los datos pasados en el secuencia pueden ser consistentemente modelados a través de una variable de estado.

MODELO DE MARKOV OCULTOS

Definiciones

Page 10: ALGORITMO DE VITERBI

Yt : Proceso Observable no “Markoviano”Qt: Conjunto de estados, “Markoviano” no observable de orden 1. Resume todos los valores pasados de las variables observadas y ocultas cuando se quiere predecir la variable observada Yt en el estado Q t+1.:

MODELO DE MARKOV OCULTOS

Supuestos de un HMM

Page 11: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Supuestos de un HMM

Independencia

Y1= {Y1,Y2,Y3,....YT)La secuencia observada Se relaciona con

La secuencia de estados Q1= {Q1,Q2,Q3,....QT)

T

T

P(y 1 |q1,y

1 ) = P(yt | qt) t-1 t

P(q t+1 |q1,y

1 ) = P(qt+1 | qt) t t

no observados

Page 12: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Supuestos de un HMM

Probabilidad de Estado Inicial P(q1)

Probabilidad de Transición P(qt|q t-1)

Probabilidad de Emisión P(yt|q t)

1 inicial, 0 otros casos

Estado Inicial Estado Final

Page 13: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Distribución Conjunta de HMM

TT-1

P(y1,q1) = P(q1) P(q t+1| qt) P(yt|qt)T

t=1 t=1

T

P(y1,q1) = P(q1) P(y1|q1) P(q t| qt-1) P(yt|qt,qt-1)TT

t=2

T

Dado que Q1 no es observada realmente interesa representar la distribución de P(y1), entonces,

T

T

P(y1) = P(y1,q1) T T T

T

T

P(y1, qt) =t P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

Page 14: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Problemas Básicos con HMM

.Evaluación de la Probabilidad: Calcular eficientemente la probabilidad de una secuencia dada.

•Algoritmo de Forward o de Avance•Algoritmo de Backward o Retroceso

Secuencia de estados óptimo•Algoritmo de Viterbi

Estimación de Parámetros•Algoritmo de Baum-Welch (maximización): Optimizar las probabilidad de los parámetros del modelo, con el fin de ajustar los parámetros “secuencia de entrenamiento” hasta un punto dado.

Page 15: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Probabilidades de Transición en un HMM

Para algunas aplicaciones como en datos secuenciales o reconocimientos de cadenas (discurso) en un HMM se asume que los estados ocultos tienen un valor discreto, con una distribución multinomial, haciendo entonces que la probabilidad de Transición se pueda representar como:

P(qt|q t-1) = A ij = P(Qt = i| q t-1 = j)

Este supuesto no siempre se puede aplicar, cuando los estados ocultos presentan un comportamiento continuo se habla de un espacio de estados, en que la probabilidad es gaussiana. Por otro lado también pueden ser híbridos (discreta-continua)

Page 16: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Probabilidades de Emisión en un HMM

Para algunas aplicaciones como en datos secuenciales en un HMM Yt es una v.a discreta independiente y

Y el vector de va. Yt se puede dividir en sub-vectores Yti y calcular:

P(yt|q t), es multinomial.

Entonces: P(yt|q t) = Bij = P(Yi | Qt =j)

i P(yti| qt)

Sin embargo en algunas aplicaciones, la distribución de emisión es normal o mezcla de normal

Page 17: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

Sea QT = {1,2,3,F} = {a,b,c} P(q1) {1,0,0,0}

A ij =0.2 0.5 0.3 0.00.1 0.0 0.9 0.00.0 0.0 0.4 0.6

1 2 3 F

123

Bij = 0.0 0.3 0.70.3 0.6 0.11.0 0.0 0.0

a b c

123

Page 18: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c)P(cab, qt) =

(1x0.7)

Page 19: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) P(cab, qt) =

(1x0.7) (0.5 x 0.6)

Page 20: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) P(cab, qt) =

(0.5 x 0.6) (0.9 x 1) (1x0.7)

Page 21: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) A3,F P(cab, qt) =

(0.5 x 0.6) (0.9 x 1) (0.6 x 1) (1x0.7)

Page 22: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) A3,F P(cab, qt) =

+ (P1.B1,c)

(0.5 x 0.6) (0.9 x 1) (0.6 x 1) (1x0.7)

(1x0.7)

Page 23: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) A3,F P(cab, qt) =

+ (P1.B1,c)

(0.5 x 0.6) (0.9 x 1) (0.6 x 1) (1x0.7)

(A1,2.B2,b)(0.2 x 0.3)(1x0.7)

Page 24: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) A3,F P(cab, qt) =

+ (P1.B1,c)

(0.5 x 0.6) (0.9 x 1) (0.6 x 1) (1x0.7)

(A1,2.B2,b) (A2,3.B3,a)(0.3 x 1)(0.2 x 0.3)(1x0.7)

Page 25: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) A3,F P(cab, qt) =

+ (P1.B1,c)

(0.5 x 0.6) (0.9 x 1) (0.6 x 1) (1x0.7)

(A1,2.B2,b) (A2,3.B3,a) A3,F

(0.3 x 1)(0.2 x 0.3)(1x0.7) (0.6 x 1)

Page 26: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

Un ejemplo para generar una cadena en un HMM

1 2 3 FiNIC

0.5 0.9 0.6

0.1

0.3

0.2 0.4

1

0.00.30.7

abc

0.30.60.1

1.00.00.0

P(y1, qt) = P(yt|qt) P(qt|q t-1) P(y1 , q t-1))t-1

(P1.B1,c) (A1,2.B2,b) (A2,3.B3,a) A3,F P(cab, qt) =

+ (P1.B1,c)

(0.5 x 0.6) (0.9 x 1) (0.6 x 1) (1x0.7)

(A1,2.B2,b) (A2,3.B3,a) A3,F

(0.3 x 1)(0.2 x 0.3)(1x0.7) (0.6 x 1)

0.1134+0.00756

0.12

Page 27: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

ALGORITMO DE VITERBI

Muy usado para reconocimiento de voz, biología molecular, fonemas, palabras, codificadores entre otros).

Para secuencia de estados le corresponde una secuencia de labels de clasificación (e.d, palabras, caracteres, fonemas, sufijos).Dado una secuencia observada Y1 = y1, inferir la más probable secuencia de estados Q1 = q1

T T

T T

V(i,t) =

Max {P(yt|Qt=i) P(Q=i|Qt-1=j) V(j,t-1)}

P(y1|Q1=i) P(Q1=i)

j

Si t=1Si t>1

Page 28: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

b

1

c b a a

Page 29: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

b

1

1*0.3

c b a a

Page 30: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 (0.3)*(0.2*0.7)

b c b a a

0.0

0.0

Page 31: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3

(0.3)*(0.5*0.1)

b c b a a

0.0

0.0

Page 32: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3

(0.3)*(0.3*0.0)

b c b a a

0.0

0.0

Page 33: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

(0.042)*(0.2*0.3)

Page 34: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

(0.042)*(0.5*0.6)

Page 35: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0 (0.042)*(0.3*0.0)

Page 36: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

b

1

0.3

c b a a

0.042

0.015

0

(0.042)*(0.2*0.3)

(0.042)*(0.5*0.6)

(0.042)*(03*0.0 )

Page 37: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

0.0025

0.0126

0.000

Page 38: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

0.0025

0.0126

0.000

0.0126*(0.1*0.0)

Page 39: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

0.0025

0.0126

0.000

0.0126*(0.0*0.3)

Page 40: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

0.0025

0.0126

0.000 0.0126*(0.9*1.0)

Page 41: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

0.0025

0.0126

0.000

0.00

0.0004

0.0113

Page 42: ALGORITMO DE VITERBI

MODELO DE MARKOV OCULTOS

EJEMPLO DE VITERBI V(bcbaa,t)

t

Ini

1

2

3

12

3F

iNIC0.5

0.90.6

0.1

0.3

1

0.20.00.30.7

0.30.60.1

1.00.00.0

F

1

0.3 0.042

0.015

0.000

b c b a a

0.0

0.0

0.0025

0.0126

0.000

0.00

0.0004

0.0113

0.00

0.00

0.0045

0.0027