Está en la página 1de 50

Modelos de Markov Ocultos (HMM)

Modelos de Markov Ocultos (HMM)
Modelos de Markov Ocultos (HMM) Miguel A. Alonso Jorge Gra˜na Jes´us Vilares Departamento de Computaci´on, Facultad
Modelos de Markov Ocultos (HMM) Miguel A. Alonso Jorge Gra˜na Jes´us Vilares Departamento de Computaci´on, Facultad

Miguel A. Alonso Jorge Gra˜na Jes´us Vilares

Departamento de Computaci´on, Facultad de Inform´atica, Univers idade da Coru˜na

Facultad de Inform´atica, Univers idade da Coru˜na Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

´

Indice

1
1

Procesos de Markov de tiempo discreto Cadenas de Markov

Modelos de Markov Ocultos1 Procesos de Markov de tiempo discreto Cadenas de Markov 2 3 4 5 6 7

2 3
2
3
discreto Cadenas de Markov Modelos de Markov Ocultos 2 3 4 5 6 7 Elementos de
4
4
5
5
6
6
7
7

Elementos de un HMM

C´alculo de la probabilidad de una observaci´on Procedimiento hacia adelante Procedimiento hacia atr´as

C´alculo de la secuencia de estados m´as probable Algoritmo de Viterbi

Estimaci´on de par´ametros no supervisada Algoritmo de Baum-Welch

Estimaci´on de par´ametros supervisada Suavizado de los pr´ametros

Tratamiento de las palabras desconocidas

de los pr´ametros Tratamiento de las palabras desconocidas Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

Procesos de Markov de tiempo discreto

Cadenas de Markov

Cadenas de Markov

Estados Q = {1, 2,

., N }, Instantes de tiempo t = 1, 2,

., T

a22 2 a11 a21 a32 a33 a13 1 3 a41 a35 a51 a34 a45 5
a22
2
a11
a21
a32
a33
a13
1
3
a41
a35
a51
a34
a45
5
4
a54
a55
a44
a33 a13 1 3 a41 a35 a51 a34 a45 5 4 a54 a55 a44 Miguel A.

Procesos de Markov de tiempo discreto

Propiedades

Cadenas de Markov

Propiedad del horizonte limitado

Una cadena de Markov de orden n es la que utiliza n estados previos para predecir el siguiente estado. Para cadenas de orden 1, n = 1:

P (q t = j | q t 1 = i , q t 2 = k ,

) = P (q t = j | q t 1 = i )

