В чем разница между алгоритмом "вперед-назад" и алгоритмом Витерби?

В чем разница между алгоритмом прямого-обратного хода на n-граммовой модели и алгоритмом Витерби на скрытой марковской модели (HMM)?

Когда я рассматриваю реализацию этих двух алгоритмов, я обнаружил только то, что вероятность транзакции исходит из разных вероятностных моделей.

Есть ли разница между этими двумя алгоритмами?

3 ответа

Алгоритм "Вперед-Назад" объединяет шаг вперед и шаг назад, чтобы получить вероятность нахождения в каждом состоянии в определенное время. Выполнение этого для всех временных шагов может, следовательно, дать нам последовательность наиболее вероятных состояний в каждый момент времени (хотя не гарантируется, что она является действительной последовательностью, поскольку она рассматривает индивидуальное состояние на каждом шаге, и может случиться так, что вероятность p(q_i -> q_j)=0 в модели перехода), другими словами:

уравнение 1, где уравнение 2

С другой стороны, алгоритм Витерби находит наиболее вероятную последовательность состояний при заданной последовательности наблюдения, максимизируя другой критерий оптимальности:

Уравнение 3

Я предлагаю вам обратиться к этой известной статье для подробного объяснения (см. Проблему № 2):

ЛОУРЕНС Р. РАБИНЕР, Учебное пособие по скрытым марковским моделям и избранным приложениям в распознавании речи

Кратко говоря:

Вперед-назад используется, только если вы хотите предсказать, какой токен наиболее вероятен в определенный момент времени. Он будет принимать во внимание все возможные последовательности и усреднять их, чтобы найти наиболее вероятный токен в то время. Таким образом, последовательность, которую вы получите обратно, будет не истинной последовательностью, а набором наиболее вероятных токенов, если учесть все возможные последовательности.

Витерби используется для нахождения наиболее вероятной последовательности событий. Это будет смотреть на каждую последовательность и просто выбрать последовательность, которая наиболее вероятна.

Взгляните на страницы 262 - 264 статьи Рабинера, и все должно стать ясно. Вот прямо цитируемый ответ - из этой статьи - на ваш вопрос:

"... Следует отметить, что алгоритм Витерби аналогичен (за исключением этапа обратного отслеживания) в реализации прямому вычислению алгоритма прямого-обратного (Уравнения 19-21). Основным отличием является максимизация в (Уравнение 33a) по предыдущим состояниям, который используется вместо процедуры суммирования в (Уравнение 20)."

Другие вопросы по тегам