62
правки
Изменения
Нет описания правки
== Описание ==
Алгоритм Витерби позволяет сделать наилучшее предположение о последовательности состояний [[Скрытые Марковские модели|скрытой Марковской модели]] на основе последовательности наблюдений. Эта последовательность состояний называется '''путем Витерби''' (англ. ''Viterbi path'').
{{Определение
|id=def1.
Пусть задано пространство наблюдений <tex>O =\{o_1,o_2 \ldots o_N\}</tex>, пространство состояний <tex>S =\{s_1,s_2 \ldots s_K\}</tex>, последовательность наблюдений <tex>Y =\{y_1,y_2 \ldots y_T\}</tex>, матрица <tex>A</tex> переходов из <tex>i</tex>-того состояния в <tex>j</tex>-ое, размером <tex>K \times K</tex>, матрица эмиссии <tex> B </tex> размера <tex>K \times N</tex>, которая определяет вероятность наблюдения <tex>o_j</tex> из состояния <tex>s_i</tex>, массив начальных вероятностей <tex>\pi</tex> размером <tex>K</tex>, показывающий вероятность того, что начальное состояние <tex>s_i</tex>. Путь <tex>X =\{x_1,x_2 \ldots x_T\}</tex> {{---}} последовательность состояний, которые привели к последовательности наблюдений <tex>Y</tex>.
== Алгоритм ==
'''Шаг 3.''' Рассматривая максимальные значения в столбцах матрицы <tex>TIndex</tex>, начиная с последнего столбца, выдаем ответ.
'''Доказательство корректности:'''
#Скрытые и наблюдаемые события должны быть последовательностью, которая чаще всего упорядочена по времени.
#Каждое скрытое событие должно соответствовать только одному наблюдаемому.
#Вычисление наиболее вероятной скрытой последовательности до момента <tex>t</tex> зависит только от наблюдаемого события в этот момент времени и наиболее вероятной последовательности до момента <tex>t − 1</tex> (динамическое программирование).
== Псевдокод ==