EM 算法
Jensen不等式
如果f是凸函数,X是随机变量,那么:
当且仅当X是常量时,该式取等号
凸函数: 设f是定义域为实数的函数,如果对所有的实数x,f(x)的二阶导数都大于0,那么f是凸函数
注:Jensen不等式应用于凹函数时,不等号方向反向。当且仅当x是常量时,该不等式取等号。
EM算法推导流程
上面的推导中,我们把加法移到log外边去了,这样有利于求导。而且,我们确定了似然函数的下界,我要可以通过提高这个下界来逼近这个似然函数,当满足Jensen不等式的等号时,这个下界是最大的,后面我们只要最大化这个下界就可以使这个似然函数最大化。
这样就推导出了Q函数的分布,这个Q函数就是给定观测数据和参数下的隐变量的后验分布。
EM算法流程
EM算法实例
求解过程
- 随机初始化参数值:
- 计算Q函数(隐变量的后验概率):
对于第一组实验,3正面2反面。
如果是A硬币得到这个结果的概率为:
如果是B硬币得到这个结果的概率为:
因此,第一组实验结果是A硬币得到的概率为:0.00512 / (0.00512 + 0.03087)=0.14,第一组实验结果是B硬币得到的概率为:0.03087/ (0.00512 + 0.03087)=0.86。即:
整个5组实验的A,B投掷概率如下:
- 最大化期望
根据隐含变量的概率,可以计算出两组训练值的期望。依然以第一组实验来举例子:3正2反中,如果是A硬币投掷的结果:0.14*3=0.42个正面和0.14*2=0.28个反面;如果是B硬币投掷的结果:0.86*3=2.58个正面和0.86*2=1.72个反面。
5组实验的期望如下表: