HMM算法学习
来源:互联网 发布:定制家具生产软件 编辑:程序博客网 时间:2024/06/06 23:55
学习HMM三种算法很好的网站,里面涵盖前向、后向、前后向及viterbi算法视频:http://www.youtube.com/watch?v=jwYuki9GgJo
最值得推荐的中文版介绍HMM:www.52nlp.cn
先上概率论里的2个基础法则:1.sum rule加法原则p(x)=sigmaY p(x,y);2.乘法原则product rule p(x,y)=p(y/x)p(x).参见PRML(pattern recognition and machine learning by Christopher M.Bishop) page 14,figure1.11.【多加一句:如果你关注过PRML的话,这两个DD必须很清楚,因为它贯穿了这本书 的始末。】
现在我们来八一八HMM算法:
HMM可以理解为一个神器,靠Lambda=【A,B,Pi】行走江湖,还打遍天下无敌手。有一点点小限制条件就是:只跟和他交过手的应用领域过招。
A:转移矩阵(transition matrix),描述节点状态之间的相互转移关系。这个转移矩阵可以只有2个节点,3个节点,...N个节点。但在一个模型中究竟使用几个节点是最适合模型的现在没有任何结论。大家都知道的就是节点越多越复杂。对于转移矩阵需要深入理解的一点就是节点状态转换只与前一次状态相关而和时间的变化是无关的。在t=0的两种节点状态转换关系和t=1的节点状态转换关系就是自家操自家的心。某一时间下的节点状态相当于一个Cluster.
B.混合矩阵(emission matrix),有时我们也直接翻译成发射矩阵,但是混合矩阵会更容易让人理解。因为转移矩阵和这个混合矩阵是相互关联的。比如通过混合矩阵的观察值序列,我们需要推出观察序列是在哪种隐藏状态序列下产生,可能会有很多线路,但是我们既然要推出就要找一个最有的。多条线路来个O=Argmax(A)即可。通过观察序列值找隐藏序列值经常用到的就是Viterbi算法;还有一种情况就是在隐藏状态节点个数及转移概率都已知的情况下,我们计算出某一观察序列的出现的概率值,前向算法解决。这是混合矩阵就是在某种状态下出现的观察值的概率。多啰嗦一句的就是我们经常画HMM 的模型图是,观察节点之间是不用箭头联系的。总会认为就观察到一个值或者一个序列,那么下一个观察值或序列是和现有的观察值没有任何关系,直观上的这种理解有时候还是容易让人很混淆。谁让HMM 这么厉害呢,就是一个需要花时间练习的武功。
A.前向算法
目标:计算出所有观察节点与隐藏节点的联合概率.
........
- HMM算法学习
- 【机器学习】HMM算法
- 机器学习算法-HMM
- 机器学习:HMM:算法
- GMM-hmm算法学习笔记
- 机器学习算法疗程(HMM)
- HMM学习,维特比算法
- HMM和维比特算法学习
- HMM算法
- HMM学习
- HMM 学习
- HMM学习
- HMM学习
- HMM学习
- HMM学习笔记_2(从一个实例中学习HMM前向算法)
- HMM学习笔记_2(从一个实例中学习HMM前向算法)
- HMM学习笔记_2(从一个实例中学习HMM前向算法)
- HMM学习笔记_2(从一个实例中学习HMM前向算法)
- 贪心算法活动选择问题
- EBS开发——经常需要修改的触发器
- 找到自尾节点开始的第i个节点---Java实现
- PHP的线程安全与非线程安全版本的区别
- 系统工程师工具箱
- HMM算法学习
- android ListView 几个重要属性
- flex绘制性能优化
- WebClient的一些简单应用
- Div + CSS:absolute和relative的运用
- 历史上的经济危机
- 在JavaScript中实现命名空间
- 轻松搞死VS2008的C++编译器
- 查看用户有关的命令