Modelos ocultos de Markov HMM Introduccin Clculo de



































- Slides: 35
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 1
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 2
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 3
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 4
Ejemplo de modelo oculto de Markov PLN hmm 5
HMM 4 • • • PLN hmm 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 6
HMM 5 • Los círculos superiores denotan estados ocultos que sólo dependen de sus predecesores PLN hmm 7
HMM 6 • • PLN hmm Los círculos inferiores denotan estados visibles (observados) Los estados observados sólo dependen de su correspondiente estado oculto. 8
HMM 7 • • • S S S K K K {S, K, P, A, B} S : {s 1…s. N } valores de los estados ocultos K : {k 1…k. M } valores de las observaciones PLN hmm 9
HMM 8 A S S B K • • PLN hmm K A S B K K {S, K, P, A, B} P = { i} probabilidades iniciales A = {aij} probabilidades de transición B = {bik} probabilidades de emisión 10
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 11
Decodificación 1 ot-1 ot ot+1 o. T Dada una observación y un modelo, calcular la probabilidad de la observación PLN hmm 12
Decodificación 2 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 13
Decodificación 3 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 14
Decodificación 4 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 15
Decodificación 5 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 16
Decodificación 6 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 17
Algoritmo Forward 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T • 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: PLN hmm 18
Algoritmo Forward 2 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 19
Algoritmo Forward 3 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 20
Algoritmo Forward 4 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T PLN hmm 21
Algoritmo Backward 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T Probabilidad de completar la emisión desde un estado PLN hmm 22
Decodificación 7 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T Forward Procedure Backward Procedure Combination PLN hmm 23
Viterbi 1 o 1 • • ot-1 ot ot+1 o. T Encontrar la secuencia de estados que explique mejor las observaciones Algoritmo de Viterbi PLN hmm 24
Viterbi 2 x 1 xt-1 j o 1 ot-1 ot ot+1 o. T 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 PLN hmm 25
Viterbi 3 x 1 xt-1 xt xt+1 o 1 ot-1 ot ot+1 o. T Cálculo Recursivo PLN hmm 26
Viterbi 4 x 1 xt-1 xt xt+1 x. T o 1 ot-1 ot ot+1 o. T Cálculo de la secuencia más verosimil de forma backward PLN hmm 27
Estimación de los parámetros 1 A B ot-1 A B ot A B B ot+1 o. T • 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 PLN hmm 28
Estimación de los parámetros 2 • Baum-Welch (Forward-Backward) • Caso particular de la familia de algoritmos de Expectation Maximization (EM) • Método iterativo de tipo hill-climbing PLN hmm 29
Estimación de los parámetros 3 • 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 PLN hmm 30
Estimación de los parámetros 4 E step: a partir de los parámetros actuales se recupera la estructura oculta Parámetros del modelo (probabilidades) Estructura oculta Observaciones M step: a partir de las observaciones y de la estructura oculta se recalculan los parámetros PLN hmm 31
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 32
Estimación de los parámetros 6 A B o 1 A B ot-1 A B ot A B B ot+1 o. T Probabilidad de atravesar un arco (i, j) Probabilidad de estar en el estado i PLN hmm 33
Estimación de los parámetros 7 A B o 1 A B ot-1 A B ot A B B ot+1 o. T Reestimación de los parámetros del modelo PLN hmm 34
Aplicaciones • • • PLN hmm POS tagging Generación de los parámetros de un LM NER NEC chunking ASR 35