EM算法是一种算法,不是模型,该算法用于解决含有隐变量的的概率模型的参数估计问题,利用极大似然估计的思想求优。
1 通过ELBO+KL divergence推导出EM算法
从而EM算法的目标是:
其中,X是观测数据(observed data),
但有时候
将求解目标转换成隐变量的形式:
两边分别对隐变量分布q(z)求期望:
其中
从而右边对因变量分布q(z)求期望:
其中
因为KL值取值为[0,1],从而
从而可以将ELBO看作
,从而对ELBO求期望最大化。
从而,
因为这里假设KL=0,从而
在倒数第二步的时候,可以将
这样最就得到了EM的表达式:
其中,E-step要做的事情是:将t时刻的
M-step就是最大化期望:
从而达到迭代攀爬的目的:
2 通过ELBO+Jensen inequlity推导出EM算法
Jensne inequlity,琴生不等式。意思是对于凸函数而言,函数的期望大于期望的函数值。我个人没有去了解它的证明。这里就直接照抄白板的解说过程:
如上图,f(x)是凸函数,在f(x)上存在两点a,b。其中在a,b之间有一点c,那么他们之间满足:
其中,
当t = 1/2 时:
那么接下来将琴生不等式运用到EM公式推导过程中:
什么时候
假设
则
其中
将(2)带入(1)的:
注意,(3)中
将(3)带入(Ⅰ)得:
从而,就得到了EM公式:
其中,z是隐变量,x是观测数据,
根据白板大佬说的,吴恩达老师cs229课程中关于EM的推导也是用该方法进行推导的。
3 EM算法的收敛性
EM算法的收敛性主要是通过证明
首先:
两边关于
记:
其中,
现在,我们想要证明的是EM算法的收敛性,可分别证明:
及
关于(4),由于
关于(5):
其中,
从而
联立(6)和(7),关于EM的收敛性的证明就完成了。
4 广义EM
在2和3中关于EM表达式推导过程,都提到了一个假设,即
那如何解决这个问题呢?
既然
- 固定
,
- 固定
,
广义EM表达式:
其中,
可以看到,
从而
与狭义的EM表达式对比:
还有EM在GMM的应用,后面补充。
这一章节不写回顾主要是因为不熟。。。
该文章是从白板系列那搬过来的(衷心的感谢!)。