welch retroceso ejemplo decodificacion convolucionales codigos baum avance algoritmo algorithm machine-learning nlp hidden-markov-models viterbi

algorithm - retroceso - decodificacion viterbi matlab



¿Cuál es la diferencia entre el algoritmo de avance y retroceso y el algoritmo de Viterbi? (3)

Eche un vistazo a las páginas 262 - 264 del artículo de Rabiner y todo debería quedar claro. Aquí hay una respuesta citada directamente, de este documento, a su pregunta:

"... Cabe señalar que el algoritmo de Viterbi es similar (a excepción del paso de seguimiento) en la implementación al cálculo hacia adelante del algoritmo de avance-retroceso (Ecuaciones 19-21). La principal diferencia es la maximización en (Ecuación 33a ) sobre los estados anteriores, que se utiliza en lugar del procedimiento de suma en (Ecuación 20) ".

¿Cuál es la diferencia entre el algoritmo de avance y retroceso en el modelo de n-gramas y el algoritmo de Viterbi en el modelo de Markov oculto (HMM)?

Cuando reviso la implementación de estos dos algoritmos, lo único que encontré es que la probabilidad de transacción proviene de diferentes modelos probabilísticos.

¿Hay alguna diferencia entre estos 2 algoritmos?


En pocas palabras:

Forward-Backward se usa si solo desea predecir cuál es el token más probable en un momento determinado. Tomará en cuenta todas las secuencias posibles y promediará sobre ellas para encontrar el token más probable en ese momento. Por lo tanto, la secuencia que obtendrás no será una secuencia verdadera, sino una recopilación de los tokens más probables si consideras todas las secuencias posibles.

Viterbi se usa para encontrar la secuencia más probable de eventos. Esto examinará cada secuencia y simplemente seleccionará la secuencia que sea más probable.


El algoritmo de avance y retroceso combina el paso hacia adelante y el paso hacia atrás para obtener la probabilidad de estar en cada estado en un momento específico. Hacer esto para todos los pasos de tiempo, por lo tanto, nos puede dar una secuencia de estados individualmente más probables en cada momento (aunque no se garantiza que sea una secuencia válida, ya que considera un estado individual en cada paso, y puede suceder que la probabilidad p(q_i -> q_j)=0 en el modelo de transición), en otras palabras:

, dónde

Por otro lado, el algoritmo de Viterbi encuentra la secuencia de estado más probable dada una secuencia de observación, al maximizar un criterio de optimalidad diferente:

Le sugiero que consulte este documento conocido para obtener una explicación detallada (consulte el Problema nº 2):

LAWRENCE R. RABINER, un tutorial sobre modelos ocultos de Markov y aplicaciones seleccionadas en el reconocimiento de voz