EM算法(一)

    

EM算法是什么?
 
  EM算法只是一种思想,因为它不像我们熟悉的SVM、决策树等方法那样具体、直接。就好比有的武林高手擅长六脉神剑、有的擅长辟邪剑谱但是EM算法却像是九阳神功,助人于根本,有了它其他武功就会功力便会大增。
 
  具体的,在数据挖掘领域,各位仁兄通常会碰到一个问题:没有标注数据拿来训练监督模型或者只有很少的数据可以拿来训练监督模型。当你正一筹莫展的时候,EM算法悄悄的来了,很好的帮你解决了缺乏可用标注样本的问题。
 
传统的分类问题回顾
 
  在移动互联网的环境下,很多App开发者都希望通过用户设备上装的应用信息来推算用户的性别。如果我们有一批已经标注好男女性别的数据来做预测,这便是一个常见的分类问题,这类问题的目标参数的解释是的下边目标函数最大:

   

 

Jensen不等式

  在数据分析中我们都熟悉Jensen不等式是什么,这里就不做太多的介绍了。一句话,满足凸(凹)性质的函数,函数值的均值小于(大于)等于均值的函数,当且仅当自变量为常数的时候,等号成立。不清楚的朋友,可以查查资料,此不赘述。

 

EM算法的原理及证明

  再次回到开发者拿应用列表去做性别预测的问题上,很多时候app开发者并不准确的知道用户的性别,也就是说我们并没有准确可用的标注数据来训练一个可以预测性别的模型。

  这时候,我们来看看所面对问题变成了什么:

  

  这里代表可能属于的分类(如果是预测性别那么就是男或者女)。式子(2)比较好理解,无非是联合分布求边际分布的问题。接下来一对问题产生了:

  首先,我们这样子去变换式子的目的是什么?原因是如果我们直接求解(2)式的最值会带来十分的不方便,我们试着寻求一种新的解题方案。

  其次,是什么?是一组满足的有理数,当然后边我们会看到它满足某种条件时候对EM算法的支持。

  再次,(4)式为什么成立?好吧,Jensen不等式的功劳了均值的函数大于函数的均值。

  最后,我们打算通过寻找来不断提高(4)式的最大值从而不断提高(1)式的下界来,从而不断的逼近(1)式的最大值,最终得到参数估计值。

  那么新的问题来了,(4)式的不等式会不会成立?什么时候成立?怎么样不断的提高(4)式的最大值来逼近我们的原目标函数(1)的最大值并且为什么这种方法能逼近?

  接下来我们来解决这些问题。

  

posted on 2016-09-13 23:30  都说哥很帅  阅读(146)  评论(0)    收藏  举报