Изменения

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

Алгоритм "Вперед-Назад"

1850 байт добавлено, 02:29, 14 января 2013
Нет описания правки
=== Проход вперед ===
Заметим, что в <tex>\{\alpha_ialpha_s(t1)\}</tex> в <tex>t = 0</tex> мы можем нужно считать равной <tex>\pi_ipi_s</tex>, так как на первом шаге распределение по определению будет равно начальному.
Следующие Для следующих <tex>t</tex> посчитаем можно вычислить <tex>\alpha_s(t)</tex> рекуррентно:
<tex>\alpha_{is}(t+1) = P(O_{1, t} | X_{t+1} X_t = is_i) = \\= \displaystyle\sum\limits_{j\in S}P(O_{1, t} \cap | X_t = j s \cap X_t+X_{t-1 } = ij) = \\= \displaystyle\sum\limits_{j\in S}P(O_{1, t-1} \cap X_t = j)\cdot P(o_t \cap | X_{t+1} = i | O_{1, t-1} \cap X_t = j) = \\= \displaystyle\sum\limits_{j}cdot P(O_X_t = s | X_{1, t-1} \cap X_t = j)\cdot P(O_t = o_t \cap X_{t+1} = i | X_t = js) = \\= \displaystyle\sum\limits_{j \in S} \alpha_{j}P(O_{1, t-1} \cap X_t = j)\cdot P(X_{t+1} = i | X_a_{tjs} = j) \cdot P(o_t | X_b_{t+1so_t} = i) = \\= b_{so_t} \cdot \displaystyle\sum\limits_{j\in S}\alpha_jalpha_{j}(t-1)\cdot a_{ji}b_{io_tjs}</tex>
Итак, вероятность попасть в состояние <tex>s_is</tex> на </tex>t+1</tex>-ом шаге, учитывая, что после перехода произойдет событие <tex>o_t</tex> будет равна вероятности быть в состоянии <tex>s_jj</tex> на <tex>t</tex>-ом шаге, умноженной на вероятность перейти из состояния <tex>s_jj</tex> в <tex>s_is</tex>, произведя событие <tex>o_t</tex> для всех <tex>j \in S</tex>. === Проход назад ===Аналогично, <tex>\beta_s(T+1) = 1</tex>, так как произвольная цепочка наблюдений будет произведена, какими бы ни были состояния. Предыдущие <tex>\beta_s(t)</tex> считаются рекуррентно: <tex>\beta_s(t) = P(O_{t, T} | X_t = s) = \\= \displaystyle\sum\limits_{j \in S} P(O_{t+1,T} | X_{t+1} = j) \cdot P(X_{t+1} = j | X_t = s) \cdot P(o_t | X_t = s) = \\= \displaystyle\sum\limits_{j \in S} \beta_j(t+1) \cdot a_{sj} \cdot b_{jo_t}</tex> === Сглаживание вероятности ===Итак, для произвольного состояния <tex>s</tex> в произвольный шаг <tex>t</tex> теперь известна вероятность того, что на пути к нему была произведена последовательность <tex>O_{1,t}</tex> и вероятность того, что после него будет произведена последовательность <tex>O_{t+1,T}</tex>. Чтобы найти вероятность того, что будет произведена цепочка событий, найти <tex>P(O)</tex>, нужно просуммировать произведение обеих вероятностей для всех состояний при произвольном шаге t: <tex>P(O) = \sum_{s \in S} \alpha_s(t)\beta_s(t)</tex>. Теперь найдем вероятность того, что в момент <tex>t</tex> цепь будет в состоянии <tex>s</tex>: <tex dpi="180">P(X_t = s | O_{1,t-1} \cap O_{t,T}) = \frac{P(X_t = s | O_{1,t-1}) \cdot P(X_t = s | O_{t,T})}{P(O)} = \frac{\alpha_{s}(t) \cdot \beta_{s}(t)}{P(O)} = \\= \frac{\alpha_s(t)\cdot \beta_s(t)}{\sum_{i \in S}\alpha_s(t)\cdot \beta_s(t)}</tex>
119
правок

Навигация