k , ) = P ( q t = j | q t − 1 =

Procesos de Markov de tiempo discreto

Propiedades

Cadenas de Markov

Propiedad del tiempo estacionario

P (q t = j | q t 1 = i ) es independiente del tiempo. Matriz A = {a ij } de probabilidades de transici´on independientes del tiempo:

a ij = P (q t = j | q t 1 = i ) = P (j | i ),

a ij 0,

N

j =1

a ij = 1,

i , j ,

i .

1 i , j N ,

Vector π = {π i } de probabilidad de ser el estado inicial:

π i = P (q 1 = i ),

π i 0,

N

i =1

π i = 1.

1 i N ,

i ≥ 0 , N i =1 π i = 1 . 1 ≤ i ≤

Procesos de Markov de tiempo discreto

Cadenas de Markov

Ejemplo de cadena de Markov

A = {a ij } =

1

π i = 3 ,

0, 4

0, 2

0, 1

0, 3

0, 6

0, 1

0, 3

0, 2

0, 8

1 i 3

0,4 0,6 0,2 1 2 0,3 0,3 0,2 0,1 0,1 3
0,4
0,6
0,2
1
2
0,3
0,3
0,2
0,1
0,1
3

0,8

≤ 3 0,4 0,6 0,2 1 2 0,3 0,3 0,2 0,1 0,1 3 0,8 Miguel A.

Procesos de Markov de tiempo discreto

Cadenas de Markov

Probabilidad de observar una secuencia de estados

P (o 1 , o 2 ,

,

o T ) = π o 1

T 1

t =1

= P (q 1 = o 1 )P (q 2 = o 2 |q 1 = o 1 )P (q 3 = o 3 |q 2 = o 2 )

a o t o t +1

P (q T = o T |q T 1 = o T 1 )

En el ejemplo, la probabilidad de observar la secuencia de estados nublado- soleado- nublado- lluvia (2, 3, 2, 1):

P (2, 3, 2, 1) = P (2)P (3| 2)P (2| 3)P (1| 2)

= π 2 × a 23 × a 32

× a 21

1

= 3 × 0, 2 × 0, 1 × 0, 2

= 0, 00133333.

= 3 × 0 , 2 × 0 , 1 × 0 , 2 = 0

Procesos de Markov de tiempo discreto

Modelos de Markov Ocultos

Modelos de Markov Ocultos

En las cadenas de Markov cada estado se corresponde de maneradiscreto Modelos de Markov Ocultos Modelos de Markov Ocultos determinista con un unico´ suceso observable En

determinista con un unico´

suceso observable

En los HMM la observaci´on es una funci´on probabil´ıstica del estado . la observaci´on es una funci´on probabil´ıstica del estado .

Los HMM son un modelo doblemente estoc´astico, ya que uno de los procesos no se puede observar directamente (est´a oculto), s ino que se puede observar s´olo a trav´es de otro conjunto de procesos estoc´asticos, los cuales producen la secuencia de observa ciones.es una funci´on probabil´ıstica del estado . Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

los cuales producen la secuencia de observa ciones. Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

Procesos de Markov de tiempo discreto

Ejemplo de HMM

Modelos de Markov Ocultos

0,4 0,6 casa 0,6 casa 0,2 0,2 paseo 0,5 paseo 0,1 1 2 0,3 cafe
0,4
0,6
casa 0,6
casa 0,2
0,2
paseo 0,5
paseo 0,1
1
2
0,3
cafe 0,3
0,3
0,2
cafe 0,3
0,1
0,1
3
paseo 0,7
casa 0,1
cafe 0,2

0,8

cafe 0,3 0,1 0,1 3 paseo 0,7 casa 0,1 cafe 0,2 0,8 Miguel A. Alonso, Jorge

Procesos de Markov de tiempo discreto

Otro ejemplo de HMM

Modelos de Markov Ocultos

discreto Otro ejemplo de HMM Modelos de Markov Ocultos Urna 1 P ( color 1) =

Urna 1 P ( color 1) = b 11 P ( color 2) = b 12 P ( color 3) = b 13

.

.

.

P ( color M ) = b 1 M

( color 3) = b 1 3 . . . P ( color M ) =

Urna 2 P ( color 1) = b 21 P ( color 2) = b 22 P ( color 3) = b 23

.

.

.

P ( color M ) = b 2 M

( color 3) = b 2 3 . . . P ( color M ) =

Urna 3

1)

P ( color 2) = b 32

P ( color 3) = b 33

.

.

.

P ( color M ) = b 3 M

P ( color

= b 31

. . . Urna N P ( color 1) = b N 1 . .
.
.
.
Urna N
P ( color 1) = b N 1
.
.
.
.
.
.
P ( color
P ( color
2) = b N 2
3) = b N 3
.
.
.
.
.
.
P ( color M ) = b NM
= b N 2 3) = b N 3 . . . . . . P

Procesos de Markov de tiempo discreto

Modelos de Markov Ocultos

Relaci´on con etiquetaci´on

Bolas = palabrasModelos de Markov Ocultos Relaci´on con etiquetaci´on Urnas = etiquetas Secuencia de bolas observadas = frase

Urnas = etiquetasOcultos Relaci´on con etiquetaci´on Bolas = palabras Secuencia de bolas observadas = frase Miguel A. Alonso,

