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