隐马尔可夫模型HMM(二)概率计算问题
摘自
1.李航的《统计学习方法》
2.http://www.cnblogs.com/pinard/p/6955871.html
一、概率计算问题
上一篇介绍了概率计算问题是给定了λ(A,B,π),计算一个观测序列O出现的概率,即求P(O|λ)。
用三种方法,直接计算法,前向算法,后向算法。
考虑隐马尔可夫模型(一)中的盒子球模型。
假设Q={1,2,3,4}, V = {红,白},在给定λ(A,B,π)的条件下,其中:
, ,
求O=(红,白,红)的概率。
二、直接计算法
说通俗一点,就是暴力求解,穷举法。
- 所有可能的状态序列I,则状态序列I的概率为P(I|λ)
- 对于固定的状态序列I,则观测序列为O的概率P(O|I,λ)
- 联合概率为P(O,I|λ) = P(O|I,λ)P(I|λ)
- 则最后所求为P(O|λ) = ΣP(O|I,λ)P(I|λ)
状态集合有N个,一共有T个状态序列,所以状态序列的可能性为NT,每一种状态序列都要相应乘以T个观测概率矩阵,所以最后的时间复杂度为O(TNT)。
三、前向计算法
记αi(j)为部分观测序列为o1.....ot切ot状态为qj的概率。
首先,记alphai(j)为第i次观测下状态为j,观测值为O(i)的概率,bj(i)为j状态下观测值为O(i)的概率, 暂时记i=1为红球,i=2为白球, aij为矩阵A中i行j列。
1、第一次观测为红球
2、第二次观测为白球
3、第三次观测
4、最后结果
四、后向计算方法
βt(i)为On, On-1.... Ot观测序列且在Ot时刻状态为qi的概率:
五、总结
根据前向传播算法,可以得到一些相关概率和期望。
1、给定模型输入λ和观测O,在时刻t处于状态qi 的概率为γt(i)。
(1)记γt(i):
(2)由前向概率和后向概率表达式α和β可得:
(3)因此:
(4)因此得到γt(i)
2、给定模型λ和观测O,在时刻t处于状态qi,且在时刻t+1处于状态qj的概率为εt(i, j)。
(1)记εt(i, j):
(2)通过前向后向计算可以得到:
(3)由于:
(4)因此:
3、在观测O下由状态i出现的期望值:
4、在观测O下由状态i转移的期望值
5、在观测O下由状态i转移到状态j的期望值:
隐马尔可夫模型HMM(二)概率计算问题的更多相关文章
- 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率
隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比算法 ...
- 隐马尔可夫模型HMM与维特比Veterbi算法(二)
隐马尔可夫模型HMM与维特比Veterbi算法(二) 主要内容: 前向算法(Forward Algorithm) 穷举搜索( Exhaustive search for solution) 使用递归降 ...
- 隐马尔科夫模型HMM学习最佳范例
谷歌路过这个专门介绍HMM及其相关算法的主页:http://rrurl.cn/vAgKhh 里面图文并茂动感十足,写得通俗易懂,可以说是介绍HMM很好的范例了.一个名为52nlp的博主(google ...
- 猪猪的机器学习笔记(十七)隐马尔科夫模型HMM
隐马尔科夫模型HMM 作者:樱花猪 摘要: 本文为七月算法(julyedu.com)12月机器学习第十七次课在线笔记.隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来 ...
- 隐马尔科夫模型HMM(一)HMM模型
隐马尔科夫模型HMM(一)HMM模型基础 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比 ...
- 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数
隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比算法 ...
- 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列
隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态 ...
- 用hmmlearn学习隐马尔科夫模型HMM
在之前的HMM系列中,我们对隐马尔科夫模型HMM的原理以及三个问题的求解方法做了总结.本文我们就从实践的角度用Python的hmmlearn库来学习HMM的使用.关于hmmlearn的更多资料在官方文 ...
- HMM:隐马尔可夫模型HMM
http://blog.csdn.net/pipisorry/article/details/50722178 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模 ...
- 机器学习之隐马尔科夫模型HMM(六)
摘要 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔科夫过程.其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步 ...
随机推荐
- A1137. Final Grading
For a student taking the online course "Data Structures" on China University MOOC (http:// ...
- 利用nginx进行集群部署
现在一般的服务器都是集群的情况了,所以准备搞集群部署下. nginx用的是第三方的openrestynginx.首先安装nginx,我的系统是UBuntu,安装方法也很简单,见官网. 自己采用了默认安 ...
- 【洛谷P2925 [USACO08DEC]干草出售Hay For Sale】
题意翻译 题目描述 农民john面临一个很可怕的事实,因为防范失措他存储的所有稻草给澳大利亚蟑螂吃光了,他将面临没有稻草喂养奶牛的局面.在奶牛断粮之前,john拉着他的马车到农民Don的农场中买一些稻 ...
- jQuery实现表格行的动态增加与删除(改进版)
之前写过一个简单的利用jQuery实现表格行的动态增加与删除的例子,有些人评论说"如果表格中是input元素,那么删除后的东西都将自动替换,这样应该是有问题的,建议楼主改进!",故 ...
- 最小生成树Prim算法和Kruskal算法
Prim算法(使用visited数组实现) Prim算法求最小生成树的时候和边数无关,和顶点树有关,所以适合求解稠密网的最小生成树. Prim算法的步骤包括: 1. 将一个图分为两部分,一部分归为点集 ...
- Luogu P2852 [USACO06DEC]牛奶模式Milk Patterns
题目链接 \(Click\) \(Here\) 水题.利用\(Height\)的性质维护一个单调栈即可. #include <bits/stdc++.h> using namespace ...
- display详解
css中的display属性 display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有: none block inline inline-block inherit 下面,我将按照顺 ...
- Python网络编程之socket编程
什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...
- bzoj1040 基环树森林dp
https://www.lydsy.com/JudgeOnline/problem.php?id=1040 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社 ...
- python要点简要-一日精通python
Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...