Secuencia de bolas observadas = frasecon etiquetaci´on Bolas = palabras Urnas = etiquetas Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

Urnas = etiquetas Secuencia de bolas observadas = frase Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

H = (π, A, B )

Elementos de un HMM

Q es el conjunto de estados { 1 , 2 , ., N } .

Q

es el conjunto de estados {1, 2,

., N }.

El estado actual en el instante de tiempo t se denota q t . (instante de tiempo = posici´on de cada palabra).

, (M= tama˜no del diccionario; cada v k es una palabra distinta) . V es

, (M= tama˜no del diccionario; cada v k es una palabra distinta).

V

es el conjunto de los sucesos observables {v 1 , v 2 ,

v M }.

sucesos observables { v 1 , v 2 , v M } . Miguel A. Alonso,

H = (π, A, B )

Elementos de un HMM

π = { π i } es la distribuci´on de probabilidad del estado inicial = {π i } es la distribuci´on de probabilidad del estado inicial

π i = P (q 1 = i ),

π i 0,

N

i =1

π i = 1.

1 i N

A = { a i j } es la distribuci´on de probabilidad de las transiciones entre = {a ij } es la distribuci´on de probabilidad de las transiciones entre estados

a ij = P (q t = j | q t − 1 = i
a ij = P (q t = j | q t − 1 = i ) = P (j | i ),
1 ≤ i , j ≤ N ,
1 ≤ t ≤ T
N
a ij = 1,
∀i .
j =1

H = (π, A, B )

Elementos de un HMM

H = ( π, A , B ) Elementos de un HMM B = { b

B = {b j (v k )} es el conjunto de probabilidades de emisi´on, la distribuci´on de probabilidad de los sucesos observables

b j (v k ) = P (o t = v k | q t = j ) = P (v k | j ),

b j (v k ) 0,

1 j N , 1 k M , 1 t T

M

k =1

b j (v k ) = 1,

j

, 1 ≤ t ≤ T M k =1 b j ( v k ) =

Elementos de un HMM

Preguntas fundamentales

, ¿c´omo calcular de una manera eficiente P ( O | µ ) ? (la probabilidad ¿c´omo calcular de una manera eficiente P (O |µ)? (la probabilidad de la secuencia O dado el modelo µ)

Dados O = (o 1 , o 2 ,

o T ) y µ = (π, A, B )

, ¿c´omo elegir la secuencia de estados S = ( q 1 , q 2 , ¿c´omo elegir la secuencia de estados S = (q 1 , q 2 ,

Dados O = (o 1 , o 2 ,

, (la secuencia de estados que mejor explica la de observaciones)

o T ) y µ = (π, A, B )

q T ) ´optima?

, ¿c´omo estimar los par´ametros del modelo µ que maximizan P ( O | µ ) ¿c´omo estimar los par´ametros del modelo µ que maximizan P (O |µ)? (el modelo que mejor explica los datos observados)

Dado O = (o 1 , o 2 ,

o T )

observados) Dado O = ( o 1 , o 2 , o T ) Miguel A.

C´alculo de la probabilidad de una observaci´on

Soluci´on ineficiente para P (O |µ )

Entrada: O = ( o 1 , o 2 , O = (o 1 , o 2 ,

Enumerar todas las posibles secuencias de estados de longitud T T

,

o T ) y µ = (π, A, B )

Existen N T secuencias distintas S = (q 1 , q 2 ,

, q T )

P (S | µ) = π q 1 a q 1 q 2 a q 2 q 3

a q T 1 q T

P (O | S ) =

T

P (o t | q t ) = b q 1 (o 1 ) b q 2 (o 2 )

b q T (o T )

t =1

P (O , S | µ) = P (S | µ) P (O | S )

P (O | µ) = P (S | µ) P (O | S )

Ineficiencia: (2 T − : (2T

S

1)N T multiplicaciones y N T 1 sumas

T − S 1) N T multiplicaciones y N T − 1 sumas Miguel A. Alonso,

C´alculo de la probabilidad de una observaci´on

Procedimiento hacia adelante

Procedimiento hacia adelante

α t (i ) = P (o 1 , o 2 ,

1
1

Inicializaci´on:

2
2

Recurrencia:

α t +1 (j ) =

N

i =1

3
3

Terminaci´on:

α 1 (i ) = π i b i (o 1 ),

α t (i ) a ij b j (o t +1 ),

P (O | µ) =

Eficiencia : O (N 2 T ) operaciones

,

o t , q t = i | µ),

1 i N .

t = 1, 2,

N

i =1

α T (i ).

,

T 1,

1 j N .

N i =1 α T ( i ) . , T − 1 , 1 ≤

C´alculo de la probabilidad de una observaci´on

Procedimiento hacia adelante

(a) Detalle de la secuencia de operaciones necesarias para el c´al culo de α t +1 ( j ) (b) Enrejado de T observaciones y N estados

(a) 1 a1j ot+1 2 a2j bj(ot+1) a3j 3 j aNj N t t+1 α
(a)
1
a1j
ot+1
2
a2j
bj(ot+1)
a3j
3
j
aNj
N
t
t+1
α t (i)
α t+1 (j)
(b) Observaciones o1 o2 o3 oT 1 2 3 N 1 2 3 T Estados
(b)
Observaciones
o1
o2
o3
oT
1
2
3
N
1
2
3
T
Estados

Tiempo

o1 o2 o3 oT 1 2 3 N 1 2 3 T Estados Tiempo Miguel A.

C´alculo de la probabilidad de una observaci´on

Procedimiento hacia atr´as

Procedimiento hacia atr´as

β t (i ) = P (o t +1 , o t +2 ,

,

o T | q t = i ),

Inicializaci´on:

Recurrencia:

β T (i ) = 1,

1 i N

β t (i ) =

N

j =1

a ij β t +1 (j ) b j (o t +1 ), t = T 1, T 2,

Terminaci´on:

P (O | µ) =

N

i =1

β 1 (i ) π i b i (o 1 )

,

1, 1 i N

Eficiencia : O (N 2 T ) operaciones

≤ i ≤ N Eficiencia : O ( N 2 T ) operaciones Miguel A. Alonso,

C´alculo de la probabilidad de una observaci´on

Procedimiento hacia atr´as

Detalle de la secuencia de operaciones necesarias para el c´alculo de β t +1 (j )

ot+1

b1(ot+1) 1 ai1 b2(ot+1) 2 ai2 ai3 b3(ot+1) i 3 aiN bN(ot+1) N t t+1
b1(ot+1)
1
ai1
b2(ot+1)
2
ai2
ai3
b3(ot+1)
i
3
aiN
bN(ot+1)
N
t
t+1
β
(i)
β
(j)
t
t+1
i 3 aiN bN(ot+1) N t t+1 β (i) β (j) t t+1 Miguel A. Alonso,

C´alculo de la secuencia de estados m´as probable

Soluci´on ineficiente para P (S |O , µ )

Selecci´on de los estados que son individualmente m´as probables en cada instante de tiempo individualmente m´as probables en cada instante de tiempo

γ t (i ) = P (q t = i | O )

= P (q t = i , O | µ) =

P (O | µ)

P (q t = i , O | µ)

N

j =1

P (q t = j , O | µ)

=

α t (i ) β t (i )

N

j =1

α t (j ) β t (j )

Reconstrucci´on de la secuencia m´as probable:) β t ( i ) N j =1 α t ( j ) β t

q t

= arg max N [γ t (i )],

1i

1 t T

Inconsistencia: podr´ıa ocurrir que dos estados i y j aparecieran contiguos en la secuencia ´optima : podr´ıa ocurrir que dos estados i y j aparecieran contiguos en la secuencia ´optima a´un cuando a ij = 0

en la secuencia ´optima a´un cuando a i j = 0 Miguel A. Alonso, Jorge Gra˜na,

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Soluci´on eficiente para P (S |O , µ ): el algoritmo de Viterbi

δ t (i ) =

max t 1 P (q 1 , q 2 ,

,q

q 1 ,q 2 ,

,

q t 1 , q t = i , o 1 , o 2 ,

,

o t | µ),

δ t (i ) almacena la probabilidad del mejor camino que termina en el estado i , teniendo en cuenta las t primeras observaciones

δ t +1 (j ) = max N δ t (i ) a ij b j (o t +1 )

1i

La secuencia de estados se construye a trav´es de una traza, que se almacena en las variables ψ t (j ), que recuerda el argumento que maximiz´o esta ecuaci´on para cada instante t y para cada estado j .

ecuaci´on para cada instante t y para cada estado j . Miguel A. Alonso, Jorge Gra˜na,

C´alculo de la secuencia de estados m´as probable

Inicializaci´on:

Algoritmo de Viterbi

δ 1 (i ) = π i b i (o 1 ),

1 i N .

Recurrencia:

δ t +1 (j ) = max N δ t (i ) a ij b j (o t +1 ), t = 1, 2,

1i

, T 1,

1 j N .

ψ t +1 (j ) = arg max N δ t (i ) a ij ,

1i

t = 1, 2,

Terminaci´on:

= arg max N δ T (i ).

q T

1i

,

T 1,

1 j N .

Construcci´on hacia atr´as de la secuencia de estados:

q

t

= ψ t +1 (q

t +1 ),

t = T − 1, T − 2, , 1.
t = T − 1, T − 2,
,
1.

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Observaciones

v1 v1 v1 v1 v2 v2 v1 v2 1 2 3 1 2 3 4
v1
v1
v1
v1
v2
v2
v1
v2
1
2
3
1
2
3
4
5
6
7
8
Estados

Tiempo

v2 v1 v2 1 2 3 1 2 3 4 5 6 7 8 Estados Tiempo

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

0, 50

0, 75

0

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

δ 1 (1)

=

π 1 b 1 ( v 1 ) =

(0 , 25)(0 , 50)

δ 1 (2)

=

π 2 b 2 ( v 1 ) =

(0 , 50)(0 , 25)

δ 1 (3) = π 3 b 3 ( v 1 ) = (0 , 25)(0 , 75)

(3) = π 3 b 3 ( v 1 ) = (0 , 25)(0 , 75)

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

0, 25 π = 0, 50

0, 25

A =

0, 25 0, 25 0, 50 0, 50

0, 25

0

0, 50

0, 75

0

B

0, 50 = 0, 25

0, 50

0, 75

0, 75 0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

δ 2 (1) δ 2 (2)

δ 2 (3) = max [ δ 1 (1)

max [ δ 1 (1) max [ δ 1 (1)

=

=

a 11 1 (2) a 21 1 (3) a 31 ] b 1 ( v 1 ) = a 12 1 (2) a 22 1 (3) a 32 ] b 2 ( v 1 ) =

(0 , 25) (0 , 50) 2 (0, 75) (0 , 25) 2 (0, 50) (0 , 75)

a 13 1 (2) a 23 1 (3) a 33 ] b 3 ( v 1 ) = (0 , 25) (0 , 50) (0 , 75) 2

ψ 2 (1) = 3 ψ 2 (2) = 3 ψ 2 (3) = 2

75) 2 ψ 2 (1) = 3 ψ 2 (2) = 3 ψ 2 (3) =

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

0, 50

0, 75

0

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

max [ δ 2 (1) max [ δ 2 (1)

δ 3 (3) = max [ δ 2 (1)

δ 3 (1) δ 3 (2)

=

=

a 11 2 (2) a 21 2 (3) a 31 ] b 1 ( v 1 ) = a 12 2 (2) a 22 2 (3) a 32 ] b 2 ( v 1 ) =

(0 , 25) (0 , 50) 3 (0, 75) 2 (0 , 25) 2 (0, 50) 2 (0, 75) 2

a 13 2 (2) a 23 2 (3) a 33 ] b 3 ( v 1 ) = (0 , 25) (0 , 50) 3 (0, 75) 2

ψ 3 (1) ψ 3 (2)

ψ 3 (3) = 1

= 3

= 3

75) 2 ψ 3 (1) ψ 3 (2) ψ 3 (3) = 1 = 3 =

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

0, 50

0, 75

0

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

max [ δ 3 (1) max [ δ 3 (1)

δ 4 (3) = max [ δ 3 (1)

δ 4 (1) δ 4 (2)

=

=

a 11 3 (2) a 21 3 (3) a 31 ] b 1 ( v 1 ) = a 12 3 (2) a 22 3 (3) a 32 ] b 2 ( v 1 ) =

(0 , 25) (0 , 50) 5 (0, 75) 2 (0 , 25) 2 (0, 50) 4 (0, 75) 2

a 13 3 (2) a 23 3 (3) a 33 ] b 3 ( v 1 ) = (0 , 25) (0 , 50) 4 (0, 75) 3

ψ 4 (1) ψ 4 (2)

ψ 4 (3) = 1

= 3

= 3

75) 3 ψ 4 (1) ψ 4 (2) ψ 4 (3) = 1 = 3 =

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

