隐含马尔可夫模型:


补充资料:

状态转移矩阵:

状态转移矩阵是俄国数学家马尔科夫提出的,他在20世纪初发现:一个系统的某些因素在转移过程中,第n次结果只受第n-1的结果影响,即只与当前所处状态有关,而与过去状态无关。 在马尔科夫分析中,引入状态转移这个概念。所谓状态是指客观事物可能出现或存在的状态;状态转移是指客观事物由一种状态转移到另一种状态。

什么是马尔可夫链:

下面资料来源知乎:

作者:红猴子
链接:https://www.zhihu.com/question/26665048/answer/157852228
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我来试着回答下吧。

(本文来自我的微信公众号:红猴子,一个工科生涨姿势的号)

马尔可夫链 (Markov Chain)是什么鬼

它是随机过程中的一种过程,一个统计模型,到底是哪一种过程呢?好像一两句话也说不清楚,还是先看个例子吧。

先说说我们村智商为0的王二狗,人傻不拉几的,见人就傻笑,每天中午12点的标配,仨状态:吃,玩,睡。这就是传说中的状态分布。

你想知道他n天后中午12点的状态么?是在吃,还是在玩,还是在睡?这些状态发生的概率分别都是多少? (知道你不想,就假装想知道吧~~学习真的好累~~)

先看个假设,他每个状态的转移都是有概率的,比如今天玩,明天睡的概率是几,今天玩,明天也玩的概率是几几,还是先看个图吧,更直观一些。

这个矩阵就是转移概率矩阵P,并且它是保持不变的,就是说第一天到第二天的转移概率矩阵跟第二天到第三天的转移概率矩阵是一样的。(这个叫时齐,不细说了,有兴趣的同学自行百度)。

有了这个矩阵,再加上已知的第一天的状态分布,就可以计算出第N天的状态分布了。

S1 是4月1号中午12点的的状态分布矩阵 [0.6, 0.2, 0.2],里面的数字分别代表吃的概率,玩的概率,睡的概率。

那么

4月2号的状态分布矩阵 S2 = S1 * P (俩矩阵相乘)。

4月3号的状态分布矩阵 S3 = S2 * P (看见没,跟S1无关,只跟S2有关)。

4月4号的状态分布矩阵 S4 = S3 * P (看见没,跟S1,S2无关,只跟S3有关)。

...

4月n号的状态分布矩阵 Sn = Sn-1 * P (看见没,只跟它前面一个状态Sn-1有关)。

-------------------------------------------------------------------------------------------------------------------------

总结:马尔可夫链就是这样一个任性的过程,它将来的状态分布只取决于现在,跟过去无关!

就把下面这幅图想象成是一个马尔可夫链吧。实际上就是一个随机变量随时间按照Markov性质进行变化的过程。

什么是隐含马尔可夫模型:

下面资料来源知乎:

作者:henry
链接:https://www.zhihu.com/question/20962240/answer/64187492
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在写论文的时候,知乎上的这个回答对我帮助颇大,从完全白痴到稍微明白一点点。本着投桃报李的精神,现在也将我所理解的隐形马尔可夫模型用尽可能通俗的语言,尽可能简单的例子,做一个讲解。
隐形马尔可夫模型,英文是 Hidden Markov Models,所以以下就简称 HMM。
既是马尔可夫模型,就一定存在马尔可夫链,该马尔可夫链服从马尔可夫性质:即无记忆性。也就是说,这一时刻的状态,受且只受前一时刻的影响,而不受更往前时刻的状态的影响。
在这里我们仍然使用非常简单的天气模型来做说明。

