HMM MATLAB Toolbox应用
来源:互联网 发布:淘宝人工服务号码多少 编辑:程序博客网 时间:2024/05/01 20:01
一、比较全面的MATLAB自带HMM Toolbox的分析介绍,可以参考http://blog.csdn.net/whiteinblue/article/details/40625291。
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] = hmmtrain(seq, initTR, initE);
initTR, initE分别为初始猜测A和B。其中输入seq就是隐层序列,还是seq越长,hmmtrain对A和B的估计结果越准确。
- 和产生的训练数据有关,如果一直是同一组训练数据,肯定train的结果是一样的。
- 如果是每次随机产生训练数据的话,肯定是产生的数据长度越长,越能反应A和B的特点。
- 这个hmmtrain受initTR和initE的影响很大,估计的A和B基本在initTR和initE周围浮动。
4) hmmviterbi: 已知矩阵A,B和观察序列,给出生成观察序列最可能的隐层序列。seqv和statesv是随机产生的,但是estStates是估计的最可能产生观察序列的隐层序列。
[seqv, statesv] = hmmgenerate(100, TRANS, EMIS);
estStates = hmmviterbi(seqv, TRANS, EMIS);
5) hmmdecode: 计算观察序列的后验状态概率,计算第i个状态在第j步出现的概率。所以,hmmdecode得到的后验状态概率是num(states)*len的矩阵。
[seqd, statesd] = hmmgenerate(100, TRANS, EMIS);
pStates = hmmdecode(seqd, TRANS, EMIS);
Conclusion:通过具体实验我们发现matlab工具箱中提供的函数,在很多情况下不能够很好的估计结果,而且现象的随机性越大,估计误差越大;这主要是由于观察样本不足和函数算法本身的优化问题,因为viterbi等hmm算法,都是局部寻优算法,很多时候,并不是全局的最优算法;所以在目前情况下,可以通过增加观察序列的个数和改进算法来提高估计的准确率。
二、我需要解决的问题是,在有多组隐层序列的基础上计算 状态的先验概率和转移矩阵,或者是在有多组观察序列的基础上计算 状态的先验概率,转移矩阵和混淆矩阵。
- HMM MATLAB Toolbox应用
- 关于Matlab JPEG toolbox
- matlab toolbox(audio)
- 有关MATLAB TOOLBOX
- a matlab toolbox (kriging)
- MATLAB Toolbox 大全
- 安装Matlab JPEG Toolbox
- MATLAB Toolbox 大全
- matlab toolbox(audio)
- MATLAB SVM Toolbox 使用
- matlab toolbox(audio)
- 安装Matlab JPEG Toolbox
- MATLAB deeplearning-toolbox CNN
- Matlab Robotic Toolbox学习
- MATLAB toolbox之rot180
- NSGA2 Matlab toolbox
- matlab安装Robotics Toolbox
- Matlab Image Toolbox
- APUE协同进程的讨论
- POJ 3126 Prime Path(bfs)
- keytool生成证书与Tomcat SSL配置
- android的TaskAffinity属性
- automake
- HMM MATLAB Toolbox应用
- cocos2dx Android接入芒果插屏广告
- VC++文件操作之最全篇
- edittext种类大全
- linux下socket编程实例
- Sabotage 二分
- 文章标题
- Ubuntu下启动Apache对.htaccess文件的支持
- wxPython使用教程