一、比较全面的MATLAB自带HMM Toolbox的分析介绍,可以参考http://www.voidcn.com/article/p-wmglbsfp-ho.html。
hmmgenerate: 已知转移矩阵A和混淆矩阵B,随机生成定制长度的观察序列和隐层序列。
hmmestimate: 已知观察序列和隐层序列,最大似然估计转移矩阵A和混淆矩阵B。
1)hmmgenerate:已知转移矩阵A和混淆矩阵B,随机生成定制长度的观察序列和隐层序列。
[seq, states]=hmmgenerate(len,TRANS,EMIS)
len: 观察序列和隐层序列的长度
TRANS:转移矩阵A
EMIS:混淆矩阵B
[seq, states]=hmmgenerate(len,TRANS,EMIS,’Symbols’,{‘One’,’Two’},’Statenames’,{‘1’,’2’,’3’})
Symbols: 观察序列的符号
Statenames:隐层序列的符号
2) hmmestimate: 已知观察序列和隐层序列,最大似然估计转移矩阵A和混淆矩阵B。
[seq, states] = hmmgenerate(len,TRANS,EMIS)
[TRANS1, EMIS1] = hmmestimate(seq,states)
只能输入一组观察序列和隐层序列,不能对比较多组的观察序列和隐层序列进行估计。
3)hmmtrain: 已知隐层序列,初始猜测矩阵A和B,然后最大似然估计转移矩阵A和混淆矩阵B。
seq = hmmgenerate(len, TRANS, EMIS);
[estTR, estE