隐马尔可夫模型HMM(一)
摘自
1.李航的《统计学习方法》
2.https://www.cnblogs.com/pinard/p/6945257.html
了解HMM模型
1.隐马尔可夫模型的定义
隐马尔可夫模型是关于时序的概率模型,该模型是由隐藏的马尔可夫链生成不可观测的状态序列,再由各个状态序列生成一个观测序列的过程。
(1)状态序列,I。隐藏的马尔可夫链随机生成的状态序列。
(2)观测序列,O。由各个状态生成的观测序列。
2.隐马尔可夫模型的三要素
(1)初始状态概率向量,π。
(2)状态转移矩阵,A。
(3)观测概率矩阵,B。
3.隐马尔可夫的三个基本问题
(1)概率计算问题。给定模型λ(A,B,π)和观测序列O=(o1,o2,o3...),计算在模型λ下观测序列O出现的概率P(O|λ)。
(2)学习问题。已知观测序列O=(o1,o2...),估计模型λ(A,B,π)的参数,使得在该模型下观测序列概率P(O|λ)最大。用极大似然估计解决。
(3)预测问题,也称为解码问题。已知模型λ(A,B,π),和观测序列O=(o1,o2,o3...),求给定观测序列,条件概率P(I|O)最大的状态序列I,即给定观测序列,求最有可能的对应的状态序列。
4.Example
假设有4个盒子,每个盒子有红、白两种颜色的球,如表格所示。
盒子 |
1 | 2 | 3 | 4 |
红球数 | 5 | 3 | 9 | 2 |
白球数 | 5 | 1 | 1 | 8 |
- 首先从4个盒子等概率选取一个盒子,然后从盒子里面选取一个球,记录其颜色,然后放回;最后得到的球的颜色序列就是观测序列。O(o1,o2,...,oi,...on)
- 然后选取下一个盒子,从里面选取一个球,记录其颜色oi,然后放回;假设从盒子1跳到盒子2,然后一直跳了n次。则盒子序列就为状态序列。I(1,2,3,4,.....4)
- 重复上一个步骤n次。
初始选取盒子为初始概率分布 π
π=(0.25, 0.25, 0.25, 0.25)T
假设盒子的跳转规则如下(看不到隐藏的)
盒子1到盒子1,2,3,4的概率分别为(0, 1, 0, 0)
盒子2到盒子1,2,3,4的概率分别为 (0.4, 0, 0.6, 0)
盒子3到盒子1, 2, 3,4的概率分别为 (0, 0.4, 0, 0.6)
盒子4到盒子1,2,3,4的概率分别为 (0, 0, 0.5, 0.5)
则状态转移矩阵为A为
观测概率(在各个盒取各个颜色球的概率)
(1)已经抽了两次球,观测集合V={红,白},求观测序列 O={红,白,红}的概率,即P(O|λ),则此问题为概率计算问题,这个问题最简单。
(2)学习问题。假设有观测序列或者有观测序列和对应的状态序列,求参数λ,此问题为学习问题,这个问题最复杂。
(3)预测问题。给定模型参数λ(A,B,π), 观测到取到球的结果为 O = {红,白,红,白},预测一下最有可能的盒子序列I,即每个球都是从哪个盒子取出来的。
隐马尔可夫模型HMM(一)的更多相关文章
- 基于隐马尔科夫模型(HMM)的地图匹配(Map-Matching)算法
文章目录 1. 1. 摘要 2. 2. Map-Matching(MM)问题 3. 3. 隐马尔科夫模型(HMM) 3.1. 3.1. HMM简述 3.2. 3.2. 基于HMM的Map-Matchi ...
- 隐马尔科夫模型HMM学习最佳范例
谷歌路过这个专门介绍HMM及其相关算法的主页:http://rrurl.cn/vAgKhh 里面图文并茂动感十足,写得通俗易懂,可以说是介绍HMM很好的范例了.一个名为52nlp的博主(google ...
- 猪猪的机器学习笔记(十七)隐马尔科夫模型HMM
隐马尔科夫模型HMM 作者:樱花猪 摘要: 本文为七月算法(julyedu.com)12月机器学习第十七次课在线笔记.隐马尔可夫模型(Hidden Markov Model,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参数(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)是统计模型,它用来描述一个含有隐含未知参数的马尔科夫过程.其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步 ...
随机推荐
- HDU--5269 ZYB loves Xor I (字典树)
题目电波: HDU--5269 ZYB loves Xor I 首先我们先解决 ai xor aj 每个数转化为二进制 我们用字典树统计 每个节点 0 和 1 的出现的个数 #include< ...
- 编写高质量代码:改善Java程序的151个建议 --[0~25]
警惕自增的陷阱 public class Client7 { public static void main(String[] args) { int count=0; for(int i=0; i& ...
- 讲道理,为什么分布式一定要有Redis?
考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知.所以我斗胆以 Redis 为题材,对 ...
- hihocoder1364 奖券兑换
题目链接 思路 乍一看这是一个01背包的裸题.但是数据范围\(10^5\)是无法承受的. 但是发现\(p_i\)和\(w_i\)只有10,也就是说最多只有100种物品.所以可以对他们进行分组.然后用二 ...
- js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
var time_range = function (beginTime, endTime, nowTime) { var strb = beginTime.split (":") ...
- linux系统调用之系统控制
ioctl I/O总控制函数 _sysctl 读/写系统参数 acct 启用或禁止进程记账 getrlimit 获取系统资源上限 setrlimit 设置系统资源上限 getrusage 获取系统资源 ...
- Mock2 moco框架的http协议get方法Mock的实现
首先在Chapter7文件夹下再新建一个startGet.json startget.json代码如下,因为是get请求,所以要写method关键字,有两个,一个是有参数,一个是无参数的请求. [ { ...
- Linux下学习摄像头使用
刚接触Linux硬件驱动有关的项目,配置摄像头经历的一些操作 (这篇文章是刚接触Linux下V4L时作为记录记下的,感觉只有几个命令还有参考作用) 一 确定摄像头种类 确定是否符合UVC标准协议,一般 ...
- 一个很适合初学者的selenium教程
http://www.cnblogs.com/hustar0102/p/5885115.html
- springmvc 学习笔记
@Autowired,@RequestMapping,@RequestParam 使用该注解,引入对象时, 可以省略setter getter.减少代码显示. @AutowiredSimService ...