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

Матеріал з testwiki
Версія від 13:43, 13 серпня 2022, створена imported>Олюсь
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Алгоритм Баума — Велша використовується в інформатиці та статистиці для знаходження невідомих параметрів прихованої марковської моделі (ПММ). Він використовує алгоритм прямого-зворотного ходу і є окремим випадком узагальненого EM-алгоритму.

Алгоритм Баума — Велша оцінки прихованої моделі Маркова

Прихована модель Маркова — це імовірнісна модель множини випадкових змінних {Y1,,Yt,Q1,,Qt}. Змінні Yt — відомі дискретні спостереження, а Qt — «приховані» дискретні величини. В рамках прихованої моделі Маркова є два незалежних твердження, що забезпечують збіжність даного алгоритму:

  1. t — прихована змінна за відомих (t1) змінних незалежна від усіх попередніх (t1) змінних, тобто P(QtQt1,Yt1,,Q1,Y1)=P(QtQt1) ;
  2. t-е відоме спостереження залежить тільки від t-го стану, тобто не залежить від часу, P(YtQt,Qt1,Yt1,,Q1,Y1)=P(YtQt) .

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

Qt — це дискретна випадкова змінна, що набуває одного з N значень (1N). Будемо вважати, що дана модель Маркова, визначена як P(QtQt1), однорідна за часом, тобто незалежна від t. Тоді можна задати P(QtQt1) як незалежну від часу стохастичну матрицю переміщень A={aij}=p(Qt=jQt1=i) . Ймовірності станів у момент часу t=1 визначаються початковим розподілом πi=P(Q1=i).

Будемо вважати, що ми в стані j у момент часу t, якщо Qt=j. Послідовність станів виражається як q=(q1,,qT), де qt{1N} є станом у момент t.

Спостереження Yt в момент часу t може мати одне з L можливих значень, yt{o1,,oL}. Імовірність заданого вектора спостережень у момент часу t для стану j визначається як bj(oi)=P(Yt=oiQt=j) (B={bij} — це матриця L на N). Послідовність спостережень y виражається як y=(y1,,yT) .

Отже, ми можемо описати приховану модель Маркова за допомогою λ=(A,B,π). За заданого вектора спостережень y алгоритм Баума — Велша знаходить λ*=argmaxλP(yλ) . λ* максимізує ймовірність спостережень y.

Алгоритм

Початкові дані: λ=(A,B,π) з випадковими початковими умовами.

Алгоритм ітеративно оновлює параметр λ до збігання в одній точці.

Пряма процедура

Позначимо через αi(t)=p(Y1=y1,,Yt=yt,Qt=iλ) ймовірність появи заданої послідовності y1,,yt для стану i в момент часу t.

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

  1. αi(1)=πibi(y1);
  2. αj(t+1)=bj(yt+1)i=1Nαi(t)aij.

Зворотна процедура

Дана процедура дозволяє обчислити βi(t)=p(Yt+1=yt+1,,YT=yTQt=i,λ) ймовірність кінцевої заданої послідовності yt+1,,yT за умови, що ми почали з вихідного стану i, в момент часу t.

Можна обчислити βi(t) :

  1. βi(T)=p(YT=yTQt=i,λ)=1;
  2. βi(t)=j=1Nβj(t+1)aijbj(yt+1).

Використовуючи α і β можна обчислити наступні значення:

  • γi(t)p(Qt=iy,λ)=αi(t)βi(t)j=1Nαj(t)βj(t),
  • ξij(t)p(Qt=i,Qt+1=jy,λ)=αi(t)aijβj(t+1)bj(yt+1)i=1Nj=1Nαi(t)aijβj(t+1)bj(yt+1).

Маючи γ і ξ, Можна обчислити нові значення параметрів моделі:

  • π¯i=γi(1),
  • a¯ij=t=1T1ξij(t)t=1T1γi(t),
  • b¯i(ok)=t=1Tδyt,okγi(t)t=1Tγi(t). ,

де

δyt,ok={1якщо yt=ok,0інакше

індикативна функція, і bi*(ok) очікувана кількість значень спостережуваної величини, рівних ok в стані i до загальної кількості станів i .

Використовуючи нові значення A, B і π, ітерації продовжуються до збігання.

Див. також

Джерела