next up previous contents
次へ: HMMを用いた自動音素ラベリング 上へ: 自動音素ラベリングのための基礎知識 戻る: Viterbiアルゴリズム   目次

Baum-Welchアルゴリズム

Baum-Welchアルゴリズムは、与えられたシンボル列からモデルのパラメータを再 推定するためのアルゴリズムである。HMMでは、シンボル列を生成した状態遷移 系列が観測できないため、直接、最尤推定を行うことができない。そのため、シ ンボル列に対する尤度を最大にするようにパラメータを再推定することを考える。 Baum-Welchアルゴリズムについて、参考文献[4]より引用し、以下に説明する。

 
与えられたシンボル列 $ o^{T}_{1} = o_{1} … o_{T} $ に対し、時刻 $ t $ で状態 $ q_{i} $ から $ q_{j} $ に遷移した確率 $ \gamma_{t}(i,j) $ は以 下のようになる。

\begin{eqnarray*}
\gamma_{t}(i,j) & = & P(X_{t} = q_{i}, X_{t+1} = q_{j}|o^{T}_...
...}b_{j}(o_{t+1})\beta_{t+1}(j)}
{\sum^{N}_{i=1}\alpha_{T}(i)}\\
\end{eqnarray*}



 
また、時刻 $ t $ で状態 $ q_{i} $ に滞在した確率 $ \gamma_{t}(i) $ を以 下のように定義する。

\begin{displaymath}
\gamma_{t}(i) = \sum^{N}_{j=1}\gamma_{t}(i,j)
\end{displaymath}

$ \gamma_{t}(i,j) $ および $ \gamma_{t}(i) $ を用いて、以下のようにパラ メータを再推定できる。

\begin{eqnarray*}
\bar{\pi} & = & \gamma_{1}(i) \\
\bar{a}_{ij} & = & \frac{状..
...ac{\sum_{t:o_{t}=k}\gamma_{t}(i)}
{\sum^{T}_{t=1}\gamma_{t}(i)}
\end{eqnarray*}



ここで、 $ \bar{\pi}, \bar{a}_{ij}, \bar{b}_{i}(k) $ は再推定したパラメー タで、それぞれ、初期状態確率、状態遷移確率、記号出力確率である。

上記の再推定式によってパラメータを求める方法が、Baum-Welchアルゴリズムで ある。



平成14年3月7日