HMMに使われているアルゴリズムの詳細とサンプル

HMMに使われているアルゴリズム (Baum-Welch, Forward-Backward, Viterbi) の理解を深めるために証明を行ったので,ここにリンクを載せておく.ただし一部証明ができない部分があった.

(Baum-Welchの\(\Sigma_k\)の期待値を最大化するところの行列の微分が分からなかった.最終的な答えがわかっているので辿り着けているところが大いにあるので,式変形がどっかで間違っている可能性も十分ある.)

18/01/16追記.\(\Sigma_k\)の期待値を最大化する式の導出ができた.PRMLのAppendixに行列の微分についての公式があり,それを参考にすることでできた.

hmmアルゴリズムメモ

また,アルゴリズムの実装ではないけど使い方として練習したものはこちら.
初期確率と遷移確率,出力確率を与えたHMMのモデルを構築し,観測変数と潜在変数をサンプリングして出力している.
また,観測変数を適当に与えてやり,その潜在変数を推定する操作を後半で行っている.
Hidden Markov models sample

やっつけだしhmmlearn の例とほとんど同じだけどとりあえず載せておこう.

2022/01/10 追記: Gihubのpdfプレビューが日本語の表示に対応しなくなっていたのでpdfの埋め込みを追加した。


表示に失敗しました: PDFへのリンク