next up previous contents
次へ: 離散HMMのパラメータ推定 上へ: 認識アルゴリズム 戻る: Viterbiアルゴリズム   目次

Forwardアルゴリズム

時刻$t$の時に $o_1,o_2,...,o_t $という観測系列を出力して,状態$j$にいる 確率を次のように定義する。


\begin{displaymath}
\alpha_t (j) = P(o_1,o_2,...,o_t,s_t = j \mid \lambda)
\end{displaymath} (28)

$P(O \mid \lambda)$$\alpha_t (j)$の漸化式を次のように計算することによっ て求めることができる。

  1. 初期化

    全ての状態 $j(1 \leq j \leq N)$に対して,


    \begin{displaymath}
\alpha_{0} (j) = \pi_{j}
\end{displaymath} (29)

    とする.

  2. 導出過程

    時間軸 $(t = 1, \cdots ,T)$に沿って,全ての状態 $j(1 \leq j \leq N)$に対し, $\alpha_t (j)$を次のように計算する.

    \begin{displaymath}
\alpha_t (j) = \sum_{i=1}^N \alpha_{t-1}(i) a_{ij} b_{ij}(o_t)
\end{displaymath} (30)

  3. 結果


    \begin{displaymath}
P(O \mid \lambda) = \sum_{i=1}^N \alpha_{T}(i)
\end{displaymath} (31)

このアルゴリズムでは,直前のフレームにおける確率 $\alpha_{t-1} (i)$ から $\alpha_t (j)$ $1 \leq j \leq N)$を求めている。

図 3 は,前記の図1 のHMMがラベル系列$aab$を出力する例に適応した例で ある. このように出力ラベル系列が対応する時間経過を横軸にして,各状態を縦に並べ て状態遷移を示した図で考えると理解しやすい. $\alpha_t (j)$はトレリス上の左上(初期状態)から右下(最終状態)に向かっ て順次求まる.この方法での計算量はO($N^2T$)である。

また, $ P(a,a,b \mid \lambda) = \alpha_3 (3) = 0.1176 $ となる.

Forwardアルゴリズムは,本実験において認識に使用されている.

図 3: トレリス上の$\alpha _t (i)$の計算
\resizebox{12cm}{!}{\includegraphics{forward_sample.eps}}



平成19年5月7日