/hmm

HMMのスクリプトまとめ

Primary LanguagePython

hmm

HMMのスクリプトまとめ

fowardアルゴリズム

観測系列Xの生起確率を効率的に求める前向きアルゴリズムです。 続・わかりやすいパターン認識 P.137のアルゴリズムを実装したものになります。 ソース

backwardアルゴリズム

観測系列Xの生起確率を効率的に求める後ろ向きアルゴリズムです。 続・わかりやすいパターン認識 P.138のアルゴリズムを実装したものになります。 ソース

fowardアルゴリズム(スケーリング版)

観測系列Xの生起確率を効率的に求める前向きアルゴリズムのスケーリング版です。 観測系列Xの長さnが大きくなると、αの値が極端に小さくなりアンダーフローを起こします。 そこで、スケーリング係数cを使って値が小さくなるのを防ぐようにしたものです。 ソース

backwardアルゴリズム(スケーリング版)

観測系列Xの生起確率を効率的に求める後ろ向きアルゴリズムのスケーリング版です。 ソース

Viterbiアルゴリズム

観測系列Xが得られたとき、P(X,S)を最大にするSを求めるアルゴリズムです。つまり、観測系列Xから状態系列Sを推定するアルゴリズムになります。 続・わかりやすいパターン認識 P.142のアルゴリズムを実装したものになります。 ソース

BaumWelchアルゴリズム

観測系列XからHMMのパラメータA,B,πを推定するアルゴリズムです。 ライブラリとして使えるようにしたスクリプトは、複数観測値(multiple sequences of observation symbols)に対応したものになっています。

使い方

BaumWelch

サンプルプログラムを見ていただければ使い方はわかると思います。

サンプルプログラムは、

$ python3 hmm_sample.py

で動かすことができます。