Explicación simple de Baum Welch / Viterbi

Estoy buscando una explicación lo más simple posible para Baum Welch y Viterbi para HMM con un ejemplo sencillo y bien anotado. Casi todas las explicaciones que encuentro en la red invariablemente saltan desde el principio a una explicación casi completamente basada en jerga / símbolo. Las pocas veces que tienen un ejemplo, por lo general se coloca a un lado o está mal anotado (es decir, no está claro cómo los símbolos y los ejemplos están relacionados entre sí). He escuchado cosas como algunas fuentes que afirman que Baum Welch se basa en el algoritmo EM y otras dicen que se basa en el algoritmo de avance hacia atrás y algunos dicen que ambos, así que me gustaría obtener detalles como eso se aclaró.

Lo más cercano que encontré hasta ahora es un video de 1 hora publicado aquí que la gente dijo que era genial pero que no se puede reproducir porque el flash está prohibido y una explicación en wikipedia que tiene una nota al lado diciendo que está mal .

Responder

Estoy buscando una explicación lo más simple posible para Baum Welch y Viterbi para HMM …

  • Dados los datos observados, el algoritmo de Baum-Welch encuentra los parámetros que maximizan la probabilidad.

  • Dados los datos observados y los parámetros, el El algoritmo de Viterbi encuentra la secuencia más probable de estados ocultos.

He escuchado cosas como algunas fuentes que afirman que Baum Welch es basado en el algoritmo EM …

El algoritmo de Baum-Welch es un caso especial del algoritmo EM.

… y otros dicen que se basa en el algoritmo de avance hacia atrás

La descomposición hacia adelante-hacia atrás es cómo se hace el paso «E-» (usando la terminología EM). Es específico de los modelos ocultos de Markov.

Las pocas veces que tienen un ejemplo, generalmente se coloca a un lado o está mal anotado (es decir, no está claro cómo los símbolos y el ejemplo están relacionados entre sí)

No sé qué ejemplos estás viendo, pero puedo decirte que hay son muchos buenos. Recuerde que estos métodos se inventaron hace mucho tiempo, y todavía se utilizan ampliamente . El Rabiner al que se ha vinculado anteriormente es probablemente el más famoso, pero tienes que encontrar uno que te guste en el que seguirás trabajando. Te recomiendo que encuentres uno con un ejemplo que tenga datos que te interesen y una nota sentir es apta para aprender. Todo lo que encuentres tendrá mucha notación. No hay forma de evitarlo, así que tienes que encontrar algo en lo que puedas adaptarte.

Responder

Tengo el papel perfecto para usted: http://www.stat.columbia.edu/~liam/teaching/neurostat-fall17/papers/hmm/rabiner.pdf

Tenga en cuenta que hay métodos BW más nuevos.

Intento de explicación simple para Viterbi: el objetivo de viterbi es encontrar una secuencia óptima de estados durante un período de tiempo discreto.
Comience con las probabilidades iniciales de estar en un estado $ s $ en el momento $ t = 0 $. Luego, aumente $ t $ y para cada estado en ese momento ($ t = 1 $), encuentre el mejor estado $ s $ en $ t-1 $ (mejor como en la secuencia que da la mayor probabilidad ). Guarde esta información. Eso significa que para cada estado $ s $ en $ t = 1 $ guarde cuál es el mejor estado $ s $ en $ t = 0 $. También guarde la probabilidad para esa secuencia (óptima).
Luego, aumente $ t $ a $ t = 2 $ y repita el procedimiento (con las probabilidades para cada estado $ s $ en $ t-1 $ siendo las mejores probabilidades calculadas para ese estado). El punto en el que llegará a $ t = T $ (último punto en el tiempo). Luego, simplemente elija el estado con la probabilidad más alta y recuerde que para cada estado en cada vez que haya guardado el mejor estado por $ t-1 $, así que tome el mejor estado en $ t = T $ y luego trabaje hacia atrás siempre seleccionando ese estado óptimo guardado.

Para desarrollar lo que hace en un nivel más general: Si tiene un conjunto de estados $ S $ que pueden seleccionarse durante un período de tiempo $ T $, un Una solución ingenua para encontrar la mejor secuencia sería enumerar todas las secuencias posibles y luego calcular la probabilidad para cada una de ellas (eso significa calcular el producto del estado y las probabilidades de transición). El error que uno está cometiendo aquí es que muchos de los cálculos están duplicados, como ejemplo, podría tener dos secuencias $ p_1, p_2 $ ($ p $ es una secuencia de estados) donde la única diferencia es el estado final, pero con este enfoque está calculando las probabilidades de los estados compartidos para $ P (p_1) $ y $ P (p_2) $.
Al tomar el enfoque iterativo utilizado en viterbi, no hay cálculos duplicados, por lo que obviamente será mucho más eficiente.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *