从马尔可夫模型(Markov Model)到隐马尔可夫模型(Hidden Markov Model)
1、参考资料:
博客园 - 刘建平随笔:https://www.cnblogs.com/pinard/p/6945257.html
哔站up主 - 白手起家的百万富翁:https://www.bilibili.com/video/BV1DK411W7jJ?from=search&seid=2670213518419567446
哔站up主 - asia1987:https://www.bilibili.com/video/BV13C4y1W7iB/?spm_id_from=trigger_reload
2、马尔可夫模型(MM)
如下图例子1:先玩-->再吃-->再睡,就是一条马尔科夫链,是可观测到的,我们可以直接求解这条马尔科夫链的概率。
如下图例子2:天气情况是可观测的,已知晴天、多云、雨天之间的转换概率,如果今天是晴天,就可以推断出明天各种天气的概率,同样后天的天气可以由明天的天气进行计算。
3、隐马尔可夫模型(HMM)
如下图例子2变形:天气情况是不可观测的(即隐藏状态),但我们发现水藻的干燥与否和天气有关,而水藻又是可观测的,我们可以通过水藻来推测这三天的天气情况。
从上面的例子我们不难看出:隐马尔可夫模型是根据我们可见的东西(水藻)去推测我们真正想要的东西(天气)。
4、HMM五元组、三要素
- 观测序列-O (水藻状态,可观测) (序列长度:任意)
- (隐藏)状态序列-I (天气状态,不可观测) (序列长度:任意,目前看下来其长度同观测序列)
- 初始状态概率向量-Π (向量大小:(1*N)T)
- 状态转移概率矩阵-A (矩阵大小:状态N*状态N)
- 观测状态概率矩阵-B (也叫发射矩阵B) (矩阵大小:状态N*观测M)
其中后三项为HMM的三要素:λ=(Π,A,B)
5、HMM两个基本假设
- 齐次马尔可夫性假设(一阶马尔可夫假设):当前时刻的隐藏状态,只依赖于上一时刻的隐藏状态,与其它时刻状态和观测值都是无关的。
- 观测独立性假设(隐藏状态假设):当前时刻的观测值,只依赖于当前时刻的隐藏状态,与其它时刻状态和观测值都是无关的。
PS:还有一种说法,多了一个转换函数稳定性假设。
6、应用HMM来求解的三个基本问题
- 概率计算:给定模型λ=(π,A,B)和观测序列O,求观测序列O出现的概率。 (前向-后向算法)
- 解码问题:给定模型λ=(π,A,B)和观测序列O,求概率最大的隐藏状态序列I。 (viterbi算法)
- 学习问题:给定观测序列O,求观测序列O概率最大时模型λ=(π,A,B)的参数。 (极大似然估计算法)
7、实例一
有三个骰子(D4四面体,D6六面体,D8八面体),每个面都写有一个数字(如下图),进行有放回的抽样。
由上可知:观测值是骰子上的数字,有8种,即M=8;隐藏状态是几面体骰子,有3种,即N=3;
按照HMM五元组:
- 在完成一轮有放回抽样,我们可以得到一个观测序列O如下
- 隐藏状态序列 I 未知,待求
- 初始状态概率向量π如下,一般平均初始化
- 状态转移概率矩阵A如下,一般经验、统计得到
- 观测概率分布矩阵B如下,一般经验或按照实际情况计算得到
8、实例二
股市有三种隐藏状态(牛市、熊市、横盘),有三种观测状态(上涨、下跌、不变),HMM五元组如下图。
从马尔可夫模型(Markov Model)到隐马尔可夫模型(Hidden Markov Model)的更多相关文章
- NLP —— 图模型(一)隐马尔可夫模型(Hidden Markov model,HMM)
本文简单整理了以下内容: (一)贝叶斯网(Bayesian networks,有向图模型)简单回顾 (二)隐马尔可夫模型(Hidden Markov model,HMM) 写着写着还是写成了很规整的样 ...
- 无法将类型“System.Collections.Generic.IEnumerable<EmailSystem.Model.TemplateInfo>”隐式转换为“System.Collections.Generic.List<EmailSystem.Model.TemplateInf
List<Model.Template> templateList = templateBLL.RecommendTemplateByOrder(modelEbay); List<M ...
- 隐马尔科夫模型 HMM(Hidden Markov Model)
本科阶段学了三四遍的HMM,机器学习课,自然语言处理课,中文信息处理课:如今学研究生的自然语言处理,又碰见了这个老熟人: 虽多次碰到,但总觉得一知半解,对其了解不够全面,借着这次的机会,我想要直接搞定 ...
- 隐马尔科夫模型(hidden Markov Model)
万事开头难啊,刚开头确实不知道该怎么写才能比较有水平,这篇博客可能会比较长,隐马尔科夫模型将会从以下几个方面进行叙述:1 隐马尔科夫模型的概率计算法 2 隐马尔科夫模型的学习算法 3 隐马尔科夫模型 ...
- 转:隐马尔可夫模型(HMM)攻略
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...
- 隐马尔可夫模型(HMM)
转自:http://blog.csdn.net/likelet/article/details/7056068 隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. ...
- 隐马尔可夫模型(HMM)攻略
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...
- 隐马尔可夫模型(HMM)
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...
- HMM:隐马尔可夫模型HMM
http://blog.csdn.net/pipisorry/article/details/50722178 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模 ...
随机推荐
- JDK8接口新关键字default和static
JDK8及以后,允许我们在接口中定义static方法和default方法. public interface InterfaceDemo { // static修饰符定义静态方法 static voi ...
- 在 Y 分钟内学会 Python
在 Y 分钟内学会 Python 这是翻译, 原文地址: Learn Python in Y Minutes 在 90 年代初, Python 由 Guido van Rossum 创造, 现在, 它 ...
- 1.7.6- 浏览器审查HTML标签元素
或者F12
- git pull 默认拉取远端其他分支 问题解决
今天工作中遇见了一个问题:执行git pull 命令时,默认合并了远端的某个分支,经过查阅资料发现是git的配置问题. 如图所示: git 查看远端主机详细配置信息 git remote show o ...
- POJ2446 二分匹配
题意: 给你一个n*m的格子,问你能不能用1*2的格子把他铺满,有的位置是不能被铺的. 思路: 水题,直接把个相邻的并且都是可以铺的点连一条边然后匹配一遍就行了,提醒一个地方,就 ...
- 记一次 .NET 医院CIS系统 内存溢出分析
一:背景 1. 讲故事 前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图: 和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的,不过对于内存方面出的问 ...
- Java前后端分离的认识
1.原由 在网上查了关于前后端分离的资料,有所粗浅认识.记录下来,方便以后使用.以下均是个人看法,仅做参考.如有错误请指教,共同进步. 2.为什么前后端分离? ①.一个后台,可以让多种前台系统使用.后 ...
- 细数 C++ 那些比起 C语言 更爽的特性
结构体定义 C: typedef struct Vertex { int x, y, z; } Vertex; Vertex v1 = { 0 }; // or struct Vertex { int ...
- c#操作斑马打印机打印中文
需要引用fnthex32.dll插件,这个网上就能下到,注意分为两个版本,一个版本是8个参数,一个版本是9个参数,我这里用的是9个参数的. 首先用zebradesigner设计一个打印模板 差不多就长 ...
- 在其他程序集访问internal类
前言 本文将介绍如何在其他程序集访问internal类的方法 首先我们新建一个解决方案,其中同时新建两个类库FooALibray和FooALibray,如下: 其中FooA类代码如下: intern ...