作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,首先注意以下两点:
1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。
2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号后回复:EM算法第一讲,本文主要从以下四个方面介绍EM算法:
EM算法解决的问题
EM算法E-Step和M-Step
EM算法收敛性证明
EM算法延展思考
通俗些说,EM算法就是求含有隐变量 z z z的概率模型 p ( x , z ∣ θ ) p(x,z|\theta) p(x,z∣θ)中的参数 θ \theta θ。对于求参数问题我们很容易想到最大似然估计法MLE,但MLE是针对比较简单的概率模型 p ( x ∣ θ ) p(x|\theta) p(x∣θ)可直接使用MLE求出参数的解析解,MLE参数最大化公式所示:
对于含有隐变量的概率模型 p ( x , z ∣ θ ) p(x,z|\theta) p(x,z∣θ),隐变量 z z z的概率分布是未知的,无法使用MLE求出解析解,因此使用EM算法来求解参数的近似解。对于概率密度 p ( x , z ∣ θ ) p(x,z|\theta) p(x,z∣θ)参数求解公式如下:
对于上式参数 θ t + 1 \theta^{t+1} θt+1求解,EM算法是分为E-Step和M-Step两步进行参数求解。
在E-Step求期望 Q ( θ , θ t ) Q(\theta,\theta^t) Q(θ,θt):
在M-Step通过最大化期望来求解参数值 θ \theta θ:
EM算法收敛性,数学定义如下:随着 θ t − > θ t + 1 \theta^{t}->\theta^{t+1} θt−>θt+1参数迭代,最大似然始终存在
下面给出证明过程。首先根据贝叶斯公式,下面式子始终成立:
分别让等式左边和右边对 p ( z ∣ x , θ t ) p(z|x,\theta^t) p(z∣x,θt)求积分,首先等式(5)左边对后验 p ( z ∣ x , θ t ) p(z|x,\theta^t) p(z∣x,θt)求积分:
其中
所以:
将等式(5)右边对 p ( z ∣ x , θ t ) p(z|x,\theta^t) p(z∣x,θt)求积分有:
这里令:
而 Q ( θ , θ t ) Q(\theta,\theta^t) Q(θ,θt)就是E-Step求解的期望,满足:
因为:
所以现在只要证明:
就可以得出结论:
所以:
因此,EM算法是收敛的。
1.VIEM算法、MCEM算法
EM算法在E-Step和M-Step可能都存在问题,例如在E-Step求期望时无法直接求解后验概率分布,这时为了继续求解便需要近似求解后验概率分布。当使用确定近似推断方法变分推断Variational Inference求解后验概率分布时,此时便称为VIEM算法;当使用近似推断方法MCMC求解后验概率分布时,称为MCEM算法
2.EM是一类算法而非模型
EM算法是用于解决优化问题的迭代算法,和梯度下降法是一类算法。EM算法主要通过迭代优化进行参数估计,学习模型参数。
但因为 p ( X ∣ θ ) p(X|\theta) p(X∣θ)很复杂,完全不了解其服从的概率分布,因此假设存在隐变量 Z Z Z,用 Z Z Z来生成数据 X X X,例如:假设 p ( X ∣ θ ) p(X|\theta) p(X∣θ)服从高斯分布,然后再利用积分将 Z Z Z给积掉,就可以得到为 p ( X ∣ θ ) p(X|\theta) p(X∣θ)
对于大多数概率生成模型,比如GMM模型、HMM模型等,都是利用隐变量 Z Z Z来生成数据 X X X
对上面等式两边同时关于 q ( z ) q(z) q(z)求期望就可以得出:
其中:
3.狭义EM算法和广义EM算法
狭义EM算法就是前面内容所介绍的,而广义EM算法则认为在E-Step时后验概率难求解,因此在E-Step时,固定参数 θ \theta θ求解概率分布 q q q;在M-Step时,固定概率分布 q q q求解参数 θ \theta θ,因此狭义EM算法只是广义EM算法的一种特殊形式,用公式表示为:
【知识图谱系列】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训练词向量教程+数据+源码
Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码
原稿获取请关注公众号后回复:EM算法第一讲,原创不易,有用就点个赞呀!