作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,首先注意以下两点:
1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。
2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号后回复:EM算法第三讲,本文主要介绍如何通过Jensen Inequality推导出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∣θ)参数求解公式如下:
二、由Jensen Inequality推导EM算法
Jesen不等式: 先简单介绍一下Jesen不等式,Jesen不等式和凸函数、凹函数的定义是相关的,下面直接给出结论:
首先看凸函数Convex Function,凸函数上任意两点的割线位于函数的上方,对应公式为:
Jesen不等式就是等上式的推广和泛化:
在概率论中,如果把 λ i \lambda_i λi看成为离散变量 x i x_i xi的概率分布,则上式可写成,其中E是均值:
而如果 λ i \lambda_i λi看成为连续变量 x i x_i xi的概率分布,则公式可表达成:
接下来再看凹函数,凹函数上任意两点的割线位于函数的下方,所以只需要将上面的性质的符号反转便是凹函数中具有的性质,直接给出Jesen不等式在凹函数中的体现:
在了解了Jesen不等式之后,接下来进行EM算法的推导:
因为log是凹函数,结合Jesen不等式性质有:
假设:
将上式两边同时对 Z Z Z求积分
所以求得:
至此我们求出了分布 q ( Z ) q(Z) q(Z),就是后验概率 p ( Z ∣ X , θ ) p(Z|X,\theta) p(Z∣X,θ),所以有:
所以对于参数 θ \theta θ
其中 q ( Z ) q(Z) q(Z)为后验分布 p ( Z ∣ X , θ ) p(Z|X,\theta) p(Z∣X,θ),至此借助Jesen不等式推导出了EM算法的优化公式。
三、往期精彩
【知识图谱系列】探索DeepGNN中Over-Smoothing问题
【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲
【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读
Transformer模型细节理解及Tensorflow实现
GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递
Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码
原稿获取请关注公众号后回复:EM算法第三讲,原创不易,有用就点个赞呀!