next up previous
次へ: 複数話者発話の識別実験 上へ: 最適状態遷移系列の推定について 戻る: Viterbi復号法


Forward復号法

最適状態遷移系列の推定にはViterbi復号法の他にForward復号法 が考えられる。このアルゴリズムは、始めに HMMのパラメータ $\mbox{\boldmath$M$}$がコード系列 $\mbox{\boldmath$O$}$を出力する時の尤度を、 各状態からの総和で計算する。次に最適状態遷移系列は各時刻 における最大の尤度を持つ状態とする。このForward復号法を次 に示す。

  1. 全ての $i\in\{1,...,N\}$に対し、

    \begin{displaymath}\delta_1(i) = \pi_i \times b_i(\mbox{\boldmath$o$}_1) \end{displaymath}


    \begin{displaymath}s_1^*= arg \max_i\delta_1(i) \end{displaymath}

  2. 時間軸$t=2,...,T$に沿って、全ての $j\in\{1,...,N\}$に対し

    \begin{displaymath}\delta_t(j) = \sum_i[\delta_{t-1}(i) \times a_{ij} \times b_j(\mbox{\boldmath$o$}_t)] \end{displaymath}


    \begin{displaymath}s_t^*= arg \max_j\delta_t(j) \end{displaymath}

  3. 全ての可能な状態遷移系列に対する尤度及び$T$時刻目の最適状態を次式で求める。

    \begin{displaymath}\sum_{\mbox{\boldmath$S$}}P(\mbox{\boldmath$O$},\mbox{\boldmath$S$}\mid\mbox{\boldmath$M$}) = \sum_j\delta_T(j) \end{displaymath}


    \begin{displaymath}s_T^* = arg \max_j\delta_T(j) \end{displaymath}



Jin'ichi Murakami 平成13年5月14日