Алгоритм Баума — Велша используется в информатике и статистике для нахождения неизвестных параметров скрытой марковской модели (HMM). Он использует алгоритм прямого-обратного хода и является частным случаем обобщённого EM-алгоритма.
Алгоритм Баума — Велша оценки скрытой модели Маркова
Скрытая модель Маркова — это вероятностная модель множества случайных переменных
. Переменные
— известные дискретные наблюдения, а
— «скрытые» дискретные величины. В рамках скрытой модели Маркова есть два независимых утверждения, обеспечивающих сходимость данного алгоритма:
-
-я скрытая переменная при известной
-ой переменной независима от всех предыдущих
переменных, то есть
;
-
-е известное наблюдение зависит только от
-го состояния, то есть не зависит от времени,
.
Далее будет предложен алгоритм «предположений и максимизаций» для поиска максимальной вероятностной оценки параметров скрытой модели Маркова при заданном наборе наблюдений. Этот алгоритм также известен как алгоритм Баума — Велша.
— это дискретная случайная переменная, принимающая одно из
значений
. Будем полагать, что данная модель Маркова, определённая как
, однородна по времени, то есть независима от
. Тогда можно задать
как независящую от времени стохастическую матрицу перемещений
. Вероятности состояний в момент времени
определяется начальным распределением
.
Будем считать, что мы в состоянии
в момент времени
, если
. Последовательность состояний выражается как
, где
является состоянием в момент
.
Наблюдение
в момент времени
может иметь одно из
возможных значений,
. Вероятность заданного вектора наблюдений в момент времени
для состояния
определяется как
(
— это матрица
на
). Последовательность наблюдений
выражается как
.
Следовательно, мы можем описать скрытую модель Маркова с помощью
. При заданном векторе наблюдений
алгоритм Баума — Велша находит
.
максимизирует вероятность наблюдений
.
Алгоритм
Исходные данные:
со случайными начальными условиями.
Алгоритм итеративно обновляет параметр
до схождения в одной точке.
Прямая процедура
Определим
, что является вероятностью получения заданной последовательности
для состояния
в момент времени
.
можно вычислить рекурсивно:


Обратная процедура
Данная процедура позволяет вычислить
вероятность конечной заданной последовательности
при условии, что мы начали из исходного состояния
, в момент времени
.
Можно вычислить
:


Используя
и
можно вычислить следующие значения:


Имея
и
, можно вычислить новые значения параметров модели:


-
,
где

индикативная функция, и
ожидаемое количество значений наблюдаемой величины, равных
в состоянии
к общему количеству состояний
.
Используя новые значения
,
и
, итерации продолжаются до схождения.
Источники