内容提要:
* 1分钟回顾EM算法
* 用MLE求HMM的三要素
点击蓝字 |关注我们
欢迎回来。在之前几期【十分钟 机器学习 系列课程】讲义(75):HMM模型-概率计算算法的期望表达式中,我们给大家介绍HMM模型中的概率计算方法,那么这期开始,我们就进入到「HMM模型的学习算法」阶段,即如何得到HMM模型的三要素。
壹 1分钟回顾EM算法
上期我们也说到可以用EM算法来求出HMM的三要素,比如在混合高斯模型的算例中(【十分钟 机器学习 系列课程】讲义(66):EM算法高斯混合模型的E步 【十分钟 机器学习 系列课程】讲义(67):EM算法高斯混合模型的M步):
「已知」每个观测数据 和它们分别对应的高斯分布
「求出」各个高斯分布的占比、每个高斯分布的参数(包括均值和方差)
这时候,可以通过E步补全隐变量信息、找出M步的期望目标函数,再通过M步实现期望最大化求解。
具体的流程如下:
❝
「1.补全隐变量的信息」。补全隐变量信息,对应的分别是 和 , 代表了展开隐变量的示性函数。 代表了来自于第 个分布的样本个数,我们对其估计
「2.找到M步的目标函数」。
「3.对Q函数最大化求解」。 ❞
在EM算法中,采用的思路本质还是极大似然法MLE,即在「全部信息」已知的情况下,利用频率去计算概率的估计值。
贰 用MLE求HMM的三要素
那么,能否把MLE应用到求解HMM的三要素呢?答案是肯定的。我们先把已知量和输出量都列在这里。
「已知」HMM模型的观测序列和状态序列,即对每个观测值都知道它所对应的状态是什么。

「求出」初始状态分布 ,状态转移矩阵 ,观测概率矩阵 。
1.利用MLE求出
对于初始状态分布而言,即各个状态初始的概率,那么假如观测序列和状态序列已知,我们就可以将目光锁定到初始时刻,「来数一数处于各个状态的样本个数,并分别除以初始时刻的样本总个数就行」。
对应的概率为:
当然,这里有个重要的问题在于,如果我们此时只知道一条马尔可夫链时,以小球和盒子为例,其中小球作为观测集合,有红球和白球;盒子作为状态集合,分别有1、2、3号盒子。
那么对应的1条马尔可夫链比如下图:
对应的每个时刻下的观测到的小球和其所属的盒子都是已知的,但对于初始概率分布而言,我们「也只知道第1时刻的唯一一种情况」,那对于上面的公式而言就无法计算了。
其实,这里要强调的是,因为要用MLE来求解,那「必然是全部信息已知的」,也就意味着当数据来自总体,有多条马尔可夫链时,我们便可以把多条中第1时刻的数据提取出来,展开计算。
2.利用MLE求出
接着,我们来求状态转移矩阵 ,对于 而言,它是「代表 时刻由状态 转移到状态 的概率」,那么如果状态总数有 个,对应的矩阵自然是 的方阵,记为:
这个思路很简单,即我们把 时刻所有从 状态到 状态的个数挑出来作为分子,然后将所有处于 状态的样本个数求和作为分母。
记为:
3.利用MLE求出
最后,我们来求观测概率矩阵 ,它的含义代表了「对于第 个状态而言,对应的第 个观测结果的概率」,如果状态总数有 个,观测的总数有 个,记为:
那么,它的求解即把处于第 个状态对应的第 个观测结果的样本个数作为分子,将处于第 个状态的所有样本个数作为分母,记为:
注意这里的分母 和求解 中的分母 是完全不同的含义, 代表了第 状态下对应的各个观测个数的总和,比如球和盒子模型中,当 时, 为3号盒子出现的样本总数。而 代表从第 状态转移的总数,当 时,代表了计算从2号盒子转移的下一个盒子的样本总数。
两者并不相同。
那么以上就是在「已知状态序列和观测序列的前提下」,利用MLE求出HMM模型三要素的求解过程啦。
现在,问题来了:
❝是否有方法能在「仅已知观测序列」,而「不知对应的状态序列」下,还能求出HMM模型的三要素呢?
❞
答案自然是肯定的,这也就是在我们下期将要隆重介绍的「Baum-Welch」 算法中揭晓。
好啦,关于「完全数据下的用MLE求HMM三要素」就说到这里,感兴趣的小伙伴也可在 B 站上同步看视频学习,如果这个免费讲义对你的学习有所帮助,请帮助我们推荐给更多的朋友,回复「入群」,也可以加入我们的学习来哦!我们下期不见不散。
欢迎大家关注简博士的B站和公众号,在公众号私信“入群”,可以与小伙伴们一起讨论问题哦。
扫码关注我们
微信号|Dr_Janneil
B站|知乎 | 简博士

