Baum-Welch Algorithm

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

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

HMMパラメータの学習データとして,状態列と出力列のペアを用いることができれば,遷移確率,出力確率の推定は容易である.
状態 si から状態 sj への遷移の回数を Ai,j
状態 si から記号 c が出力された回数を Ei(c)
を学習データから計算することができるから,多項分布としての遷移確率,出力確率の最尤推定は,
^ai,jmle=Ai,jjAi,j,^ei(c)mle=Ei(c)cEi(c).

Baum-Welch Algorithm (EM Algorithm of HMM)

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