Clase 13 - Pedeciba

Anuncio
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Maestrı́a en Bioinformática
Probabilidad y Estadı́stica: Clase 13
Gustavo Guerberoff
[email protected]
Facultad de Ingenierı́a
Universidad de la República
Mayo de 2010
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Contenidos
1
Hidden Markov Models (HMM): Continuación
Algoritmo de Viterbi
1
Estimación de parámetros en HMM
Método de Baum-Welch
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Hidden Markov Models (HMM)
Un HMM queda especificado por:
Una cadena de Markov con espacio de estados E y matriz
de transición P.
El alfabeto de sı́mbolos emitidos: A.
La matriz de emisión de sı́mbolos: B.
El estado inicial de la cadena: π.
Denotamos con
O = o1 , o2 , o3 . . . , oT
a una secuencia de longitud T de sı́mbolos observados, y con
Q = i1 , i2 , i3 . . . , iT
a la correspondiente secuencia oculta de estados de la cadena.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
i1 → i2 → i3 → . . . → iT
↓
↓
↓
↓
o1
o2
o3
oT
Recordemos que la probabilidad conjunta para cada par (Q, O)
es:
P(Q, O) = πi1 bi1 (o1 ) pi1 i2 bi2 (o2 ) . . . piT −1 iT biT (oT ).
En la clase anterior vimos un algoritmo (el algoritmo forward)
que permite calcular de manera eficiente
P(O) =
X
P(O|Q)P(Q),
Q
para una secuencia de sı́mbolos observados, O.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Algoritmo de Viterbi
Veremos a continuación un algoritmo (el algoritmo de Viterbi)
que permite obtener de manera eficiente una secuencia de
estados ocultos Q que maximiza P(Q|O).
Recordemos que:
P(Q|O) =
P(Q, O)
P(O)
y observemos que P(O) es independiente de la secuencia Q,
de manera que:
argmaxQ P(Q|O) = argmaxQ P(Q, O).
El algoritmo de Viterbi se divide en dos partes: en primer lugar
se obtiene el valor máximo de P(Q, O) y posteriormente se
construye explı́citamente un maximizador.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Parte A: Cálculo de máxQ P(Q, O).
Para cada tiempo t (1 ≤ t ≤ T ) y para cada estado i ∈ E se
introducen las siguientes cantidades:
δt (i) =
máx
i1 ,i2 ,...,it−1
P(i1 , i2 , . . . , it−1 , it = i, o1 , o2 , . . . , ot ),
con δ1 (i) = P(i1 = i, o1 ).
Observación: Notar que:
máx P(Q, O) = máx δT (i).
Q
i∈E
Veremos ahora cómo se calculan las variables {δt (i)} de
manera inductiva en t.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Paso inicial: (t = 1)
Para cada i ∈ E calculamos:
δ1 (i) = πi bi (o1 ).
Paso inductivo: (t → t + 1)
Para cada j ∈ E y t = 1, 2, . . . , T − 1 se cumple:
δt+1 (j) =
máx P(i1 , i2 , . . . , it , it+1 = j, o1 , o2 , . . . , ot , ot+1 )
i1 ,i2 ,...,it
= máx máx P(i1 , i2 , . . . , it = i, o1 , o2 , . . . , ot ) pij bj (ot+1 )
i∈E i1 ,i2 ,...,it−1
= máx δt (i) pij bj (ot+1 )
i∈E
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Parte B: Cálculo del maximizador.
Una vez que se han obtenido las cantidades {δt (i)} se
construye una secuencia maximizadora
Q 0 = i10 , i20 , i30 . . . , iT0
procediendo de atrás hacia adelante de la siguiente manera:
iT0 = argmaxi∈E δT (i).
it0 = argmaxi∈E δt (i) pi i 0 , para cada t = 1, 2, . . . , T − 1.
t+1
El algoritmo de Viterbi proporciona una manera eficiente y
sencilla de computar la secuencia de estados más probable
para una secuencia de observaciones. Para poder aplicar el
algoritmo es necesario conocer las probabilidades de
transición de la cadena, las probabilidades de emisión y el
estado inicial. A continuación veremos cómo estimar estos
parámetros a partir de una secuencia de observaciones.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Estimación de parámetros en HMM
Suponemos que tenemos un conjunto de datos que han sido
generados por un HMM con una cierta topologı́a determinada
(esto es, se conocen la cantidad de estados de la cadena de
Markov oculta y la estructura del grafo de esa cadena). A partir
de las observaciones queremos estimar los parámetros de la
cadena: las componentes del estado inicial (πi ), las
componentes de la matriz de transición (pij ) y las componentes
de la matriz de emisión (bi (a)).
Un posible abordaje serı́a buscar el conjunto de parámetros
que maximiza la función de verosimilitud para los datos
observados. Como hay muchos parámetros en juego este
abordaje se torna poco viable. A continuación veremos un
algoritmo eficiente para obtener un juego de parámetros que
maximizan localmente la verosimilitud.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Método de Baum-Welch
Notación:
O es una secuencia observada (o una familia de
secuencias observadas) generada por un HMM.
λ = (P, B, π) es el conjunto de parámetros que queremos
estimar a partir de las observaciones.
Idea del método de Baum-Welch:
Se proponen valores iniciales para los parámetros:
λ(in) = (P (in) , B (in) , π (in) ). Estos valores pueden elegirse
con distribución uniforme o puede usarse cierta
información a priori.
A partir de estos valores y de las observaciones se
recalculan los parámetros, obteniendo:
λ(out) = (P (out) , B (out) , π (out) ).
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Los nuevos parámetros aumentan la verosimilitud:
P(O|λ(out) ) ≥ P(O|λ(in) ),
con igualdad si y sólo si λ(out) = λ(in) .
Se repite el procedimiento hasta alcanzar un máximo local
de la verosimilitud o hasta que las diferencias entre los
parámetros recalculados en dos pasos sucesivos sean
despreciables.
A continuación veremos cómo se recalculan los parámetros a
partir de los valores iniciales.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
A partir de las observaciones y de λ(in) se construyen las
siguientes cantidades:
(out)
πi
= proporción esperada de veces en las que el
estado inicial es i, dado O,
(out)
pij
=
(out)
(a) =
bi
E(Nij |O)
,
E(Ni |O)
E(Ni (a)|O)
,
E(Ni |O)
donde Nij es el número de veces en que it = i e it+1 = j para
algún t; Ni es el número de veces en que it = i para algún t; y
Ni (a) es el número de veces en que it = i y se emite el sı́mbolo
a para algún t. Todas estas cantidades aleatorias no se
observan directamente. Veremos ahora cómo se calculan los
valores esperados de manera eficiente.
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Cálculo de los valores esperados:
La clave para obtener las cantidades anteriores de manera
eficiente consiste en calcular:
ξt (i, j) = P(it = i, it+1 = j|O),
para cada i, j ∈ E y para cada t.
Usando la definición de probabilidad condicional:
ξt (i, j) =
P(it = i, it+1 = j, O)
.
P(O)
Las probabilidades del lado derecho se calculan usando los
parámetros λ(in) = (P (in) , B (in) , π (in) ). P(O) se calcula, como
vimos la clase pasada, usando las variables forward para los
parámetros iniciales, α(in) (t, i).
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Por otra parte:
(in)
P(it = i, it+1 = j, O) = α(in) (t, i) pij
(in)
bj
(ot+1 ) β (in) (t + 1, j),
donde:
β(t, i) = P(ot+1 , ot+2 , . . . , oT |it = i),
i ∈ E, t = 1, 2, . . . , T − 1, son las variables backward, que se
computan de manera inductiva usando un algoritmo análogo al
algoritmo forward (ver, por ejemplo, Ewens y Grant: Statistical
Methods in Bioinformatics).
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Una vez que se han calculado las cantidades ξt (i, j), para cada
t y para cada i, j ∈ E, se calculan los valores esperados que
(out) (out) (out)
definen las cantidades (πi
, pij , bi
(a)) de la siguiente
manera:
P
E(Nij |O) = t ξt (i, j).
P P
E(Ni |O) = t j∈E ξt (i, j).
P
P
E(Ni (a)|O) = t:ot =a j∈E ξt (i, j).
Hidden Markov Models (HMM): Continuación
Estimación de parámetros en HMM
Resumiendo:
A partir de los valores iniciales de los parámetros, λ(in) , se
obtienen los parámetros recalculados, λ(out) .
Los parámetros recalculados son más verosı́miles que los
iniciales.
Se repite este procedimiento un número suficiente de
veces hasta tener garantı́as de que se ha llegado a las
proximidades de un máximo local de la función de
verosimilitud.
Hay paquetes estadı́sticos que realizan estos cálculos y
proporcionan buenos estimadores para los parámetros.
Descargar