在这个马尔可夫模型中,存在三个状态,Sunny, Rainy, Cloudy,同时图片上标的是各个状态间的转移概率(如果不明白什么是转移概率,那建议先去学习什么是马尔可夫再来看HMM)。
现在我们要说明什么是 HMM。既是隐形,说明这些状态是观测不到的,相应的,我们可以通过其他方式来『猜测』或是『推断』这些状态,这也是 HMM 需要解决的问题之一。
举个例子,我女朋友现在在北京工作,而我还在法国读书。每天下班之后,她会根据天气情况有相应的活动:或是去商场购物,或是去公园散步,或是回家收拾房间。我们有时候会通电话,她会告诉我她这几天做了什么,而闲着没事的我呢,则要通过她的行为猜测这几天对应的天气最有可能是什么样子的。
以上就是一个简单的 HMM,天气状况属于状态序列,而她的行为则属于观测序列。天气状况的转换是一个马尔可夫序列。而根据天气的不同,有相对应的概率产生不同的行为。在这里,为了简化,把天气情况简单归结为晴天和雨天两种情况。雨天,她选择去散步,购物,收拾的概率分别是0.1,0.4,0.5, 而如果是晴天,她选择去散步,购物,收拾的概率分别是0.6,0.3,0.1。而天气的转换情况如下:这一天下雨,则下一天依然下雨的概率是0.7,而转换成晴天的概率是0.3;这一天是晴天,则下一天依然是晴天的概率是0.6,而转换成雨天的概率是0.4. 同时还存在一个初始概率,也就是第一天下雨的概率是0.6, 晴天的概率是0.4.

根据以上的信息,我们得到了 HMM的一些基本要素:初始概率分布 π,状态转移矩阵 A,观测量的概率分布 B,同时有两个状态,三种可能的观测值。
现在,重点是要了解并解决HMM 的三个问题。
问题1,已知整个模型,我女朋友告诉我,连续三天,她下班后做的事情分别是:散步,购物,收拾。那么,根据模型,计算产生这些行为的概率是多少。
问题2,同样知晓这个模型,同样是这三件事,我女朋友要我猜,这三天她下班后北京的天气是怎么样的。这三天怎么样的天气才最有可能让她做这样的事情。
问题3,最复杂的,我女朋友只告诉我这三天她分别做了这三件事,而其他什么信息我都没有。她要我建立一个模型,晴雨转换概率,第一天天气情况的概率分布,根据天气情况她选择做某事的概率分布。(惨绝人寰)
而要解决这些问题,伟大的大师们分别找出了对应的算法。

问题一,Forward Algorithm,向前算法,或者 Backward Algo,向后算法。

问题二,Viterbi Algo,维特比算法。

问题三,Baum-Welch Algo,鲍姆-韦尔奇算法(中文好绕口)。
尽管例子有些荒谬(天气情况要复杂的多,而且不太可能满足马尔可夫性质;同时,女朋友要做什么往往由心情决定而不由天气决定。而从问题一来看,一定是天数越多,这个概率就会越低;从问题三来看,观察到的行为越多,模型才能更准确一些),但是应该已经简单却又详尽地解释了什么是 HMM。如果只是想了解个大概,到此为止。
===========================我是分割线====================================
分割线以下的,就是具体如何解决这三大问题。需要数学基础,概率基础。
问题1的解决1:遍历算法。
要计算产生这一系列行为的概率,那我们把每一种天气情况下产生这些行为都罗列出来,那每种情况的和就是这个概率。有三天,每天有两种可能的天气情况,则总共有 2的三次=8种 情况.
举例其中一种情况 : P(下雨,下雨,下雨,散步,购物,收拾)=P(第一天下雨)P(第一天下雨去散步)P(第二天接着下雨)P(下雨去购物)P(第三天还下雨)P(下雨回家收拾)=0.6X0.1X0.7X0.4X0.7X0.5=0.00588
当然,这里面的 P(第二天接着下雨)当然是已知第一天下雨的情况下,第二天下雨的概率,为0.7.
将八种情况相加可得,三天的行为为{散步,购物,收拾}的可能性为0.033612. 看似简单易计算,但是一旦观察序列变长,计算量就会非常庞大(的复杂度,T 为观测序列的长度)。
问题1 的解决2:向前算法。
先计算 t=1时刻,发生『散步』一行为的概率,如果下雨,则为 P(散步,下雨)=P(第一天下雨)X P(散步 | 下雨)=0.6X0.1=0.06;晴天,P(散步,晴天)=0.4X0.6=0.24
t=2 时刻,发生『购物』的概率,当然,这个概率可以从 t=1 时刻计算而来。
如果t=2下雨,则 P(第一天散步,第二天购物, 第二天下雨)= 【P(第一天散步,第一天下雨)X P(第二天下雨 | 第一天下雨)+P(第一天散步,第一天晴天)X P(第二天下雨 | 第一天晴天)】X P(第二天购物 | 第二天下雨)=【0.06X0.7+0.24X0.3】X0.4=0.0552
如果 t=2晴天,则 P(第一天散步,第二天购物,第二天晴天)=0.0486 (同理可得,请自行推理)
如果 t=3,下雨,则 P(第一天散步,第二天购物,第三天收拾,第三天下雨)=【P(第一天散步,第二天购物,第二天下雨)X P(第三天下雨 | 第二天下雨)+ P(第一天散步,第二天购物,第二天天晴)X P(第三天下雨 | 第二天天晴)】X P(第三天收拾 | 第三天下雨)=【0.0552X0.7+0.0486X0.4】X0.5= 0.02904
如果t=3,晴天,则 P(第一天散步,第二天购物,第三天收拾,第三天晴天)= 0.004572
那么 P(第一天散步,第二天购物,第三天收拾),这一概率则是第三天,下雨和晴天两种情况的概率和。0.02904+0.004572=0.033612.
以上例子可以看出,向前算法计算了每个时间点时,每个状态的发生观测序列的概率,看似繁杂,但在 T 变大时,复杂度会大大降低。

