【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数


作者:CHEONG

公众号:AI机器学习与知识图谱

研究方向:自然语言处理与知识图谱


阅读本文之前,首先注意以下两点:

1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。

2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号后回复:HMM第三讲,本文详细推导使用EM算法求解隐马尔科夫模型Learning问题。



隐马尔科夫模型Learning问题:属于参数估计问题,即如何求解参数 λ = ( π , A , B ) \lambda=(\pi,A,B) λ=(π,A,B),使用EM算法求解。

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

首先,回顾一下EM算法的优化公式:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

在本节中观测变量用 O O O替代 X X X,状态序列即隐变量用 I I I替代 Z Z Z,并且隐变量用 I I I是离散的,参数则用 λ \lambda λ替代 θ \theta θ,因此隐马尔科夫模型Learning问题优化公式为:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

因为:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

其中观测序列 O O O已知,并且 λ t \lambda^t λt是一个常数,所以 p ( O , λ t ) p(O,\lambda^t) p(O,λt)是个已知常数,所以隐马尔科夫模型Learning问题优化公式可简化为:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

这里再明确一下需要求解的参数 λ t + 1 \lambda^{t+1} λt+1

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

根据上一节的计算可知:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

将 p ( O , I ∣ λ t ) p(O,I|\lambda^t) p(O,I∣λt)代入优化公式,这里令优化公式为:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

为求解参数 λ \lambda λ,需要依次求解出 λ = ( π , A , B ) \lambda=(\pi,A,B) λ=(π,A,B)三个参数,这里以参数 π \pi π求解为例,参数 A , B A,B A,B的求解方式类似,因此:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

显然,上面是带有约束条件的优化问题,可以使用拉格朗日乘子法进行求解:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

因此:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

将 η \eta η带回可以求得 π i t + 1 \pi_i^{t+1} πit+1​值为

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

因此:

【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数

至此边求得了 π t + 1 \pi^{t+1} πt+1,接下来便可使用EM算法求解出最优的参数 π \pi π,同理可求解参数 A , B A,B A,B



往期精彩


【知识图谱系列】Over-Smoothing 2020综述

【知识图谱系列】基于生成式的知识图谱预训练模型

【知识图谱系列】基于2D卷积的知识图谱嵌入

【知识图谱系列】基于实数或复数空间的知识图谱嵌入

【知识图谱系列】自适应深度和广度图神经网络模型

【知识图谱系列】知识图谱多跳推理之强化学习

【知识图谱系列】知识图谱的神经符号逻辑推理

【知识图谱系列】动态时序知识图谱EvolveGCN

【知识图谱系列】多关系神经网络CompGCN

【知识图谱系列】探索DeepGNN中Over-Smoothing问题

【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲

【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读

【面经系列】八位硕博大佬的字节之旅

【机器学习系列】机器学习中的两大学派

各大AI研究院共35场NLP算法岗面经奉上

干货 | Attention注意力机制超全综述

干货 | NLP中的十个预训练模型

干货|一文弄懂机器学习中偏差和方差

FastText原理和文本分类实战,看这一篇就够了

Transformer模型细节理解及Tensorflow实现

GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递

机器学习算法篇:最大似然估计证明最小二乘法合理性

Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码


原稿获取请关注公众号后回复:HMM第三讲 ,原创不易,有用就点个赞呀!

上一篇:JAVAEE学习——hibernate02:实体规则、对象状态、缓存、事务、批量查询和实现客户列表显示


下一篇:学点算法搞安全之HMM(下篇)