Изменения

Перейти к: навигация, поиск

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

1298 байт добавлено, 15:11, 8 марта 2018
Пример
|-
! Состояние 1
|<tex>0.5 </tex> || <tex>0.5</tex>
|-
! Состояние 2
|<tex>0.3 </tex> || <tex>0.7</tex>
|}
||
|-
! Состояние 1
|<tex>0.3 </tex> || <tex>0.7</tex>
|-
! Состояние 2
|<tex>0.8 </tex> || <tex>0.2</tex>
|}
||
|-
! Состояние 1
|<tex>0.2</tex>
|-
! Состояние 2
|<tex>0.8</tex>
|}
|}
! Последовательность !! Вероятность последовательности и состояний !! Наибольшая вероятность наблюдения
|-
| <tex>NN </tex> || <tex>0.024 </tex> || <tex>0.3584 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
| <tex>NN </tex> || <tex>0.024 </tex> || <tex>0.3584 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
| <tex>NN </tex> || <tex>0.024 </tex> || <tex>0.3584 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
| <tex>NN </tex> || <tex>0.024 </tex> || <tex>0.3584 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
| <tex>NE </tex> || <tex>0.006 </tex> || <tex>0.1344 S2\,S1</tex> <tex>S_2,</tex> <tex>S_1</tex>
|-
| <tex>EE </tex> || <tex>0.014 </tex> || <tex>0.0490 S1\,S1</tex> <tex>S_1,</tex> <tex>S_1</tex>
|-
| <tex>EN </tex> || <tex>0.056 </tex> || <tex>0.0896 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
| <tex>NN </tex> || <tex>0.024 </tex> || <tex>0.3584 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
| <tex>NN </tex> || <tex>0.024 </tex> || <tex>0.3584 S2\,S2</tex> <tex>S_2,</tex> <tex>S_2</tex>
|-
! Итог
| <tex>0.22 </tex> || <tex>2.4234</tex>
|}
</center><br />
Таким образом получаем новую оценку перехода из <tex>S1S_1</tex> в <tex>S2S_2</tex>, которая составляет <tex dpi="160">\dfrac{0.22}{2.4234}</tex><tex> = 0.0908</tex>. После этого можно подсчитать вероятность переходов из <tex>S2S_2</tex> в <tex>S1S_1</tex>, <tex>S2S_2</tex> в <tex>S2S_2</tex>, <tex>S1S_1</tex> в <tex>S1S_1</tex> и изменим их так, чтобы в суммы вероятностей давали <tex>1</tex>. В итоге получаем новую матрицу переходов:
<center>
|-
! Состояние 1
|<tex>0.5 </tex> || <tex> 0.5</tex>
|-
! Состояние 2
|<tex>0.3 </tex>|| <tex>0.7</tex>
|}
||
|-
! Состояние 1
|<tex>0.0598 </tex> || <tex>0.0908</tex>
|-
! Состояние 2
|<tex>0.2179 </tex> || <tex> 0.9705</tex>
|}
||
|-
! Состояние 1
|<tex>0.3973 </tex> || <tex> 0.6027</tex>
|-
! Состояние 2
|<tex>0.1833 </tex> || <tex> 0.8167</tex>
|}
|}
! Последовательности !! Наибольшая вероятность наблюдения <br/> Если допустимо, что E получено из <tex>S1</tex> !! Наибольшая вероятность наблюдения
|-
| <tex>NE </tex> || <tex>0.1344 S2\,S1 </tex> <tex> S_2, </tex> <tex>S_1</tex> || <tex>0.1344 S2\,</tex> <tex>S_2,S1</tex><tex> S_1</tex>
|-
| <tex>EE </tex> || <tex>0.0490 S1\,S1 </tex> <tex> S_1, </tex> <tex>S_1</tex> || <tex>0.0490 S1\,</tex> <tex>S_1,S1</tex><tex> S_1</tex>
|-
| <tex>EN </tex> || <tex>0.0560 S1\,S2 </tex> <tex> S_1, </tex> <tex>S_2</tex> || <tex>0.0896 S1\,</tex> <tex>S_1,S2</tex> <tex>S_2</tex>
|-
! Итог
| <tex>0.2394 </tex> || <tex>0.2730</tex>
|}
</center><br />
Новая оценка для <tex>E</tex>, полученная из <tex>S1S_1</tex>, составляет <tex dpi="160">\dfrac{0.2394}{0.2730}</tex> <tex> = 0.8769</tex>.
Благодаря этому, возможно рассчитать матрицу состояний:
|-
! Состояние 1
|<tex>0.3 </tex> || <tex>0.7</tex>
|-
! Состояние 2
|<tex>0.8 </tex> || <tex>0.2</tex>
|}
||
|-
! Состояние 1
|<tex>0.0876 </tex> || <tex>0.8769</tex>
|-
! Состояние 2
|<tex>1.0000 </tex> || <tex> 0.7385</tex>
|}
||
|-
! Состояние 1
|<tex>0.0908 </tex> || <tex>0.9092</tex>
|-
! Состояние 2
|<tex>0.5752 </tex> || <tex>0.4248</tex>
|}
|}
</center>
Для оценки начальной вероятности, мы предполагаем, что все последовательности начаты со скрытого состояния <tex>S1S_1</tex> и рассчитаны с высокой вероятностью, а затем повторяем для <tex>S2S_2</tex>. После нормализации получаем обновленный исходный вектор.
Повторяем эти шаги до тех пор, пока вероятности не сойдутся.
Анонимный участник

Навигация