问题1的解决3:向后算法
顾名思义,向前算法是在时间 t=1的时候,一步一步往前计算。而相反的,向后算法则是倒退着,从最后一个状态开始,慢慢往后推。
初始化: (第一次使用知乎的公式编辑,还蛮靠谱的嘛)

递推:
=0,.7x0.5x1+0.3x0.1x1=0.38
其中第一项则是转移概率,第二天下雨转到第三天下雨的概率为0.7;第二项则是观测概率,第三天下雨的状况下,在家收拾的概率为0.5;第三项就是我们定义的向后变量(backward variable)。
同理推得\beta_1(Rainy)=0.1298\\
\beta_1(Sunny)=0.1076" eeimg="1">
结束:P(散步,购物,收拾) ==0.6×0.1×0.1298+0.4×0.6×0.1076

=0.033612

三种算法的答案是一致的。

问题2的解决:维特比算法

维特比算法致力于寻找一条最佳路径,以便能最好地解释观测到的序列。

初始化:\delta_1(Sunny)=\pi_S\times b_S(O_1=Walk)=0.24" eeimg="1">

初始路径:\phi_1(Sunny)=0" eeimg="1">

递推,当然是要找出概率比较大的那条路径。

那么,到达第二天下雨这一状态的最佳路径,应该是:


也就是说,第一天是晴天的可能性更大。
同样地,可以推得,\phi_2(Sunny)=Sunny\\
\delta_3(Rainy)=0.01344\\
\phi_3(Rainy)=Rainy\\
\delta_3(Sunny)=0.002592\\
\phi_3(Sunny)=Sunny
" eeimg="1">
结束:比较 的大小,发现前者较大,则最后一天的状态最有可能是 下雨天。
回推:根据 可知,到达第三天下雨这一状态,最有可能是第二天也下雨,再根据可知,到达第二天下雨这一状态,最有可能是第一天是晴天。
由此,我们得到了最佳路径,即,晴天,雨天,雨天。
问题3的解决:Baum-Welch 算法。
此问题的复杂度要远远高于前两种算法,不是简单解释就能说的清楚的了。若有兴趣,可以私信我。
我非常赞同霍金老头的『多一个公式,少十个读者』的说法,但是自己写起来,却发现用英文的这些公式好像比中文更简洁易懂,中文好像更罗里吧嗦一些。
依然怀着非常感恩的心,再次感谢这个问题以及回答问题的这些热心的人们给我带来的帮助。


注:这里没有对延伸阅读的思维导图,延伸阅读与隐含马尔可夫模型的训练相关。


转载于:https://www.cnblogs.com/progor/p/8605459.html

