next up previous
次へ: Forward復号法 上へ: 最適状態遷移系列の推定について 戻る: 最適状態遷移系列の推定について


Viterbi復号法

推定されたHMMのパラメータ $\mbox{\boldmath$M$}$がコード系列 $\mbox{\boldmath$O$}$を出力する 可能性の高い最適状態遷移系列は、Viterbi復号法により 効率的に求まる[4]。Viterbi復号法を次に示す。

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

    \begin{displaymath}\delta_1(i) = \log\pi_i + \log b_i(\mbox{\boldmath$o$}_1), \phi_1(i) = 0 \end{displaymath}

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

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


    \begin{displaymath}\phi_t(j) = arg \max_i[\delta_{t-1}(i) + \log a_{ij}] \end{displaymath}

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

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


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

  4. 時間軸$t=T-1,...,1$に沿って、次式により最適状態遷移系列を得る。

    \begin{displaymath}s_t^*=\phi_{t+1}(s_{t+1}^*) \end{displaymath}



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