Baum-Welch Algorithm

Baum-Welch Algorithmは,出力列からHMMのパラメータ,遷移確率と出力確率を推定するアルゴリズムであり,隠れ変数(HMMの場合は状態)を持つ確率モデルのパラメータ推定アルゴリズムであるEMアルゴリズムの一種である.

隠れ変数のない場合の最尤推定

HMMパラメータの学習データとして,状態列と出力列のペアを用いることができれば,遷移確率,出力確率の推定は容易である.
状態 \(s_i\) から状態 \(s_j\) への遷移の回数を \(A_{i,j}\),
状態 \(s_i\) から記号 \(c\) が出力された回数を \(E_{i}(c)\),
を学習データから計算することができるから,多項分布としての遷移確率,出力確率の最尤推定は,
\[
\begin{eqnarray}
\hat{a_{i,j}}^{mle} &=& \frac{A_{i,j}}{\sum_j’ A_{i,j’}},\\
\hat{e_i(c)}^{mle} &=& \frac{E_i(c)}{\sum_c’ E_i(c’)}.
\end{eqnarray}
\tag{hmm.M.5}\label{eq:hmm_counts}
\]

Baum-Welch Algorithm (EM Algorithm of HMM)

学習データにおいて状態列が観測できない場合は,式\(\eqref{eq:hmm_counts}\)における遷移回数 \(A_{i,j}\) および出力回数 \(E_{i}(c)\) (度数)を,仮の遷移確率,出力確率を用いて推定した期待値に置き換えて,遷移確率,出力確率を推定する(推定方法は,Marginalized Probabilities and Countsの項を参照).推定した遷移確率,出力確率は,仮に用いたものから更新されるから,このプロセスを繰り返すことにより,遷移確率および出力確率の推定値を逐次改善することができる.この繰り返しにより,推定したモデルから学習データが出力される確率が単調に増加することが証明できる.詳しくはEMアルゴリズムの項を参照せよ.