next up previous contents
次へ: 離散HMMのパラメータ推定 上へ: HMMを用いた音声認識 戻る: HMMの例   目次

認識アルゴリズム

一般に$P(y\vert M)$の値は,以下のtrellisアルゴリズムで求められる. 符号ベクトル$y_t$を出力して状態$ s_i $にある確率を$\alpha (i, t)$とする.


\begin{displaymath}
\alpha (i,t) =
\left\{
\begin{array}{ll}
\log \pi_{i} & (t ...
...a_{ji} b_{ji}(y_t) & (t = 1, 2, \cdots ,T )
\end{array}\right.
\end{displaymath} (24)

これを計算して,最後に
\begin{displaymath}
P(y \vert M) = \sum_{i, s_i \in F} \alpha (i,T)
\end{displaymath} (25)

を求めれば良い.

$P(y\vert M)$を厳密に求めないで,モデルMが符号ベクトル系列$y$を出力するときの最も可能性の高い状態系列上での出現確率を用いるViterbiアルゴリズムと呼ばれる方法もある.尤度は,各遷移での確率値を対数変換しておくことで高速に求めることができる. このアルゴリズムを以下に示す. $i = 1,2, \cdots ,S$において


\begin{displaymath}
f'(i,t) =
\left\{
\begin{array}{ll}
\log \pi_{i} & (t = 0) ...
...b_{ji} ( y_{t}) \} & (t = 1, 2, \cdots ,T )
\end{array}\right.
\end{displaymath} (26)

を計算し,対数尤度
\begin{displaymath}
L = \max_{i, s_i \in F} f' (i,t)
\end{displaymath} (27)

を求める.

このViterbiアルゴリズムによる利点はtrellis法に比べて以下のようなものである.

このためViterbiアルゴリズムは広く用いられている.



平成16年4月17日