《数学之美》读书记录【思维导图记录】:第五章,隐含马尔可夫模型相关推荐

  1. 《数学之美》第5章 隐含马尔可夫模型

    1 通信模型 通信的本质就是一个编解码和传输的过程. 当自然语言处理的问题回归到通信系统中的解码问题时,很多难题就迎刃而解了. 雅格布森通信六要素是:发送者(信息源),信道,接受者,信息, 上下文和编 ...

  2. 数学之美-隐含马尔可夫模型-笔记

    <数学之美>吴军 著 第二版 --读书笔记 原理 通信模型: Created with Raphaël 2.1.2信息.上下文信息.上下文传递的信息传递的信息接收的信息接收的信息(s1,s ...

  3. 数学之美 系列三 -- 隐含马尔可夫模型在语言处理中的应用

    发表者:吴军,Google 研究员 前言:隐含马尔可夫模型是一个数学模型,到目前为之,它一直被认为是实现快速精确的语音识别系统的最成功的方法.复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述. ...

  4. 数学之美——隐含马尔科夫模型

    隐含马尔科夫模型由美国数学家鲍姆等人在20世纪6070年代提出. 马尔科夫链:也称马尔科夫过程,指符合马尔科夫假设的随机过程. 某个特定的状态序列s1,s2,s3--产生输出序列o1,o2,o3--的 ...

  5. HMM模型——隐含马尔科夫模型【详细分析+图】

    HMM(隐马尔可夫模型) 含义 HMM(Hidden Markov Model), 中文称作隐含马尔科夫模型, 因俄国数学家马尔可夫而得名. 它一般以文本序列数据为输入, 以该序列对应的隐含序列为输出 ...

  6. 《见识》读书笔记思维导图精华版赏析!

    <见识>名词解释:指明确地,正确地作出判断及认识的能力.见识产生于人的才智,也产生于他的天性与心地.本书从知识(最底层).见识(中层).远识(最上层)三个层次为结构来告诉你答案! < ...

  7. 《刻意练习》读书笔记思维导图精华版,探索成功的秘诀

    <刻意练习>如何从新手到大师是2016年11月机械工业出版社出版的图书,作者是安德斯·艾利克森.首次提出"提出概念的是佛罗里达州大学心理学教授.刻意练习听起来,很简单,但是你知道 ...

  8. html树状图右侧_马尔可夫模型怎么画?必备入门级模型图设计软件

    马尔可夫模型是什么呢?马尔可夫模型(Markov Model)也叫马尔可夫分析法,是一种广泛通用的应用于语音识别,音字转换,概率文法,词性自动标注等各个自然语言处理领域的统计模型.马尔可夫模型可以帮助 ...

  9. 【机器学习基础】数学推导+纯Python实现机器学习算法24:HMM隐马尔可夫模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab HMM(Hidden Markov Model)也就是隐马尔可夫模型,是一种由隐藏的马尔可夫链随机 ...

最新文章

  1. Java技术在多数据库系统中的应用研究
  2. trove mysql 镜像_Linux运维----03.制作trove-mysql5.7镜像
  3. Web Service 与 RESTful Web Service比较
  4. ORB-SLAM介绍(无源码版本)
  5. 《每日一剂》适配器刷新报错adapter.notifyDataSetChanged()解决
  6. linux 常用到的命令(centos 6.5)
  7. tcga数据下载_手把手教你用R下载TCGA数据:CGDSR包
  8. 随着计算机科学技术和互联网,计算机科学与技术发展趋势的几点思考
  9. css3边框背景border-image
  10. 苏宁数据中台架构实践
  11. 天津大学学硕和专硕的区别_全日制考研与非全日制还有学硕专硕的区别!
  12. JUC笔记(synch、ReentrantLock、volatile等)
  13. 科技、家电巨头混战AIoT:谁是未来十年的新入口?
  14. 短域名服务设计与实现
  15. 多音字重组成新的词语句子
  16. 【工业机器人】关于工业机器人控制系统,这几方面内容你必须掌握;如何将工业机器人与数控机床融合应用?
  17. webpack多页面打包
  18. 手机信号屏蔽器的设计与制作
  19. 调用smooth函数进行加噪数据的平滑处理
  20. 知乎萧井陌大神《编程入门指南v1.3》思维导图

热门文章

  1. 不要这样学习C语言,这是个坑!
  2. osg学习(三十一)osg、Qt的image
  3. 旧时光的伤感日志:我们的转身,泪倾城
  4. php京东云oss,干货 | 基于Go SDK操作京东云对象存储OSS的入门指南
  5. 单线服务器与BGP服务器使用区别大吗
  6. Android Studio 安装和配置genymotion模拟器过程中所遇到的问题
  7. 从零开始学习演讲|职场小白演讲成长之路
  8. SEO黑帽技术只多少
  9. 社区APP “钱途”漫漫
  10. 小米路由器提示网络连接问题