私は隠れマルコフモデルが初めてです。私は主なアイデアを理解しており、理解を深めるためにいくつかの Matlab 組み込み HMM 関数を試しました。
一連の観測と対応する状態がある場合、たとえば
seq = 2 6 6 1 4 1 1 1 5 4
states = 1 1 2 2 2 2 2 2 2 2
hmmestimate関数を 使用して、次のように遷移確率行列と放出確率行列を計算できます。
[TRANS_EST, EMIS_EST] = hmmestimate(seq, states)
TRANS_EST =
0.5000 0.5000
0 1.0000
EMIS_EST =
0 0.5000 0 0 0 0.5000
0.5000 0 0 0.2500 0.1250 0.1250
この例では、観察は単一の値です。
以下の例の図は、私の状況を説明しています。
状態が {Sleep, Work, Sport} で、一連の観測があるとします: {lightoff, light on, heart rate>100 .....} 各観測を表すために数値を使用すると、私の状況ではそれぞれ状態には同時に複数の観測があります。
seq = {2,3,5} {6,1} {2} {2,3,6} {4} {1,2} {1}
states = 1 1 2 2 2 2 2
これを Matlab で実装して遷移と放出確率行列を取得する方法がわかりません。私はかなり迷っています。次のステップで何をすればよいですか? 正しいアプローチを使用していますか?
ありがとう!