Upload
jose-angel-chavez-figueroa
View
284
Download
0
Embed Size (px)
Citation preview
PLN hmm 1
Modelos ocultos de Markov (HMM)
• Introducción• Cálculo de la probabilidad de una observación• Algoritmo Forward• Algoritmo Backward• Algoritmo de Viterbi• Estimación de los parámetros del modelo:
• Algoritmo Baum-Welch (Forward-Backward)
nota: buena parte del material tomado de David Meir Blei (UCB)
PLN hmm 2
HMM 1
• Se trata de un modelo doblemente estocástico en el que el modelo del lenguaje corresponde a una máquina de estados finitos y el modelo de la comunicación es enteramente local (cada símbolo emitido depende sólo del estado en que se emite o de la transición que se efectúa).
• Un HMM puede implementarse mediante un FSA probabilístico de forma que las transiciones llevan asociada una probabilidad y la salida (asociada a los nodos) también.
PLN hmm 3
HMM 2
• En un HMM el pasado es independiente del futuro dado el presente.
• Los modelos simples de n-gram son casos particulares expresables en términos de HMM.
• Los parámetros del modelo (que debemos estimar) corresponden a las probabilidades de transición y de emisión.
PLN hmm 4
HMM 3
• 3 distribuciones de probabilidad:• probabilidad inicial: i probabilidad de estar inicialmente en
el estado i
• probabilidad de transición: aij probabilidad de, estando en el estado i, ir al estado j
• probabilidad de emisión: bi(k) probabilidad de, estando en el estado i, emitir el símbolo k.
PLN hmm 5
1
2
3
1.0
0.5
0.1
0.4
0.7
0.3
p(a) = 0.2 p(b) = 0.8
p(a) = 0.6 p(b) = 0.4
p(a) = 0.7 p(b) = 0.3
Ejemplo de modelo oculto de Markov
PLN hmm 6
• Modelo Gráfico (en el sentido probabilístico)• Los círculos denotan estados (correspondientes a
variables aleatorias)• Las flechas indican dependencias estadísticas
entre estados
HMM 4
PLN hmm 7
• Los círculos superiores denotan estados ocultos que sólo dependen de sus predecesores
HMM 5
PLN hmm 8
HMM 6
• Los círculos inferiores denotan estados visibles (observados)
• Los estados observados sólo dependen de su correspondiente estado oculto.
PLN hmm 9
HMM 7
• {S, K, • S : {s1…sN } valores de los estados ocultos
• K : {k1…kM } valores de las observaciones
SSS
KKK
S
K
S
K
PLN hmm 10
• {S, K, • probabilidades iniciales
• A = {aij} probabilidades de transición
• B = {bik} probabilidades de emisión
A
B
AAA
BB
SSS
KKK
S
K
S
K
HMM 8
PLN hmm 11
Algoritmos para tratar HMM
• Cálculo de la probabilidad de una observación (dado el modelo) con coste lineal.• Cálculo incremental de la probabilidad Fw
• Encontrar el camino mejor (el más probable) para una observación dada con coste lineal.
• Entrenamiento (estimación de los parámetros) del modelo a partir de un corpus => maximizar la probabilidad global del corpus.• Algoritmo Forward/Backward
• Cuando hablamos de observación nos referimos a una secuencia de observaciones
PLN hmm 12
)|(Calcular
),,( ,)...( 1
OP
BAooO T
oTo1 otot-1 ot+1
Dada una observación y un modelo, calcular la probabilidad de la observación
Decodificación 1
PLN hmm 14
Decodificación 3
TT oxoxox bbbXOP ...),|(2211
TT xxxxxxx aaaXP132211
...)|(
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
PLN hmm 15
Decodificación 4
)|(),|()|,( XPXOPXOP
TT oxoxox bbbXOP ...),|(2211
TT xxxxxxx aaaXP132211
...)|(
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
PLN hmm 16
Decodificación 5
)|(),|()|,( XPXOPXOP
TT oxoxox bbbXOP ...),|(2211
TT xxxxxxx aaaXP132211
...)|(
X
XPXOPOP )|(),|()|(
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
PLN hmm 17
111
1
111
1
1}...{
)|(
tttt
T
oxxx
T
txxoxx babOP
Decodificación 6
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
PLN hmm 18
)|,...()( 1 ixooPt tti
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
• Implementación eficiente usando programación dinámica• Idea: Mantener para cada estado i y tiempo t la
probabilidad de haber alcanzado el estado habiendo emitido la secuencia de observaciones hasta t
• Probabilidad forward:
Algoritmo Forward 1
PLN hmm 19
1
),( 11
joj b
jxoP
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
)1( :base Caso j
Algoritmo Forward 2
PLN hmm 20
)|(),...(
)()|()|...(
)()|...(
),...(
1111
11111
1111
111
jxoPjxooP
jxPjxoPjxooP
jxPjxooP
jxooP
tttt
ttttt
ttt
tt
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
)1( :recurrente Caso tj
Algoritmo Forward 3
PLN hmm 21
Nijoiji
ttttNi
tt
tttNi
ttt
ttNi
ttt
tbat
jxoPixjxPixooP
jxoPixPixjxooP
jxoPjxixooP
...1
111...1
1
11...1
11
11...1
11
1)(
)|()|(),...(
)|()()|,...(
)|(),,...(
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
Algoritmo Forward 4
PLN hmm 22
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
)|...()( ixooPt tTti
1)1( Ti
Nj
jioiji tbatt
...1
)1()(
Probabilidad de completar la emisión desde un estado
Algoritmo Backward 1
PLN hmm 23
oTo1 otot-1 ot+1
x1 xt+1 xTxtxt-1
N
ii TOP
1
)()|(
N
iiiOP
1
)1()|(
)()()|(1
ttOP i
N
ii
Forward Procedure
Backward Procedure
Combination
Decodificación 7
PLN hmm 24
oTo1 otot-1 ot+1
• Encontrar la secuencia de estados que explique mejor las observaciones
• Algoritmo de Viterbi
)|(maxarg OXPX
Viterbi 1
PLN hmm 25
oTo1 otot-1 ot+1
),,...,...(max)( 1111... 11
ttttxx
j ojxooxxPtt
Secuencia de estados que maximiza la probabilidad de ver las observaciones hasta el instante t-1, estando en el estado j y emitiendo la observación del instante t
x1 xt-1 j
Viterbi 2
PLN hmm 26
oTo1 otot-1 ot+1
),,...,...(max)( 1111... 11
ttttxx
j ojxooxxPtt
1)(max)1(
tjoijii
j batt
1)(maxarg)1(
tjoijii
j batt CálculoRecursivo
x1 xt-1 xt xt+1
Viterbi 3
PLN hmm 27
oTo1 otot-1 ot+1
)(maxargˆ TX ii
T
)1(ˆ1
^
tXtX
t
)(maxarg)ˆ( TXP ii
Cálculo de la secuencia más verosimil de forma backward
x1 xt-1 xt xt+1 xT
Viterbi 4
PLN hmm 28
oTo1 otot-1 ot+1
• Dada una secuencia de observaciones encontrar el modelo (= {,A,B}) que maximice la probabilidad de emitir la observación
• No existe método analítico para hacerlo
A
B
AAA
BBB B
Estimación de los parámetros 1
PLN hmm 29
• Baum-Welch (Forward-Backward)• Caso particular de la familia de algoritmos de
Expectation Maximization (EM)• Método iterativo de tipo hill-climbing
Estimación de los parámetros 2
)|(maxarg trainingOP
PLN hmm 30
• Algoritmo EM• Se ignoran (algunos de) los parámetros del modelo• No se conoce la Estructura oculta• Se dispone de una serie de observaciones• Dos etapas
• Expectation• Maximization
Estimación de los parámetros 3
PLN hmm 31
Estimación de los parámetros 4
Parámetrosdel modelo
(probabilidades)
Estructura oculta
Observaciones
E step: a partir de los parámetros actuales se recupera laestructura oculta
M step: a partir de las observaciones y de laestructura oculta se recalculan los parámetros
PLN hmm 32
Estimación de los parámetros 5
• Baum-Welch (Forward-Backward)• Comenzar con un modelo = {,A,B} inicial
• Cálculo de valores esperados del uso de las transiciones/emisiones
• Reestimar las probabilidades (el modelo) de acuerdo al modelo
• Repetir hasta lograr la convergencia
PLN hmm 33
oTo1 otot-1 ot+1
A
B
AAA
BBB B
Nmmm
jjoijit tt
tbatjip t
...1
)()(
)1()(),( 1
Probabilidad de
atravesar un arco (i,j)
Nj
ti jipt...1
),()( Probabilidad de estar en el estado i
Estimación de los parámetros 6
PLN hmm 34
oTo1 otot-1 ot+1
A
B
AAA
BBB B
)1(ˆ i i
T
t i
T
t tij
t
jipa
1
1
)(
),(ˆ
T
t i
kot t
ikt
ib t
1
}:{
)(
)(ˆ
Estimación de los parámetros 7
Reestimación de los parámetros del modelo