Вы находитесь на странице: 1из 8

LOS TRES PROBLEMAS BASICOS DE LAS CADENAS OCULTAS DE

MARKOV

1. El problema de evaluación y el algoritmo de avance

Se tiene un modelo y una secuencia de observaciones


, y se debe encontrar. Se puede calcular esta
cantidad usando argumentos probabilísticos simples. Pero este cálculo implica una
cantidad de operaciones del orden de . Esto es muy grande, incluso si la
longitud de la secuencia, T es moderada. Por lo tanto, tenemos que buscar otro
método para este cálculo. Afortunadamente existe uno que tiene una complejidad
considerablemente baja y hace uso de una variable auxiliar, llamada variable
directa.

La variable forward se define como la probabilidad de la secuencia de observación


parcial , cuando termina en el estado i . Matemáticamente,

Entonces es fácil ver que la siguiente relación recursiva se cumple.

Dónde,

Usando esta recursividad podemos calcular

Y luego la probabilidad requerida viene dada por,

La complejidad de este método, conocido como el algoritmo de reenvío es


proporcional a , que es lineal wrt T, mientras que el cálculo directo
mencionado anteriormente, tenía una complejidad exponencial.
De forma similar, podemos definir la variable hacia atrás como la probabilidad
de la secuencia de observación parcial , dado que el estado
actual es i . Matemáticamente

Como en el caso de que exista una relación recursiva que se puede usar
para calcular de manera eficiente.

Dónde,

Además, podemos ver eso,

Por lo tanto, esto proporciona otra forma de calcular , mediante el uso de


variables tanto hacia adelante como hacia atrás, como se indica en eqn. 1.7 .

Eqn. 1.7 es muy útil, especialmente al derivar las fórmulas requeridas para el
entrenamiento basado en gradiente.
2. El problema de decodificación y el algoritmo de Viterbi

En este caso, queremos encontrar la secuencia de estado más probable para una
secuencia dada de observaciones, y un modelo,

La solución a este problema depende de la forma en que se define "la secuencia


de estado más probable". Un enfoque es encontrar el estado más
probable en t = t y concatenar todos esos 's. Pero algunas veces este método
no da una secuencia de estado físicamente significativa. Por lo tanto, buscaríamos
otro método que no tenga tales problemas.
En este método, comúnmente conocido como algoritmo de Viterbi , se encuentra
la secuencia de estado completa con la máxima verosimilitud. Para facilitar el
cálculo definimos una variable auxiliar,

que da la probabilidad más alta de que la secuencia de observación parcial y la


secuencia de estado hasta t = t puedan tener, cuando el estado actual es i .
Es fácil observar que la siguiente relación recursiva se cumple.

dónde,

Por lo tanto, el procedimiento para encontrar la secuencia de estado más probable


comienza con el cálculo del uso de la recursión en 1.8 ,
mientras que siempre mantiene un puntero al "estado ganador" en la operación de
búsqueda máxima. Finalmente el estado , se encuentra donde

y a partir de este estado, la secuencia de estados se rastrea nuevamente como lo


indica el puntero en cada estado. Esto proporciona el conjunto de estados
requerido.
Este algoritmo completo se puede interpretar como una búsqueda en un gráfico
cuyos nodos están formados por los estados del HMM en cada instante del tiempo

Ejemplo. (Modelos ocultos de Markov de J. Eisner)


Supongamos que en el año 2534, un científico quiere estudiar el tiempo que hubo
en el año 2012, pero no es capaz de encontrar datos (por simplificar supondremos
sólo dos tipos de días: c (calor) y f (frío)). Pero ha encontrado un diario de la
época, en el que una persona describe cuántos helados tomó cada día de 2012
(1,2 ó 3).
• Estados: variable Xt que indica el tiempo en el día t (Posibles estados c y f)
• Observables: variable Et, número de helados comidos el día t (1, 2 ó 3).
• En este ejemplo, es razonable asumir que se cumple la propiedad de Markov y la
de la independencia de las observaciones:
• El tiempo que haga un día depende sólo del tiempo del día anterior.
• La cantidad de helados comidos sólo depende (probabilísticamente) del tiempo
en ese mismo día.

Resolviendo con el algoritmo de Viterbi tenemos que:


Suponiendo que hasta el cuarto día la secuencia de observaciones es O = (3, 1, 3,
2).
Calculemos la secuencia de estados más probable con esas observaciones (los
estado son s1 = c y s2 = f)
• Paso 1:
ν1(s1) = b1(o1) · π1 = 0.4 · 0.8 = 0.32
pr1(s1) = null
ν1 (s2) = b2(o1) · π2 = 0.1 · 0.2 = 0.02
pr1 (s2) = null

• Paso 2:
ν2(s1) = b1 (o2) · max{a11 · ν1 (s1), a21 · ν1 (s2)}
= 0.2 · max{0.7 · 0.32, 0.4 · 0.02}
= 0.2 · max{0.224, 0.008} = 0.0448
pr2(s1) = s1
ν2 (s2) = b2 (o2) · max{a12 · ν1 (s1), a22 · ν1 (s2)}
= 0.5 · max{0.3 · 0.32, 0.6 · 0.02}
= 0.5 · max{0.096, 0.012} = 0.048
pr2(s2) = s1

