作 者: 心有宝宝人自圆
声 明: 欢迎转载本文中的图片或文字,请说明出处
1 初探
设是取自总体的样本容量为n的维样本,易得样本间相互独立,则
的联合分布为
当然可以是d维的向量
设是一组观测值(样本)
1.1 极大似然估计MLE
看作随机变量
其中 称作对数似然函数
总体是一个具有确定分布的随机变量,总体中每个样本都是独立同分布的
MLE目标是通过观测结果对总体的分布参数作出统计推断
然而当我们建模的概率模型包含隐变量的时候,MLE就会出现问题,而这就是EM算法应用的场景
考虑包含隐变量的联合概率模型,此时构成了完全数据
是生成的维隐变量
对于不完全数据的联合概率分布
通常我们已知的就是,然而隐变量的存在使得MLE的直接求法难以计算(例如高斯混合模型)
这就是引入EM算法的原因
1.2 隐变量
隐变不是随便强行加入的,而是应该使计算变的更加简单,而且
必须保证成立,即隐变量不影响边缘概率分布
例如对高斯混合模型,
对数似然函数
log里的加号使直接计算偏导非常困难
高斯混合模型中引入的隐变量是:隐变量 可以生成 属于特定的高斯分布,即
,有
故引入隐变量(一维离散隐变量,表示来自第几个高斯分布)后,边缘概率,与高斯混合模型的边缘概率一致
总结一下关于隐变量的相关概率分布的定义
设是一组生成观测数据的隐变量,满足独立同分布
同样满足独立同分布
而积分是对每个进行分别积分,所以下面采用更明确的形式
或关于z的概率密度函数
1.3 EM算法
EM算法:
其中可以看作分布对于的期望
显然EM算法是一种迭代算法,通过迭代的方式求取 的极大值
然而上式所给出的迭代函目标数并非我们期望的形式
因此我们简单地证明一下EM算法的收敛性,即
证明:
两边同时求关于分布的期望
即
故证明目标可以改写为
不难发现和EM算法的迭代函目标数
由于迭代的目标是在所有中使最大,因此有
现只需证明
若不使用KL散度进行证明,则还能使用Jensen不等式证明
(其实KL散度也是用Jensen不等式证明的)
由于log(x)是凸函数,所以有
而就是分布对于的期望
故有
2. 再探EM算法
EM公式:
E-step:求期望
M-step:求极大值
2.1公式导出:第一种思想
注:是的简写
两边同时求关于分布的期望
由于,故
这里的是关于的函数,同样可以视为关于后验分布的期望
所以EM算法的想法是让逐步达到最大,进而使也达到最大
故E-step的目标是在给定求出曲线,M-step是滑动是曲线达到最大值来更新
故优化目标改写为
然而项与无关,故优化目标可进一步改写为
2.1公式导出:第二种思想
根据Jensen不等式,当为凸函数,
对于的有
此时为的下界,即
当等号成立时,有
换句话说,为了保证等号成立,必须使用后验概率的形式,即
3.广义EM
在前面的算法中我们假设
但实际情况可能(大部分情况下)后验是难以求出的(一般和生成模型的复杂度有关)
令 ℒ,则ℒ
当固定时,也是固定的,此时若越小越大
此时就可以变成优化问题:ℒ
再固定,ℒ
3.1 广义EM算法
- E-step:固定,ℒ
- M-step:固定,ℒ
所以EM是采用了坐标上升法(固定一个维度优化另一个维度)双优化问题
3.2 ELBO
ℒ
不难发现为熵的定义,
ℒ
在E-step已经将固定下来了,熵是确定值,这意味着M-step的优化目标与熵无关
这是广义EM与狭义(原始)EM与的M-step的优化目标可以化成一致的形式:
这意味着狭义(原始)EM就是广义EM的一个特例
4. EM算法实例—GMM模型的参数估计
-
E-step:
[图片上传失败...(image-399ee1-1595132374108)]
对于高斯混合模型:
令
-
M-step:
-
最大化
使用拉格朗日乘数法,解得
-
最大化
-
最大化
-
Reference
[1] 【机器学习】【白板推导系列】
[3] EM算法及其应用(一)
[4] 徐亦达机器学习:Expectation Maximization EM算法
转载请说明出处。