- Expectation Maximization Algorithm
- EM算法是一种在存在不完整数据情况下,广泛使用进行最大似然估计的迭代算法,具体来讲在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。通常分为两个步骤,Expectation-step 和 Maximization-step。在期望过程中,通常是使用现有的参数对数据的不完整部分进行填充;而在最大化的过程中,则是利用期望过程的结果对各个参数进行重新估计。EM算法逐步改进模型的参数,使参数和训练样本的似然概率逐渐增大,最后终止于一个极大点。
- eg1:
使用EM算法进行贝叶斯文本分类时,重复E-step和M-step,使得待估计的参数收敛。完整数据集为标注了类别的L,不完整的数据集则是待测试的数据集U和L的并集,即是所有的数据L+U,根据贝叶斯分类的原理知道,需要估计的参数就是在这个不完整的数据集中给定类别生成单词的概率P(wi|cj)和类别的先验概率P(cj)(对于完整数据集L,我们可以直接计算得到这两个概率,但是由于存在有U集,这两个概率就成为了待估计的)。E-step中,从L中学习到一个分类器,对U进行分类,这样U中每一个文本都有一个”软分类“,这个软分类概率实际上就是视作为对参数的一个期望,P(cj|di)那就是隐藏的一个变量;M-step中,根据E中得到的软分类,我们可以对参数P(wi|cj)和P(cj)进行重新估计。循环E和M直到达到参数收敛。
- eg2:
,文档集Bqk的概率为隐含的变量,参数P(w|θBLMk)和P(w|θc)为待估计的参数。
- EM算法的推导
-
http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html