用摸鱼学来解释隐马尔可夫模型(HMM)
尝试用摸鱼学来解释隐马尔可夫模型
假如小明一周工作六天,每天工作状态都不相同,比如有活少、活多、心情好、心情差和双倍工资5种状态,不同工作状态下工作效率也不相同,活少和心情差的时候摸鱼时间多,活多、心情好和双倍工资的时候摸鱼时间少。
从小明的工作日常中可以提炼出5种状态和2种观测和观测6天。
状态:活少、活多、心情好、心情不好、双倍工资
观测:摸鱼、认真上班
将涉及到的可能情况展开如下图所示。
每一行对应相同状态,每一列对应每一天。其中红色块在矩形中的占比表示一天中摸鱼的程度,也就是摸鱼的观测概率。蓝色箭头表示不同状态间的转移概率。那么状态序列总共有5^6种。
假设天数为T(列数),状态数为N(行数)。
问题1(概率计算问题):假如观察小明的六天,得到的观测序列为:摸鱼 -> 认真工作 -> 摸鱼 -> 认真工作 -> 摸鱼 -> 认真工作,并且已知蓝色箭头的状态转移概率和摸鱼的观测概率,请问该观测序列的概率为多少?
从上图就可以知道只要求出所有能够得到该观测序列的状态序列概率之和就行了。总共有N^T种状态序列(穷举所有蓝色箭头路径),并且每种状态序列需要T个观测概率相乘(每个状态一个观测概率),所以总的计算复杂度为O(N^T)。这种暴力求解的方法计算复杂度太高了,可以用前向-后向算法来减少计算量。
以前向算法为例(后向算法可以认为是状态序列的反转,计算方法相同),简单来说,就是利用分治和动态规划的思想,把6天拆分成5个重复单元,然后先计算出第一个重复单元红色虚线框中每个状态的观测概率,并且保存下来当作下一个重复单元的初始状态,循环5次就得了最终的观测概率。每个重复单元总共有N^2种状态序列,并且每种状态序列需要2个观测概率相乘,所以一个重复单元的计算复杂度为O(N^2),那么总的计算复杂度为O(TN^2)。比起暴力求解观测概率,复杂度大大降低。
问题2(学习问题):已知小明加上同事,总共有10人的观测序列,请问如何估计不同状态之间的转移概率和摸鱼的观测概率呢?
如图所示,红色块和蓝色箭头是需要通过10人的观测序列估计出来的。这里需要用到Baum-Welch算法,简单来说,就是通过EM算法构建出带隐函数的优化函数Q,然后用拉格朗日函数求解。
问题3(预测问题):假如观察小明的六天,得到的观测序列为:摸鱼 -> 认真工作 -> 摸鱼 -> 认真工作 -> 摸鱼 -> 认真工作,并且已知蓝色箭头的状态转移概率和摸鱼的观测概率,请问该观测序列最有可能的状态序列是什么?
这个问题跟问题1很相似,不同的地方在于问题1是求该观测序列的所有状态序列概率之和,而问题3求的是该观测序列的所有状态序列中最有可能出现的状态序列。
所以求解方式和问题1类似,只不过需要从所有可能状态序列中找出概率最大的状态序列。上图绿色路径可能就是概率最大的状态序列。
可见隐马尔可夫模型简直太有用了!老板可以通过公司的规章制度来引导员工的身心健康!或者根据员工的摸鱼情况来预测员工的身心健康,从而更好的优化公司的规章制度!
- END -
[旧文新读] 深度学习在Airbnb搜索的应用实践
2021-08-02
Embedding 技术在推荐系统中的应用实践
2021-08-01
NLP预训练家族 | Transformer-XL及其进化XLNet
2021-07-30
Focal Loss --- 从直觉到实现
2021-07-28
用摸鱼学来解释隐马尔可夫模型(HMM)相关推荐
- 【机器学习】用摸鱼学来解释隐马尔可夫模型(HMM)
尝试用摸鱼学来解释隐马尔可夫模型 假如小明一周工作六天,每天工作状态都不相同,比如有活少.活多.心情好.心情差和双倍工资5种状态,不同工作状态下工作效率也不相同,活少和心情差的时候摸鱼时间多,活多.心 ...
- 隐马尔科夫模型 HMM 与 语音识别 speech recognition (1):名词解释
0.引言 想在 CSDN 上看一下隐马尔科夫模型,简称HMM(Hidden Markov Model)的例子,找了几篇博文,却发现大部分都是转载的,转载的还没有出处,文中的表述与逻辑也看的人晕头转向, ...
- 【ML】【HMM】【转】隐马尔可夫模型(HMM)简介
隐马尔可夫模型(HMM)简介 转自:http://xiaofeng1982.blog.163.com/blog/static/315724582009824103618623/ 请各位读者深吸一口气- ...
- [zz] 隐马尔可夫模型(HMM)简介
这篇文章是我看过的关于HMM最好的文章之一,值得仔细揣摩, 这篇文章里面有一些错误,如计算和表达,需要注意. 隐马尔可夫模型(HMM)简介 http://xiaofeng1982.blog.163.c ...
- 隐马尔可夫模型(HMM)简介(转贴)
隐马尔可夫模型(HMM)简介(转贴) 2009-08-14 09:28 请各位读者深吸一口气--呼-- 开始-- (一) 阿黄是大家敬爱的警官,他性格开朗,身体强壮,是大家心目中健康的典范. 但是,近 ...
- viterbi维特比算法和隐马尔可夫模型(HMM)
阅读目录 隐马尔可夫模型(HMM) 回到目录 隐马尔可夫模型(HMM) 原文地址:http://www.cnblogs.com/jacklu/p/7753471.html 本文结合了王晓刚老师的ENG ...
- 隐马尔可夫模型HMM学习备忘
隐马尔可夫模型HMM学习备忘 目录 隐马尔可夫模型HMM学习备忘 1.马尔可夫模型的理解 2.隐马尔可夫模型 2.1.HHM的组成 2.2.HMM解决的三个基本问题 隐马尔可夫模型示意图如图[1]: ...
- 【机器学习算法】隐马尔可夫模型HMM(一)
目录 一.马尔可夫模型 1. 马尔可夫性 2. 马尔可夫链 3. 马尔可夫链案例 二.隐马尔可夫模型HMM 1. named entity recognition(命名实体识别)问题概述 2. 什么是 ...
- python地图匹配_基于隐马尔科夫模型(HMM)的地图匹配(Map-Matching)算法
1. 摘要 本篇博客简单介绍下用隐马尔科夫模型(Hidden Markov Model, HMM)来解决地图匹配(Map-Matching)问题.转载请注明网址. 2. Map-Matching(MM ...
最新文章
- 第一个dotnetcore程序,Hello World
- JavaScript对象与事件
- 简单英文题 16 Maximum Sum Not Exceeding K(python)
- 转:android学习帖子大汇集
- python列表的排序方法_Python 列表 sort() 方法
- 当cell中有UItextfiled或者UITextVIew时,弹出键盘把tableview往上,但是有的cell没有移动...
- SqlServer整库备份还原脚本
- Codeforces 700 C. Break Up(Tarjan求桥)
- javascript对行单击事件处理(委托事件)
- bios 微星click_微星主板CLICK BIOS II BIOS设置软件
- cad字体安装_一键自动替换CAD图纸缺失的字体
- Basic4Android简单教程(从安装到编译部署到手机)
- 计算机网络基础ios指令,IOS快捷指令制作真正的贴吧每天全自动签到
- html5转ipk,OpenWrt更新ipk教程
- python 取数组最后一个_在numpy数组中查找最后一个值
- 华为路由器显示连接到服务器失败怎么办,华为路由器设置好后不能上网怎么办...
- 服务器如何管理和维护,运维人员是如何管理上千台服务器的?
- 交换机access接口
- XJOI_3541_开根号
- 论文笔记 EMNLP 2020|Resource-Enhanced Neural Model for Event Argument Extraction