文章参考来源:
CS229和PRML中关于EM的推导的过程。
当年写下面的笔记的时候有一些疏漏性的笔误,很影响后续的理解,再次进行修改,直接从考虑数据点独立性的EM算法入手。当前是做的算是很清晰了。
首先要回答问题。
为什么要用EM
一般是考虑去优化混合模型,例如GMM,由于似然函数中,在函数内有求和项,难以求导。我们认为这是由于数据点观测缺失造成的。完整的数据点还有另一个变量,。以GMM为例,或者是的公式中没有求和项,且和的结构都是清楚的(z表示为1-of-k的多项式分布),此即经典的用EM算法求解的问题。
EM的推导的过程
推导的时候有时候往往会产生一些符号混淆的问题,导致产生疑问,为什么每个观测数据点都有一个不同分布的隐变量?实际上公式推导过程中,依然是不同样本点的不同隐变量的分布是相同的。
下面都是带入GMM的思路来列的公式。是我们观测到的一个样本点
注意这里,是枚举了变量的所有取值,也就是说,这里默认了是离散变量,连续变量的情况下是同理的。
这里,代表累加式中的每个子项,可以有不同的系数和分母。
上式是用了琴生不等式,其恒成立有一个必须条件,也就是 ,这个很容易满足,那么我们就用此办法让中的求和项目给拿出来了,现在要做的事情就是,让Jensen不等式取等,然后优化中的概率参数。
这里就直接给出,取等的话就要取值为。
到这里其实就已经完成了对EM算法的论述。回顾一下,我们只是重点找到一个的合理的取值,来找到一个更好的优化目标,跟的值没有一点关系的!跟隐变量的分布也没啥关系。如果说是有关系的话,就是由于不同样本点的值大小不同,所以其隐变量的后验概率的分布也不同。
而后验概率的计算公式为,所以其先验就是由当前模型的参数决定的。
文章内容:
1. 不考虑数据点独立性的EM算法
- E步和M步骤内容
- 收敛性证明(利用了jesson不等式以及KL散度)
- Q函数的自然导出
2. 考虑数据点独立性的EM算法
- E步和M步骤内容
- 收敛性证明(利用了jesson不等式以及KL散度)
- Q函数的自然导出
3. 将考虑数据点独立性的EM应用到GMM的参数估计上
- Q函数导出
- 迭代更新公式
- 多元高斯分布常用求导公式
优化过程:
对于核心式,优化目标为, 即固定,是的函数,找到使其最大的. 等号右边是和的函数。