EM算法的简单理解

极大似然估计 与 EM算法

什么是极大似然估计?
简单的说,有一组观测数据Y,我们假定这个Y是由参数theta产生的概率分布P产生的。
极大似然估计,就是求解theta,使得由P产生Y的可能性最大化。
我们在学习概率论时经常解的概率题,都可以看作时一次极大似然估计。

比如:重复扔一个硬币,得到序列[1,0,0,1,1],求硬币朝上的概率?
Y = [1,0,0,1,1]
P = 假设硬币朝上的概率时pi
theta = pi
观测值,概率模型,参数都有了。
计算pi = Mean(Y) = 0.6
求解最大似然估计结束

当然,在更复杂的场景,比如用深度学习方法进行分类识别,在训练模型时,仍然沿用了极大似然估计的概念。
这时候,观测值是训练数据的X,Y。
概率模型P可以理解为由分类器进行分类,产生的预测值的分布(这里情况负责,没有公式化的概率模型了)。
参数theta就是分类器里的参数。
训练的过程,依然可以看作是,求解参数theta,使概率模型P产生观测值Y的可能性最大。

2,什么是EM算法?
我们回到简单的硬币问题。
我们假设一个更复杂一些的问题(例子来自李航老师的《统计学习方法》),
假设有A,B,C三个硬币,每次实验先扔硬币A,如果为正面就继续扔B,如果为负面就继续扔C。
我们观察到的序列,由所仍的第二个硬币产生。

这里我们假设,观察值 Y = [1,0,0,1,1]
theta = pi, p, q(分别为A,B,C正面朝上的概率)
概率模型P由题目中规则得出,比如出现正面的概率为 pi * p + (1-pi) * q

这里有一个不可直接观测到的变量,即A的结果,也叫隐变量(latent variable)。
由于隐变量的存在,使概率模型的求解(极大似然估计)出现了困难。

EM算法,用于求解存在隐变量的极大似然估计。

隐变量给计算带来的困难(个人理解,可能有误):
1 由于隐变量的分布会影响到观测变量的分布,所以在极大似然估计中,有隐变量和观测变量两个因子。
在优化中,难以同时优化两个因子,因此要先确定一部分,再优化另一部分。
2 隐变量没有可见的观测值,也就没有优化的方向。

EM算法的原理:
算法先对theta进行初始化,获得初始值theta0.
算法开始迭代,每次迭代分为E步骤和M步骤。

E步骤,根据theta0,Y,计算出隐变量的期望。
在硬币例子中,硬币A是隐变量,计算A扔出的值的期望EA。

M步骤,对于A,上一部计算出的期望可以“看作”是A的“观测值”,用来进行对于A的极大似然估计,更新A的概率参数pi。
对于B,C,使用EA当中A产生正面的概率,根据EA和Y,进行对于B、C的极大似然估计,更新B、C的概率参数p,q。

综上,EM算法可以看作一种计算技巧,通过计算隐变量的期望,简化对隐变量、观测变量的各自的计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值