Story Transcript
´ Aprendizaje y Percepcion ´ Facultad de Informatica ´ Universidad Politecnica de Valencia
Tema 8: ´ ´ Metodos Sintactico/Estructurales: Modelos de Markov Alfons Juan, Enrique Vidal, Roberto Paredes, Jorge Civera
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´Indice ◦ 1 Introduccion: .2 ´ ejemplos de modelado sintactico ´ .6 ´ ´ ´ 2 Gramaticas, automatas y lenguajes estocasticos ´ sintactico-estad´ ´ 3 Clasificacion ıstica . 12 4 Modelos de Markov . 17 5 Algoritmo de Viterbi . 28 ´ de 6 Aprendizaje: estimacion probabilidades en modelos de Markov . 33
DSIC – UPV: Enero, 2013
´ Pagina 8.1
APP-Tema8
Modelos de Markov
Secuencias de trazos y su modelado gramatical MODELADO SINTÁCTICO DEL TRAZADO DE UN "3"
2
3 4
S D1 H1 D2 H2 V1 H3 D3
H1
1
D1
D2
0
H2 V1
5
0
"1"
D3
7
6
H3
"0"
"0"
"5" "5"
1
--> D1 H1 D2 H2 V1 H3 D3 --> "1" | λ --> "0" | "0" H1 --> "5" | "5" D2 --> "0" | "0" H2 --> "6" | "6" V1 --> "4" | "4" H3 λ --> "3" |
"0" "0"
2
"4"
"6" "6"
3
"4"
4
"3"
5
6
"0" tres.gr
Trazados de treses generados por la gramática "tres.gr"
´ Pagina 8.2
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ Modelado sintactico de pronunciaciones de palabras aisladas Ejemplos de pronunciaciones de la palabra “ocho”, ´ representadas mediante cadenas acustico-fon eticas ´ TTTTTTOOEIOTTECEEOOOOTTTTTT TTTTTOOOEITTTECCEEOOOTTTTT TTTTTOOOETTTSCEOOOOTTTTTT TTTTTTOOOIOTTTCCEOOOOTTTTTT TTTTTTOOEIOTTSCCEOOOOTTTTTT TTTTTOOOEIETTECCIEOOOOTTTTTT TTTTTOOEOTTTCCIEOOOOTTTTTT TTTTTTOOOETTTECCEIEOOTTTTT TTTTTOOOEOTTSCCIEEOOTTTTTT TTTTTTOOOEOTTSCSCCIEEOOOTTTTTT TTTTTOOOEOTTECSCCEIOOOOTTTTT ......
E O
E E T
O
O
E E
~
T
T
T
T
T
O
C E
O
T
T
O
O
E
S O
O I
E
C
T
T
T
T
T
T
@
E
C
´ Automata finito aprendido a partir de los ejemplos DSIC – UPV: Enero, 2013
´ Pagina 8.3
APP-Tema8
Modelos de Markov
´ ´ Modelado sintactico de cadenas de Codigos de Contorno ´ Ejemplos de “ceros” codificados en cadenas de codigos de 8-direcciones 2
3
1
4
0
5
7
6
. . . . .
punto inicial (dirección antihoraria)
´ Un automata finito aprendido a partir de estos ejemplos (los dos estilos abierto/cerrado de trazado de “ceros” han quedado representados) 1 3 3
3 3 4 0
4
2
3
2
2
1
2 2
1 3
2
0
3
1
3 2
2
2
1
3
~
0
2
2
3
2
3
2
1
2
1
7
6
7
6
1
2
4
3
4
6
0
6
6
5
4
6
0
6
6
6
6
5
6
6
6 7
4
6
6
5
3
4
6
6
6
6
0 0
7
7
1
7
6
4
0
7
5
0
7
6
4
7
6 7
6
0
6
0
7
6 5
5
3 2
1 1
6
3
6 0
1
@
6
6 5
2
7 7
7
1 0
3
4
2 2
3
0
5 4
4
3
2 2
0
1
3
2
2
0
3
2 2
3
2
3
3
1
1
2
3
7
5 6
0
6 6
1
´ Pagina 8.4
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ Modelado sintactico de cromosomas Algunos ejemplos de cadenas de primitivas extraidas ´ de imagenes de cromosomas humanos de la clase 19 A=====Aa===E=XX==e===Aa=A===a=a A=A=a=Aa=====EXX==e===A=a=Aa=a A=A=a=====E=XX==e======A==a=a A=A=a====EXX==e===A==a==Aa=a A=A===Aa===D=XX==e========A=a=a B=a==Aa===EXX==e====A=a==A==a=a A=Aa=Aa==E=XX===e=====A==a=a . . . . . e
E
a a
=
B
E
=
=
B
D
=
D
E
~ A
=
=
A
= =
=
B
=
=
a
=
=
E
D
X
E
c =
E
=
=
b A
= e
D A
=
a
d
= X
A
A a
E A
A
b
A
a =
b
=
=
=
A
a
a
=
a
a
A
=
= =
=
=
=
b
=
=
a
@
= b
b
a A
A
a
´ Un automata finito aprendido a partir de estos ejemplos
DSIC – UPV: Enero, 2013
´ Pagina 8.5
APP-Tema8
Modelos de Markov
´Indice .2 ´ ejemplos de modelado sintactico ´ 1 Introduccion: ◦ 2 Gramaticas, .6 ´ ´ ´ automatas y lenguajes estocasticos ´ sintactico-estad´ ´ 3 Clasificacion ıstica . 12 4 Modelos de Markov . 17 5 Algoritmo de Viterbi . 28 ´ de 6 Aprendizaje: estimacion probabilidades en modelos de Markov . 33
´ Pagina 8.6
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ Gramaticas Monoide Libre Σ∗: Dado un conjunto finito Σ, Σ+ es el conjunto de ´ todas las cadenas de longitud finita formadas por elementos de Σ. Ademas, ∗ + Σ = Σ ∪ {λ} (la cadena vacia). ´ Gramatica: G = (N, Σ, R, S) • N : Conjunto finito de No-Terminales
• Σ: Conjunto finito de Terminales o Primitivas
• S ∈ N : S´ımbolo No-Terminal inicial o .Axioma”
• R ⊂ (N ∪ Σ)∗N (N ∪ Σ)∗ × (N ∪ Σ)∗: conjunto de Reglas. A regla se escribe como: α → β,
α ∈ (N ∪ Σ)∗N (N ∪ Σ)∗, β ∈ (N ∪ Σ)∗
Si varias reglas comparten su parte izquierda, pueden abreviarse como: α → β1 | β2 | · · ·
DSIC – UPV: Enero, 2013
´ Pagina 8.7
APP-Tema8
Modelos de Markov
´ Gramaticas y lenguajes ´ Elemental : =⇒: Derivacion G
sii ∃(α → β) ∈ R, µ, δ ∈ (N ∪ Σ)∗
µ α δ =⇒ µ β δ G
∗
´ =⇒: Derivacion G
´ d puede Es una secuencia finita de derivaciones elementales. Una derivacion escribirse como la secuencia correspondiente de reglas de G. ∗
El conjunto de derivaciones de y ∈ Σ∗ (tales que S =⇒ y) se denota como DG(y). G
´ Una gramatica G es ambigua si ∃y ∈ Σ tal que |DG(y)| > 1 ∗
´ Lenguaje generado por una gramatica G, L(G): ∗
L(G) = { y ∈ Σ∗ | S =⇒ y } G
´ Pagina 8.8
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ Tipos de gramaticas y lenguajes J ERARQU´I A DE C HOMSKY PARA LENGUAJES RECURSIVOS 0: No-restringidos 1: Contextuales α→β,
|α| ≤ |β|
2: Incontextuales B→β,
B∈N
3: Regulares o de “Estados-Finitos” A → aB o A → a ,
DSIC – UPV: Enero, 2013
A, B ∈ N, a ∈ Σ ∪ {λ}
´ Pagina 8.9
APP-Tema8
Modelos de Markov
´ ´ Gramaticas regulares y automatas finitos ´ Gramaticas Regulares: G = (N, Σ, R, S), Reglas de R de la forma: A → aB ∨ A → a, A, B ∈ N, a ∈ Σ ´ Automatas Finitos: A = (Q, Σ, δ, q0, F ),
q0 ∈ Q, F ⊆ Q, δ : Q × Σ → 2Q
´ ´ Equivalencia: Para cada Gramatica Regular existe un Automatas Finito que reconoce el mismo lenguaje. (¡Ojo: la inversa no es siempre cierta en el caso de ´ lenguajes estocasticos!). Ejemplo: G = (N, Σ, R, S); Σ = {a, b}; N = {S, A1, A2}; R = { S → aA1 | bA2 | b, A1 → aA1 | bA2 | b, A2 → bA2 | b}
0 a
b b 1
A = {Q, Σ, δ, q0, F }; Q = {0, 1, 2}, Σ = {a, b}, q0 = 0, F = {2}
2 b
a
L(G) = {b, ab, bb, aab, abb, bbb, . . . , aaabbbb, . . .} = L(A) ´ Pagina 8.10
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ ´ ´ Gramaticas y automatas estocasticos ´ ´ ´ Una Gramatica Estocastica G0 es una gramatica G con probabilidades asociadas a sus reglas: G0 = (G, p),
G = (N, Σ, R, S), p : R → [0, 1]
´ Una gramatica incontextual (o regular ) es propia si: X ∀A ∈ N p(A → β) = 1 A→β∈R
Probabilidad de una cadena y generada por G0: X ∀y ∈ Σ∗ p(y|G0) = p(d), p(d) = d∈DG (y)
Y
(A→β)∈d
p(A → β)
´ ´ Una gramatica Estocastica G0 es consistente si: X p(y|G0) = 1 y∈Σ∗
DSIC – UPV: Enero, 2013
´ Pagina 8.11
APP-Tema8
Modelos de Markov
´Indice .2 ´ ejemplos de modelado sintactico ´ 1 Introduccion: .6 ´ ´ ´ 2 Gramaticas, automatas y lenguajes estocasticos ◦ 3 Clasificacion ´ sintactico-estad´ ´ ıstica . 12 4 Modelos de Markov . 17 5 Algoritmo de Viterbi . 28 ´ de 6 Aprendizaje: estimacion probabilidades en modelos de Markov . 33
´ Pagina 8.12
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ sintactico-estad´ ´ Clasificacion ıstica Suponemos C clases de objetos, representados como cadenas de Σ+. ´ estad´ıstica en el caso vectorial: Planteamiento similar al de la clasificacion Probabilidad a priori de una clase c: P (c), 1 ≤ c ≤ C ´ de probabilProbabilidad condicional de la clase c: P (y | Gc), funcion ´ de las cadenas de c en Σ∗. idad que modela la distribucion Probabilidad a posteriori de la clase c: P (c | y) P (c | y) =
P (y | Gc)P (c) P (y)
donde P (y) =
C X
c0 =1
P (y | Gc0 )P (c0)
´ Regla de clasificacion: Una cadena y ∈ Σ+ se asigna a la clase cˆ: cˆ = argmax P (c | y) 1≤c≤C
DSIC – UPV: Enero, 2013
´ Pagina 8.13
APP-Tema8
Modelos de Markov
Aprendizaje ´ de las reglas o “topolog´ıa” : Determinacion ´ “Manual”: topolog´ıa ergodica, izquierda-derecha, etc. ⇒ Modelos de Markov ´ Automatica: Inferencia Gramatical ´ Aprendizaje de las probabilidades: estimacion
´ Pagina 8.14
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ de las probabilidades de modelos sintacticos ´ Estimacion ´ Gramaticas incontextuales (o Regulares) No-ambiguas G0: ´ por maxima ´ Estimacion verosimilitud a partir de las frecuencias de ´ uso de las reglas en el analisis de una secuencia de cadenas de entrenamiento supuestamente generadas por G0. Estas estimaciones se aproximan a las verdaderas probabilidades cuando el numero de cadenas de entrenamiento → ∞. ´ ´ Gramaticas Regulares ambiguas y/o modelos de Markov: ´ localmente optima ´ ´ por Viterbi” Estimacion mediante “reestimacion o, mejor, mediante el algoritmo “Backward-Forward”
DSIC – UPV: Enero, 2013
´ Pagina 8.15
APP-Tema8
Modelos de Markov
´ PAGINA INTENCIONADAMENTE EN BLANCO
´ Pagina 8.16
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´Indice .2 ´ ejemplos de modelado sintactico ´ 1 Introduccion: .6 ´ ´ ´ 2 Gramaticas, automatas y lenguajes estocasticos ´ sintactico-estad´ ´ 3 Clasificacion ıstica . 12 ◦ 4 Modelos de Markov . 17 5 Algoritmo de Viterbi . 28 ´ de 6 Aprendizaje: estimacion probabilidades en modelos de Markov . 33
DSIC – UPV: Enero, 2013
´ Pagina 8.17
APP-Tema8
Modelos de Markov
Modelos de Markov Un modelo de Markov es una qu´ıntupla M = (Q, Σ, π, A, B) donde: Q es un conjunto de estados • En cada instante t = 1, 2, . . . , M esta´ en uno de sus estados, denotado qt • Q incluye un estado final F Σ es un conjunto de s´ımbolos “observables” En cada instante t = 1, 2, . . . , M emite un s´ımbolo, que se denota con yt π ∈ RQ es un vector de probabilidades iniciales: M elije q1 segun ´ π ´ (entre estados): A ∈ RQ×Q es una matriz de probabilidades de transicion ´ M elije qt+1 basandose en qt y A: Aq,q0 = P (qt+1 = q 0|qt = q, A) ´ (de s´ımbolos): B ∈ RQ×Σ es una matriz de probabilidades de emision ´ M elije yt basandose en qt y B: Bq,σ = P (yt = σ | qt = q, B)
´ Pagina 8.18
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
Modelos de Markov (cont.) ´ para π, A, B: Condiciones de normalizacion Probabilidad de estado inicial: P 0 ≤ πq ≤ 1, q∈Q πq = 1, πF = 0
´ entre estados: Probabilidades de Transicion P 0 ≤ Aq,q0 ≤ 1, q 0 ∈Q Aq,q 0 = 1, AF,q = 0 ´ de observables: Probabilidades de emision P 0 ≤ Bq,σ ≤ 1, σ∈Σ Bq,σ = 1, BF,σ = 0
DSIC – UPV: Enero, 2013
´ Pagina 8.19
APP-Tema8
Modelos de Markov
Modelos de Markov: ejemplo Σ = {a,b,c};
Q={1,2,3,F};
p(q’|q) A(q,q’)
π 1 = 1;
1 2 3 F 1 0.2 0.5 0.3 0.0 2 0.1 0.0 0.9 0.0 3 0.0 0.0 0.4 0.6
π 2 = π 3 = πF = 0
a b c 1 0.0 0.3 0.7 2 0.3 0.6 0.1 3 1.0 0.0 0.0
p(σ |q) B(q,σ )
Representación Gráfica Equivalente: 0.0 0.3 0.7 Inic
1
1 0.2
0.1
0.3 0.6 0.1
0.5
2
1.0 0.0 0.0 0.9
0.3
3
0.6
F
0.4 ´ Pagina 8.20
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
Proceso Markoviano generador de cadenas Sea M = (Q, Σ, π, A, B) un modelo de Markov con estado final qF 1. Elegir un estado inicial q ∈ Q segun ´ P (q) ≡ πq
´ σ ∈ Σ segun 2. Seleccionar una observacion ´ P (σ|q) ≡ Bq,σ ; emitir σ
3. Elegir un estado siguiente q 0 ∈ Q segun ´ P (q 0|q) ≡ Aq,q0
4. Si q = qF terminar ; sino, ir a paso 2 Sean:
y = y1, y2, . . . , ym ∈ Σ+: secuencia de observaciones producida por M z = q1, q2, qm, . . . , qF ∈ Q+: secuencia de estados que genera a y La probabilidad de que M produzca y mediante z es: P (y, z) = P (z) · P (y | z) = P (q1) DSIC – UPV: Enero, 2013
m Y
t=2
P (qt | qt−1) P (qF | qm) ·
m Y
t=1
P (yt | qt) ´ Pagina 8.21
APP-Tema8
Modelos de Markov
Probabilidad de generar una cadena con un modelo de Markov Probabilidad de que M genere la cadena y = y1 . . . ym ∈ Σ+: P (y | M ) = =
X
P (q1)
q1 ,...,qm ∈Q+
=
X
m Y
t=2
Se cumple:
P (y, z)
z∈Q+
P (qt | qt−1) P (qF | qm) ·
πq1 Bq1,y1
q1 ,...,qm ∈Q+
X
m Y
Aqt−1,qt Bqt,yt
t=2
0 ≤ P (y|M ) ≤ 1,
X
m Y
t=1
!
P (yt | qt)
Aqm,qF
P (y|M ) = 1
y∈Σ+
´ Pagina 8.22
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
Probabilidades calculadas con el modelo del ejemplo P (cba|M ) = (π1 · B1,c) (A1,2 · B2,b) (A2,3 · B3,a) A3,F + (π1 · B1,c) (A1,1 · B1,b) (A1,3 · B3,a) A3,F = (1 · 0.7) (0.5 · 0.6) (0.9 · 1) 0.6 + (1 · 0.7) (0.2 · 0.3) (0.3 · 1) 0.6
= 0.1134 + 0.00756 ≈ 0.12
P (bcbaa|M ) = P (y, z1) + P (y, z2) + P (y, z3) + P (y, z4) + P (y, z5) y= z1 = P (y, z1) = z2 = P (y, z2) = z3 = P (y, z3) = z4 = P (y, z4) = z5 = P (y, z5) =
b 1 (1 · 0.3) 1 (1 · 0.3) 1 (1 · 0.3) 1 (1 · 0.3) 1 (1 · 0.3)
c 1 (0.2 · 0.7) 1 (0.2 · 0.7) 1 (0.2 · 0.7) 2 (0.5 · 0.1) 2 (0.5 · 0.1)
b a 1 2 (0.2 · 0.3) (0.5 · 0.3) 1 3 (0.2 · 0.3) (0.3 · 1) 2 3 (0.5 · 0.6) (0.9 · 1) 1 2 (0.1 · 0.3) (0.5 · 0.3) 1 3 (0.1 · 0.3) (0.3 · 1)
a 3 (0.9 · 1) 3 (0.4 · 1) 3 (0.4 · 1) 3 (0.9 · 1) 3 (0.4 · 1)
F 0.6 F 0.6 F 0.6 F 0.6 F 0.6
= 0.000204 = 0.000181 = 0.002722 = 0.000036 = 0.000032
P (y|M ) = 0.003175 DSIC – UPV: Enero, 2013
´ Pagina 8.23
APP-Tema8
Modelos de Markov
Equivalencia entre modelos de Markov y ´ ´ gramaticas regulares estocasticas ´ ´ Dado un modelo de Markov M , existe una gramatica regular estocastica G tal que P (y|M ) = P (y|G) ∀y ∈ Σ∗ ´ ´ Se demuestra facilmente por construccion.
´ ´ Dada una gramatica regular estocastica G, existe un modelo de Markov M tal que P (y|M ) = P (y|G) ∀y ∈ Σ∗ (salvo casos degenerados) ´ (algo mas ´ compleja que la anterior). Se demuestra por construccion
´ Pagina 8.24
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
Equivalencia entre modelos de Markov ´ ´ y gramaticas estocasticas 0.0 0.3 0.7 1
Inic
1
0.1 0.5
c,0.07
b,0.3 c,0.7 b,0.06 0.3: S -> bX 0.7: S -> cX
DSIC – UPV: Enero, 2013
2
a,0.15
X
1.0 0.0 0.0 0.9
0.3
0.2
S
0.3 0.6 0.1
b,0.3
c,0.14 0.06: X -> bX 0.14: X -> cX 0.15: X -> aY 0.30: X -> bY 0.05: X -> cY 0.30: X -> aZ
3
0.6
F
0.4 b,0.03
Y
a,0.9
Z
λ, 0.6
c,0.05 a,0.3 0.90: Y -> aZ 0.03: Y -> bX 0.07: Y -> cX
a,0.4 0.4: Z -> aZ 0.6: Z -> λ
´ Pagina 8.25
APP-Tema8
Modelos de Markov
Estructura o “topolog´ıa” de un modelo de Markov La Topolog´ıa de un Modelo de Markov: es la forma del grafo subyacente. ´ de ceros) de Viene determinada por la estructura (numero y ubicacion ´ ´ entre estados A. Topolog´ıas mas ´ comunes: la matriz de transicion ´ Ergodica: grafo completo, no hay ceros en A. Izquierda-derecha: el grafo es dirigido y ac´ıclico (DAG), aunque pueden haber bucles individuales en los estados. A es triangular. Lineal: el grafo es un DAG (con posibles bucles en estados) restringi´ ´ do en el que las transiciones que salen del estado i−esimo solo pueden alcanzar a los estados i + 1, . . . , i + k. Los elemetos no nulos ´ en k + 1 diagonales adyacentes. Estas transiciones se de A estan denominan “saltos” o “skips”. ´ de estados, Estrictamente Lineal: el grafo es una concatenacion ´ (con posibles bucles en estados). Los elemetos no nulos de A estan en dos diagonales adyacentes.
´ Pagina 8.26
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
Ejemplos de topolog´ıas de modelos de Markov 2
´ Ergodica
1
3
3
Izquierda-Derecha
2
5
1 4
Lineal
1
2
3
4
5
Estrictamente Lineal
1
2
3
4
5
DSIC – UPV: Enero, 2013
´ Pagina 8.27
APP-Tema8
Modelos de Markov
´Indice .2 ´ ejemplos de modelado sintactico ´ 1 Introduccion: .6 ´ ´ ´ 2 Gramaticas, automatas y lenguajes estocasticos ´ sintactico-estad´ ´ 3 Clasificacion ıstica . 12 4 Modelos de Markov . 17 ◦ 5 Algoritmo de Viterbi . 28 ´ de 6 Aprendizaje: estimacion probabilidades en modelos de Markov . 33
´ Pagina 8.28
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ de Viterbi a P (y | M ) Aproximacion Dado un modelo de Markov M = (Q, Σ, π, A, B) con estado final F , y una cadena y = y1 · · · ym ∈ Σ+, la probabilidad de que M genere y es: X X P (y | M ) = P (y, z) = P (y, q1, . . . , qm) z∈Q+
q1 ,...,qm ∈Q+
´ a P (y | M ) es la llamada aproximacion ´ de Viterbi: Una aproximacion P˜ (y | M ) =
max
q1 ,...,qm ∈Q+
P (y, q1, . . . , qm)
´ probable es: La correspondiente secuencia de estados mas q˜ = (˜ q1, . . . , q˜m) = argmax P (y, q1, . . . , qm) q1 ,...,qm ∈Q+
DSIC – UPV: Enero, 2013
´ Pagina 8.29
APP-Tema8
Modelos de Markov
Algoritmo de Viterbi ´ Definimos V (q, t) como la probabilidad maxima de que un modelo de Markov M alcance el estado q en el instante t, emitiendo el prefijo y1 . . . yt : V (q, t) = qmax P (y1 · · · yt, q1, . . . , qt) ,...,q 1
qt =q
t
V (q, t) puede calcularse recursivamente: V (q, t) = q ,...,q max 1
t−1 ,qt 0
qt−1 =q qt =q
= max 0 q ∈Q
P (y1 · · · yt−1, q1, . . . , qt−1) · Aq0,q Bq,yt
max P (y1 · · · yt−1, q1, . . . , qt−1) · Aq0,q Bq,yt
q1 ,...,qt−1 qt−1 =q 0
= max V (q 0, t − 1) · Aq0,q Bq,yt 0 q ∈Q
En general:
V (q, t) =
πq Bq,y
1
V (q , t − 1) Aq0,q Bq,yt max 0 q ∈Q
DSIC – UPV: Enero, 2013
0
APP-Tema8
si t = 1 si t > 1 ´ Pagina 8.30
Modelos de Markov
Algoritmo de Viterbi (cont.) ´ de Viterbi a P (y | M ): Aproximacion P˜ (y | M ) = max V (q, |y|) Aq,F q∈Q
´ V puede representarse como una matriz: Vq,t ≡ V (q, t). La funcion Esta matriz define un grafo multietapa denominado trellis y permite ´ ´ Dinamica. ´ el calculo iterativo eficiente de V (q, |y|) por Programacion ´ La correspondiente secuencia optima de estados, q˜, se calcula ´ recorriendo el trellis hacia atras.
DSIC – UPV: Enero, 2013
´ Pagina 8.31
APP-Tema8
Modelos de Markov
Algoritmo de Viterbi: ejemplo
x
c
.3
1
0.2·0.7
0.5 0.3 0.6 0.1
0.3 2
0.1
0.2·0.3
a
a
0
0 0
.0025
0
0.1·0.3
0
0
0.1·0.7 0.5·0.1
0.5·0.6
0 0.5·0.3
.015
.0126
.0004
0
0.9 3
.042
0
0.4 1.0 0.0 0.0
b
1·0.3
1
0.2
b
1
Inic
0.0 0.3 0.7
=
0
0
0.9·1 0.4·1
0 0.5·.3
0
0.3·1
0 0 0
0
0.3·1 0.9·1 0.4·1
.0113
.0045 0.6
0.6 F
.0027
´ Pagina 8.32
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´Indice .2 ´ ejemplos de modelado sintactico ´ 1 Introduccion: .6 ´ ´ ´ 2 Gramaticas, automatas y lenguajes estocasticos ´ sintactico-estad´ ´ 3 Clasificacion ıstica . 12 4 Modelos de Markov . 17 5 Algoritmo de Viterbi . 28 ◦ 6 Aprendizaje: estimacion ´ de
probabilidades en modelos de Markov . 33
DSIC – UPV: Enero, 2013
´ Pagina 8.33
APP-Tema8
Modelos de Markov
´ de probabilidades de un modelo de Markov: Estimacion criterio a optimizar ´ Problema basico: Estimar las probabilidades de un modelo de Markov, M , mediante una secuencia de cadenas de entrenamiento Y = {y1, . . . , yn} extraidas independientemente de acuerdo con la ley de probabilidad P (y|M ). Como las cadenas se han extra´ıdo independientemente: P (Y |M ) =
n Y
k=1
P (yk |M )
´ El estimador de maxima verosimilitud de M es: ˆ = argmax M M
n Y
k=1
P (yk |M ) ≈ argmax M
n Y
k=1
P˜ (yk |M )
´ Pagina 8.34
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ mediante el algoritmo de Viterbi Estimacion ´ Idea basica: Analizar todas las cadenas Y , contabilizando las frecuencias de uso de las transi´ de s´ımbolos en cada estado, etc. y normalizar ciones entre estados, de generacion adecuadamente. Problema: ´ ¿Como analizar las cadenas si no se conocen las probabilidades de del modelo? ´ Una posible solucion: 1. Inicializar las probabilidades “adecuadamente” 2. Analizar cada cadena de Y mediante el algoritmo de Viterbi y obtener la secuencia de estados correspondiente 3. A partir de esta secuencia de estados, contabilizar las frecuencias requeridas. 4. Normalizar las frecuencias para obtener nuevas probabilidades del modelo 5. Repetir pasos 2-4 hasta convergencia. DSIC – UPV: Enero, 2013
´ Pagina 8.35
APP-Tema8
Modelos de Markov
´ por Viterbi: ejemplo Re-estimacion Se dispone de tres cadenas de contorno de 4-direcciones que representan tres d´ıgitos “siete” manuscritos1. A partir de estas cadenas se desea re-estimar las probabilidades de un modelo de Markov para estos d´ıgitos. Utilizando el algoritmo de Viterbi se han obtenido las ´ siguientes secuencias optimas de estados para cada cadena:
1
Cadena: ´ Secuencia optima de estados:
aaaaaddcdcdcdcdccbabaabababccccb 11111222222222222333333333344444F
Cadena: ´ Secuencia optima de estados:
aaaaaddcdcdcdccdcbabababaabcccdcbb 1111122222222222233333333334444444F
Cadena: ´ Secuencia optima de estados:
aaaadcdcdcdcdcdcbababababccdccbaab 1111222222222222333333333444444444F
Para mayor claridad se representan los trazos horizontales como 0=a, 2=c y los verticales como 1=b, 3=d. ´ Pagina 8.36
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ por Viterbi (cont.) Ejemplo de re-estimacion π1 = 3/3 = 1 π2 = π3 = π4 = 0 A
1
2
3
4
F
1
4+4+3
1+1+1
0
0
0
⇒
A
1
2
3
4
F
1
11 14
3 14 33 36
0
0
0
0
0
3 29 18 21
0
3
0
0
9+9+8
1+1+1
0
3
0
0
3 36 26 29
4
0
0
0
4+6+8
1+1+1
4
0
0
0
2
0
11 + 11 + 11
B
a
1+1+1
b
0
c
0
d
a
b
c
d
1
14 14
0
0
0
2
0
0
18 36
18 36
14 29 2 21
15 29 5 21
0
0
12 21
2 21
5+5+4
0
0
0
2
0
0
6+6+6
6+6+6
3
5+5+4
5+5+5
0
0
3
4
0+0+2
1+2+2
4+4+4
0+1+1
4
DSIC – UPV: Enero, 2013
0
B
1
⇒
2
3 21
´ Pagina 8.37
APP-Tema8
Modelos de Markov
´ por Viterbi Algoritmo de reestimacion Input: M 0 = (Q0, Σ0, π 0, A0, B 0) Y = {y1, . . . , yn} Output: M = (Q, Σ, π, A, B)
/* Modelo inicial */ /* cadenas de entrenamiento */ /* Modelo optimizado */
M = M0 repeat M 0 = M ; π = 0; A = 0; B = 0 for k = 1 to n do m = |yk | /* secuencia de estados m´as probable para yk , */ q˜1, . . . , q˜m = argmaxq1,...,qm P (yk , q1, . . . , qm | M 0) /* por Viterbi */
πq˜1 ++; Bq˜1,yk,1 ++ /* actualizaci´on de contadores */ for t = 2 to m do Aq˜t−1,˜qt ++; Bq˜t,yk,t ++ done; Aq˜m,F ++ done P s = q∈Q πq forall q ∈ Q do /* normalizaci´on de contadores */ πq = πq /s P a = q0∈Q Aq,q0 ; forall q 0 ∈ Q do Aq,q0 = Aq,q0 /a P b = σ∈Σ Bq,σ ; forall σ ∈ Σ do Bq,σ = Bq,σ /b done until M = M 0 ´ Pagina 8.38
DSIC – UPV: Enero, 2013
APP-Tema8
Modelos de Markov
´ de la re-estimacion ´ por Viterbi Inicializacion Una idea elemental: Inicializar todas las probabilidades segun ´ distribuciones equiprobables. ´ Problema: Suele producir problemas de convergencia o convergencia a maximos locales inadecuados. Una idea util ´ para modelos lineales: Segmentar cada cadena de Y en tantos segmentos de (aproximadamente) la misma longitud como estados tenga el modelo de Markov. Asignar los s´ımbolos de cada segmento a su correspondiente estado ´ y transicion ´ Contabilizar las frecuencias de generacion Normalizar las frecuencias para obtener probabilidades iniciales requeridas
DSIC – UPV: Enero, 2013
´ Pagina 8.39
APP-Tema8
Modelos de Markov
´ por segmentacion ´ lineal: Ejemplo Inicializacion Obtener un modelo de Markov de N = 3 estados mediante ´ lineal a partir de las cadenas segmentacion y1 = aabbbcc
y2 = aaabbccc
Q = {1, 2, 3, F }
Σ = {a, b, c}
j t·N k aabbbcc : q= 1122233 | y | +1 π1 = 22 ,
aaabbccc 11222333
π2 = π3 = 0
A 1 2 3 F
B
a
b
2 4 4 6
0 0
1 2 3
2 4
0
0 0
c
0
0
1
2 6 3 5
0
2
4 4 1 6
5 6
0
2 5
3
0 0
5 5
DSIC – UPV: Enero, 2013
APP-Tema8
´ Pagina 8.40
Modelos de Markov
´ por segmentacion ´ lineal para reestimacion ´ por Viterbi Inicializacion Input: Y = {y1, . . . , yn}, N /* cadenas de entrenamiento, n´umero de estados */ Output: M = (Q, Σ, π, A, B) /* modelo */ Q = {1, 2, . . . , N, F }; Σ = {y ∈ yk ∈ Y } π = 0; A = 0; B = 0
/* estados y s´ımbolos */ /* inicializaci´on de contadores */
for k = 1 to n do q = 1; πq ++; Bq,yk,1 ++
/* actualizaci´on de contadores por */ /* alineamiento lineal de yk con los estados */ j k t 0 for t = 2 to |yk | do q = q; q = |y |+1 N + 1; Aq0,q ++; Bq,yk,t ++ done k Aq,F ++ done P s = q∈Q πq
forall q ∈ Q do /* normalizaci´on de contadores */ πq = π q / s P a = q0∈Q Aq,q0 ; forall q 0 ∈ Q do Aq,q0 = Aq,q0 / a P b = σ∈Σ Bq,σ ; forall σ ∈ Σ do Bq,σ = Bq,σ / b done DSIC – UPV: Enero, 2013
´ Pagina 8.41