大数跨境
0
0

【十分钟 机器学习 系列课程】讲义(72):HMM模型例题讲解和直接计算法

【十分钟 机器学习 系列课程】讲义(72):HMM模型例题讲解和直接计算法 简博士数据分析吧
2023-01-24
1
导读:本课程讲义基于李航老师第2版的《统计学习方法》。



内容提要:

 * 观测序列的计算流程

 * 盒子和球模型例题讲解

 * 概率计算算法之直接计算法

点击蓝字 |关注我们

欢迎回来。这里是春节继续营业的《机器学习》讲义系列。上一期,我们带着大家用硬币的小例子来学习「HMM的三要素」【十分钟 机器学习 系列课程】讲义(71):隐马尔可夫模型的三要素 学习了用「初始状态分布、状态转移矩阵和观测概率矩阵」计算全概率公式的方法,接着,我们来看如何用HMM三要素求出「观测序列」

壹 观测序列的计算流程

1.思路梳理

由第1次观测到第2次观测的过程

简单回顾一下,开始时,我们有了「初始状态矩阵」,也就是有三个硬币的初始状态,是正面还是反面,接着根据「观测概率矩阵」,也就是各个硬币分别为正面和反面的概率大小,我们就可以生成对应的观测结果,而到了下一时刻,就需要「状态转移矩阵」来决定是下一时刻是哪个硬币,我们可以分情况去计算第二时刻的观测结果,也就是对应的观测序列的结果,以此类推...

2. 观测序列生成过程

「算法10.1」 观测序列的生成

「输入」:HMM模型 ,观测序列长度 意味着输入的三要素「矩阵」都是已知的,并且我们还得定下要观测多少个结果,比如 个。这样我们就知道要生成多少个观测值,即观测序列的长度。

「输出」:观测序列

「步骤」

  • 1.按照初始状态分布 产生状态 ;
  • 2.令 ;
  • 3.按照状态 的观测概率分布 生成 ;
  • 4.按照状态 的状态转移概率分布 产生状态 ;
  • 5.令 ,如果 转步(3),否则终止。

这样,一个一个的观测值就生成出来啦。

好啦,接着,我们就继续趁热打铁,用一个「盒子和球模型」的例子练手。

贰 盒子和球模型例题讲解

假设有 个盒子,每个盒子里面都装有红色和白色两种颜色的球,盒子里的红、白球数由表列出。

盒子 1 2 3 4
红球数 5 3 6 8
白球数 5 7 4 2
盒子里的球模型

从这个表格中,我们可以看出各个盒子里对应的红白球数,那么这里的「红球还是白球」代表了观测情况,而「盒子」代表了状态情况,从表格就可求出对应的「观测概率矩阵」

那么我们依次写出对应的观测空间、状态空间和观测概率矩阵。

「观测空间」

「状态空间」

「观测概率矩阵」:

那么我们继续读题。

按照下面的方法抽球,产生一个球的颜色观测序列:

「开始」:从4个盒子里等概率随机选取1个盒子,从这个盒子里随机抽出1个球,记录其颜色后放回。

注意哦,等概率抽取1个后放回,代表了「初始状态矩阵」

「然后」:从当前盒子随机转移到下一个盒子,规则是:如果当前盒子是盒子1,那么下一盒子一定是盒子2,如果当前是盒子2或3,那么分别以概率0.4和0.6转移到左边或右边的盒子,如果当前是盒子4,那么各以0.5的概率停留在盒子4或转移到盒子3。

从这段话里,我们可以得到从当前盒子转移到下一个盒子的概率矩阵,也就是「状态转移矩阵」

「最后」,确定转移的盒子后,再从这个盒子里随机抽出1个球,记录其颜色,放回;如此下去重复进行5次,得到1个球的颜色观测序列:

这就是观测序列的生成过程。

换个角度,如果我们能看到这组观测序列,观测概率又是多少的呢?也就是看到红色、红色、白色、白色和红色球这些结果的概率怎么计算出来,记为「问题1:概率计算问题」

HMM的应用1:概率计算问题

那么,除了「概率计算」外,还有什么?

问题2:假如说,我们已经知道了观测序列,但是HMM的三要素未知,就需要学习出三要素的值,记为「问题2:学习出三要素的问题」。换而言之,这就是隐马尔科夫模型的「参数估计」问题。

HMM的应用2:参数估计之学习出三要素

最后,如果估计出了三要素,可否对未来有个预测,方便决策者进行判断?这就是「问题3:预测问题」

HMM的应用3:预测问题

接着,我们就先来看看「概率计算算法」,也就是问题1。

叁 概率计算算法之直接计算法

概率计算算法共有三种方法,分别是:「直接计算法、前向算法和后向算法」

在之前的三硬币例子中用的就是直接计算法。

直接计算法

既然我们明确了HMM的三要素是: ,观测序列是

直接计算法的思路十分简单,就像是剥洋葱,一层层展开。对于3枚硬币,第一时刻有 种硬币可能,第一时刻和第二时刻合并起来就是 种,三个时刻都合并则是 种...每轮都是呈指数上升的,到了最后一轮,对应的数为 次,对应的计算量还是非常大的。

我们一起来按步骤梳理一下:

step 1 计算初始状态的概率

当我们已知初始状态、观测序列和三要素后,我们要利用「乘法公式」来计算出状态条件下的概率:

那么「左式」代表在三要素下既是观测序列又有对应状态的概率。而「右式1」代表了三要素下当前状态的概率,而「右式2」代表了在该状态和三要素下观测序列的概率。

step 2 求出当前状态的概率

接着,我们就要求出当前状态下的概率即右式1,记为:

其中, 代表了在第 个状态下的初始状态概率,然后乘以依次到各个状态的转移概率,也就是对应的

step 3 计算观测序列的概率

接着,我们就要分别计算在不同状态在对应的观测序列概率,记为:

这里则分别计算出在第 个状态下,观测到第 个结果的概率,然后依次相乘。

将步骤2和步骤3的展开式相乘后,得到最终的「联合概率」啦。

其实,换种思路,我们也可以直接写出联合概率。一个时刻一个时刻地来:

通过全概率展开的方式,遍历 个时刻所有状态组合的可能性,就能得到观测序列的概率。

以上就是咱们的直接计算法,计算思路好理解,但是复杂度却高达 次,计算量大。

那么,还有没有更简便的方法?自然是有的,就在咱们下期的揭晓,感兴趣的小伙伴也可在 B 站上同步看视频学习,如果这个免费讲义对你的学习有所帮助,请帮助我们推荐给更多的朋友,回复「入群」,也可以加入我们的学习来哦!我们下期不见不散。


欢迎大家关注简博士的B站和公众号,在公众号私信“入群”,可以与小伙伴们一起讨论问题哦。


扫码关注我们

微信号|Dr_Janneil

B站|知乎 | 简博士

【声明】内容源于网络
0
0
简博士数据分析吧
信息时代最不缺的是什么?数据!最缺的是什么?数据分析的思维!在这里,你将获取神秘的力量,推开数据之门!
内容 181
粉丝 0
简博士数据分析吧 信息时代最不缺的是什么?数据!最缺的是什么?数据分析的思维!在这里,你将获取神秘的力量,推开数据之门!
总阅读42
粉丝0
内容181