首页 > 代码库 > EM最大期望算法-走读

EM最大期望算法-走读

  打算抽时间走读一些算法,尽量通俗的记录下面,希望帮助需要的同学。
 
overview:
基本思想:
     通过初始化参数P1,P2,推断出隐变量Z的概率分布(E步);
     通过隐变量Z的概率分布,最大似然推断参数P1,P2 (M步)。
 
梯度下降也可以解决隐变量估计问题,但求和项会随隐变量个数指数增长,EM方法是一种非梯度下降优化方法。
 
 
一 例子参考
-------------------------------------------------------
引入问题:两枚材质不均匀硬币模型:五次实验,每次调一枚硬币抛5次,记录正反。
  技术分享
技术分享
因变量z:每次实验的哪枚硬币
技术分享
 技术分享
-------------------------------------------
初级版本:初始化P1,P2,
E步:计算隐变量各种可能(1,2)期望
  技术分享
技术分享
M步骤:极大似然,确定隐变量取值,重新计算参数P1,P2
技术分享
 技术分享
------------------------------------------------------------
标准版本:
E步:计算隐变量期望,
  技术分享
技术分享
计算隐变量概率分布(按照概率使用所有数据集,更准确,收敛更快)
  技术分享
技术分享
M步:根据隐变量的概率分布,计算每种情况下每轮的正反概率分布,最后求和计算参数P1,P2
 
技术分享
 技术分享
迭代E和M直至参数收敛。
   
二 上述例子的公式版:
 
分析:求导计算复杂,所以采用EM算法
技术分享
E步:计算隐变量概率分布
技术分享
   技术分享
M步:根据隐变量的概率分布,计算每种情况下每轮的正反概率分布,最后求和计算参数P1,P2
技术分享
   技术分享

 

 
 参考:
http://www.jianshu.com/p/1121509ac1dc
https://chenrudan.github.io/blog/2015/12/02/emexample.html
 

EM最大期望算法-走读