• Paso 3:
ν3(s1) = b1 (o3) · max{a11 · ν2 (s1), a21 · ν2 (s2)}
= 0.4 · max{0.7 · 0.0448, 0.4 · 0.048}
= 0.4 · max{0.03136, 0.0192} = 0.012544
pr3(s1) = s1
ν3 (s2) = b2 (o3) · max{ a12 · ν2 (s1), a22 · ν2 (s2)}
= 0.1 · max{0.3 · 0.0448, 0.6 · 0.048}
= 0.1 · max{0.01344, 0.0288} = 0.00288
pr3(s2) = s2

• Paso 4:
ν4(s1) = b1 (o4) · max{ a11 · ν3 (s1), a21 · ν3 (s2)}
= 0.4 · max{0.7 · 0.012544, 0.4 · 0.00288}
= 0.4 · max{0.0087808, 0.001152} = 0.00351232
Pr4 (s1) = s1
ν4 (s2) = b2(o4) · max{ a12 · ν3 (s1), a22 · ν3 (s2)}
= 0.4 · max{0.3 · 0.012544, 0.6 · 0.00288}
= 0.4 · max{0.0037632, 0.001728} = 0.00150528
Pr4 (s2) = s1

• Paso final:
- El estado que da la probabilidad máxima en t = 4 es s 1, con probabilidad
0.00351232
- Reconstruimos el camino hasta s1: pr4(s1) = s1, pr3(s1) = s1, pr2(s1) = s1
- Luego la secuencia de estados más probable es (s1, s1, s1, s1) (es decir, cuatro
días seguidos de calor)
3. El problema de aprendizaje
En general, el problema de aprendizaje es cómo ajustar los parámetros de HMM,
de modo que el conjunto de observaciones dado (denominado conjunto de
entrenamiento) esté representado por el modelo de la mejor manera para la
aplicación prevista. Por lo tanto, sería claro que la ``cantidad'' que deseamos
optimizar durante el proceso de aprendizaje puede ser diferente de la aplicación a
la aplicación. En otras palabras, puede haber varios criterios de optimización para
el aprendizaje, de los cuales se selecciona uno adecuado según la aplicación.
Hay dos principales criterios de optimización encontrados en la literatura de ASR;
Máxima verosimilitud (ML) e información mutua máxima (MMI). Las soluciones al
problema de aprendizaje bajo cada uno de esos criterios se describen a
continuación.

Criterio de máxima verosimilitud (ML)


En ML tratamos de maximizar la probabilidad de una secuencia dada de
observaciones , perteneciente a una clase dada w , dado el HMM de la
clase w , con los parámetros del modelo . Esta probabilidad es la probabilidad
total de las observaciones y se puede expresar matemáticamente como:

Sin embargo, dado que consideramos solo una clase w a la vez, podemos
descartar el subíndice y el superíndice ' w ' s. Entonces el criterio ML puede darse
como,

Sin embargo, no hay una forma conocida de resolver analíticamente para el


modelo , que maximiza la cantidad . Pero podemos elegir los
parámetros del modelo de modo que se maximice localmente, utilizando un
procedimiento iterativo, como el método Baum-Welch o un método basado en
gradiente, que se describen a continuación.

Algoritmo Baum-Welch
Este método se puede derivar usando argumentos simples de “conteo de
ocurrencias'' o usando cálculo para maximizar la cantidad auxiliar

Sobre [], [, p 344-346,]. Una característica especial del algoritmo es la


convergencia garantizada.
Para describir el algoritmo de Baum-Welch (también conocido como algoritmo de
avance-retroceso), necesitamos definir dos variables auxiliares más, además de
las variables de avance y retroceso definidas en una sección previa. Sin embargo,
estas variables pueden expresarse en términos de las variables hacia adelante y
hacia atrás.
Primero, una de esas variables se define como la probabilidad de estar en el
estado i en t = t y en el estado j en t = t +1. Formalmente,

Esto es lo mismo que

El uso de variables hacia adelante y hacia atrás se puede expresar como,

La segunda variable es la probabilidad a posteriori,

Esa es la probabilidad de estar en el estado i en t = t , dada la secuencia de


observación y el modelo. En las variables hacia delante y hacia atrás esto puede
ser expresado por:

Uno puede ver que la relación entre y está dada por,

Ahora bien, es posible describir el proceso de aprendizaje de Baum-Welch, donde


los parámetros del HMM se actualizan de manera de maximizar la
cantidad, . Suponiendo un modelo inicial , calculamos los
' ' y ' ' usando las recursiones 1.5 y 1.2 , y luego las ' ' y las ' '
usando 1.12 y 1.15 . El siguiente paso es actualizar los parámetros de HMM según
las ecuaciones 1.16 a 1.18 , conocidas como fórmulas de reestimación.

Estas fórmulas de reestimación también se pueden modificar fácilmente para tratar


el caso de densidad continua.

Narada Warakagoda - 1996

Вам также может понравиться