0, 50

0, 75

0

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

max [ δ 4 (1) max [ δ 4 (1)

δ 5 (3) = max [ δ 4 (1)

δ 5 (1) δ 5 (2)

=

=

a 11 4 (2) a 21 4 (3) a 31 ] b 1 ( v 2 ) = a 12 4 (2) a 22 4 (3) a 32 ] b 2 ( v 2 ) =

(0 , 25) (0 , 50) 6 (0, 75) 3 (0 , 25) (0 , 50) 5 (0, 75) 4

a 13 4 (2) a 23 4 (3) a 33 ] b 3 ( v 2 ) = (0 , 25) 2 (0, 50) 6 (0, 75) 2

ψ 5 (1) ψ 5 (2)

ψ 5 (3) = 1

= 3

= 3

75) 2 ψ 5 (1) ψ 5 (2) ψ 5 (3) = 1 = 3 =

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

0, 50

0, 75

0

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

max [ δ 5 (1) max [ δ 5 (1)

δ 6 (3) = max [ δ 5 (1)

δ 6 (1) δ 6 (2)

=

=

a 11 5 (2) a 21 5 (3) a 31 ] b 1 ( v 2 ) = a 12 5 (2) a 22 5 (3) a 32 ] b 2 ( v 2 ) =

(0 , 25) 2 (0, 50) 7 (0, 75) 3 (0 , 25) 2 (0, 50) 5 (0, 75) 5

50) 5 (0, 75) 5

