Это не официальный сайт wikipedia.org 01.01.2023

Алгоритм Баума — Велша — Википедия

Алгоритм Баума — Велша

(перенаправлено с «Алгоритм Баума-Велша»)

Алгоритм Баума — Велша используется в информатике и статистике для нахождения неизвестных параметров скрытой марковской модели (HMM). Он использует алгоритм прямого-обратного хода и является частным случаем обобщённого EM-алгоритма.

Алгоритм Баума — Велша оценки скрытой модели МарковаПравить

Скрытая модель Маркова — это вероятностная модель множества случайных переменных { Y 1 , , Y t , Q 1 , , Q t }  . Переменные Y t   — известные дискретные наблюдения, а Q t   — «скрытые» дискретные величины. В рамках скрытой модели Маркова есть два независимых утверждения, обеспечивающих сходимость данного алгоритма:

  1. t  -я скрытая переменная при известной ( t 1 )  -ой переменной независима от всех предыдущих ( t 1 )   переменных, то есть P ( Q t Q t 1 , Y t 1 , , Q 1 , Y 1 ) = P ( Q t Q t 1 )  ;
  2. t  -е известное наблюдение зависит только от t  -го состояния, то есть не зависит от времени, P ( Y t Q t , Q t 1 , Y t 1 , , Q 1 , Y 1 ) = P ( Y t Q t )  .

Далее будет предложен алгоритм «предположений и максимизаций» для поиска максимальной вероятностной оценки параметров скрытой модели Маркова при заданном наборе наблюдений. Этот алгоритм также известен как алгоритм Баума — Велша.

Q t   — это дискретная случайная переменная, принимающая одно из N   значений ( 1 N )  . Будем полагать, что данная модель Маркова, определённая как P ( Q t Q t 1 )  , однородна по времени, то есть независима от t  . Тогда можно задать P ( Q t Q t 1 )   как независящую от времени стохастическую матрицу перемещений A = { a i j } = p ( Q t = j Q t 1 = i )  . Вероятности состояний в момент времени t = 1   определяется начальным распределением π i = P ( Q 1 = i )  .

Будем считать, что мы в состоянии j   в момент времени t  , если Q t = j  . Последовательность состояний выражается как q = ( q 1 , , q T )  , где q t { 1 N }   является состоянием в момент t  .

Наблюдение Y t   в момент времени t   может иметь одно из L   возможных значений, y t { o 1 , , o L }  . Вероятность заданного вектора наблюдений в момент времени t   для состояния j   определяется как b j ( o i ) = P ( Y t = o i Q t = j )   ( B = { b i j }   — это матрица L   на N  ). Последовательность наблюдений y   выражается как y = ( y 1 , , y T )  .

Следовательно, мы можем описать скрытую модель Маркова с помощью λ = ( A , B , π )  . При заданном векторе наблюдений y   алгоритм Баума — Велша находит λ = a r g max λ P ( y λ )  . λ   максимизирует вероятность наблюдений y  .

АлгоритмПравить

Исходные данные: λ = ( A , B , π )   со случайными начальными условиями.

Алгоритм итеративно обновляет параметр λ   до схождения в одной точке.

Прямая процедураПравить

Обозначим через α i ( t ) = p ( Y 1 = y 1 , , Y t = y t , Q t = i λ )   вероятность появления заданной последовательности y 1 , , y t   для состояния i   в момент времени t  .

α i ( t )   можно вычислить рекурсивно:

  1. α i ( 1 ) = π i b i ( y 1 ) ;  
  2. α j ( t + 1 ) = b j ( y t + 1 ) i = 1 N α i ( t ) a i j .  

Обратная процедураПравить

Данная процедура позволяет вычислить β i ( t ) = p ( Y t + 1 = y t + 1 , , Y T = y T Q t = i , λ )   вероятность конечной заданной последовательности y t + 1 , , y T   при условии, что мы начали из исходного состояния i  , в момент времени t  .

Можно вычислить β i ( t )  :

  1. β i ( T ) = p ( Y T = y T Q t = i , λ ) = 1 ;  
  2. β i ( t ) = j = 1 N β j ( t + 1 ) a i j b j ( y t + 1 ) .  

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

  • γ i ( t ) p ( Q t = i y , λ ) = α i ( t ) β i ( t ) j = 1 N α j ( t ) β j ( t ) ,  
  • ξ i j ( t ) p ( Q t = i , Q t + 1 = j y , λ ) = α i ( t ) a i j β j ( t + 1 ) b j ( y t + 1 ) i = 1 N j = 1 N α i ( t ) a i j β j ( t + 1 ) b j ( y t + 1 ) .  

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

  • π ¯ i = γ i ( 1 ) ,  
  • a ¯ i j = t = 1 T 1 ξ i j ( t ) t = 1 T 1 γ i ( t ) ,  
  • b ¯ i ( o k ) = t = 1 T δ y t , o k γ i ( t ) t = 1 T γ i ( t ) .  ,

где

δ y t , o k = { 1 если  y t = o k , 0 иначе  

индикативная функция, и b i ( o k )   ожидаемое количество значений наблюдаемой величины, равных o k   в состоянии i   к общему количеству состояний i  .

Используя новые значения A  , B   и π  , итерации продолжаются до схождения.

См. такжеПравить

ИсточникиПравить