next up previous contents
次へ: Viterbi アルゴリズム 上へ: HMM(Hidden Markov Model,隠れマルコフモデル) 戻る: Backward probability   目次


Baum-Welch アルゴリズム

問題2. で述べた観測系列の生成確率を最大にするモデル$\lambda$ のパラメータの局所的最適値を求める方法として、 Baum-Welch アルゴリズム (パラメータ再推定法)があ る。

モデル$\lambda$が観測系列 $O=o_1,o_2,...,o_T$を生成する場合に おいて、時刻tで状態$i$から状態$j$に遷移する確率$\xi_t (i,j)$ を次のように定義する。

$\displaystyle \xi_t (i,j)$ $\textstyle =$ $\displaystyle P(s_{t-1} = i,s_t = j \mid O,\lambda)$ (2.11)
  $\textstyle =$ $\displaystyle \frac{\alpha_{t-1} (i) a_{ij} b_{ij} (o_t) \beta_t
(j)}{P(O \mid \lambda )} {\hspace{1cm}} (1 \leq t \leq T )$ (2.12)

ここで、シンボルの生成過程で、時刻$t$で状態$j$にいる確率 $\gamma_t (j)$を定義する。
$\displaystyle \gamma_t(j)$ $\textstyle =$ $\displaystyle P(s_t=j \mid O,\lambda)$ (2.13)
  $\textstyle =$ $\displaystyle \sum_{i=1}^N \xi_t(i,j) {\hspace{1cm}} (1 \leq t \leq T)$ (2.14)

この$\gamma_t (i)$$\xi_t (i,j)$とからモデル$\lambda$の再推 定( $\lambda \rightarrow \bar{ \lambda }$ )を次のように行な う。

\fbox
{
\begin{minipage}{14cm}
\par
Baum-Welch algorithm\\
\par
\begin{enumerat...
...j} b_{ij} (o_t) \beta_t (j)}}
\end{equation}\end{enumerate}\par
\end{minipage}}

再推定された$\bar{\lambda}$の評価は次のようになる。

  1. $ \bar{\lambda} = \lambda {\hspace{1cm}} \rightarrow $ (局所的な)収束状態
  2. $ P(O \mid \bar{\lambda} ) > P(O \mid \lambda )
{\hspace{1cm}} \rightarrow $ シンボル系列$O$を 出力するより最適なモデル ${\lambda}$を推定

Baum-Welchアルゴリズムは、学習データの尤度を最大にするようにパラ メータを学習する。ただし、基本的にはgradient学習によるパラメータ収束の 学習方法であるため、local maxmumの方向にしか学習は進まない。そのた め初期値が重要になる。音響モデルでは通常left-lightモデルが使用されるため あまり問題にならないが、全ての状態が全ての状態に接続される Ergodic HMMでは、この初期値が特に問題になる[4]。



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