参考一下这个例子吧
两个色子。一个是好的,一个是偏一面的。
仍色子的几率矩阵是trans转移矩阵是emis
>> trans = [0.95,0.05; 0.10,0.90];
>> emis = [1/6, 1/6, 1/6, 1/6, 1/6, 1/6;
1/10, 1/10, 1/10, 1/10, 1/10, 1/2;];
seq代表的是一个序列,不是写上去的,而是用代码算出来的。
[seq, states] = hmmgenerate(1000,trans,emis);
1000是步长值。
得到seq,seq在此是 Columns 1 through 12 ....
2 5 1 5 6 4 3 3 5 4 6 5...
以下略,太长....
再用
[trans, emis] = hmmestimate(seq,states);
得到trans 和emis的值。
>> trans
trans =
0.9501 0.0499
0.1069 0.8931
>> emis
emis =
0.1733 0.1630 0.1733 0.1557 0.1733 0.1615
0.1129 0.0784 0.1066 0.1254 0.1066 0.4702
可以看出,非常接近设定值。