a 13 5 (2) a 23 5 (3) a 33 ] b 3 ( v 2 ) = (0 , 25) 2 (0,

ψ 6 (1) ψ 6 (2)

ψ 6 (3) = 2

= 2

= 1

(0 , ψ 6 (1) ψ 6 (2) ψ 6 (3) = 2 = 2 =

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q = {1, 2, 3}, V = {v 1 , v 2 },

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

0, 50

0, 75

0

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

max [ δ 6 (1) max [ δ 6 (1)

δ 7 (3) = max [ δ 6 (1)

δ 7 (1) δ 7 (2)

=

=

a 11 6 (2) a 21 6 (3) a 31 ] b 1 ( v 1 ) = a 12 6 (2) a 22 6 (3) a 32 ] b 2 ( v 1 ) =

(0 , 25) 2 (0, 50) 7 (0, 75) 5 (0 , 25) 3 (0, 50) 6 (0, 75) 5

50) 5 (0, 75) 7

a 13 6 (2) a 23 6 (3) a 33 ] b 3 ( v 1 ) = (0 , 25) 2 (0,

ψ 7 (1) ψ 7 (2)

ψ 7 (3) = 2

= 3

= 3

(0 , ψ 7 (1) ψ 7 (2) ψ 7 (3) = 2 = 3 =

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Ejemplo de funcionamiento del algoritmo de Viterbi

Dado el modelo µ = (π, A, B ) con

Q

π =

0, 25

0, 50

0, 25

A =

0, 25

0

0, 50

0, 25

0, 25

0, 50

= {1, 2, 3},

0, 50

0, 75

0

V = {v 1 , v 2 },

B =

0, 50

0, 25

0, 75

0, 50

0, 75

0, 25

los c´alculos para encontrar la secuencia de estados m´as probable dada la observaci´on O = (v 1 , v 1 , v 1 , v 1 , v 2 , v 2 , v 1 , v 2 ) de longitud T = 8 son

δ 8 (1) δ 8 (2) δ 8 (3)

=

max [ δ 7 (1) max [ δ 7 (1)

a 11 7 (2) a 21 7 (3) a 31 ] b 1 ( v 2 ) =

(0 , 25) 2 (0, 50) 7 (0, 75) 7 (0 , 25) 2 (0, 50) 6 (0, 75) 8

ψ 8 (1) ψ 8 (2)

= 3

=

a 12 7 (2) a 22 7 (3) a 32 ] b 2 ( v 2 ) =

= 3

= max [ δ 7 (1)

a 13 7 (2) a 23 7 (3) a 33 ] b 3 ( v 2 ) = (0 , 25) 3 (0,

50) 8 (0, 75) 5

ψ 8 (3) = 1

q

S

8

= 2 y al reconstruir hacia atr´as la secuencia de estados obtenemos

= (2, 3, 1, 3, 2, 2, 3, 2)

estados obtenemos = (2 , 3 , 1 , 3 , 2 , 2 , 3

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

El algoritmo de Viterbi aplicado a la etiquetaci´on

palabra 1 palabra 2 palabra 3 palabra T preposición adjetivo adjetivo numeral etiqueta 0 etiqueta
palabra 1
palabra 2
palabra 3
palabra T
preposición
adjetivo
adjetivo
numeral
etiqueta 0
etiqueta 0
sustantivo
preposición
adverbio
pronombre
sustantivo
verbo
sustantivo
verbo
adverbio pronombre sustantivo verbo sustantivo verbo Miguel A. Alonso, Jorge Gra˜na, Jes´us Vilares

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Viterbi para HMM de orden 2 (trigramas)

Inicializaci´on:

δ 1 (i ) = π i b i (o 1 ),

1 i N .

δ 2 (i , j ) = δ 1 (i ) a ij b j (o 2 ),

Recurrencia:

1 i , j N .

δ t +1 (j , k ) = max N δ t (i , j ) a ijk b k (o t +1 ), t = 2, 3,

1i

, T 1,

1 j , k

ψ t +1 (j , k ) = arg max N δ t (i , j ) a ijk , t = 2, 3,

1i

,

T 1, 1 j , k N .

Terminaci´on:

(q

T

1 , q

T ) = arg max N δ T (j , k ).

1j,k

Construcci´on hacia atr´as de la secuencia de estados:

q

t

= ψ t +2 (q

t +1 , q t +2 ),

t = T − 2, T − 3, , 1.
t = T − 2, T − 3,
,
1.

C´alculo de la secuencia de estados m´as probable

Algoritmo de Viterbi

Algoritmo de Viterbi con logaritmos y sumas

˜

Preproceso: π˜ i = log (π i ), ˜a ij = log (a ij ), b i (o t ) = log [b i (o t )]

Inicializaci´on:

˜

δ 1 (i ) = log [δ 1 (i )] = π˜ i + b i (o 1 ),

˜

1 i