一、EM算法
1.从似然函数说起
极大似然法(Maximum Likelihood Estimation,简称MLE)是一种统计推断方法,用于估计参数的值,使得观测数据在给定参数下的概率达到最大,其目标如下:
但是极大似然法的前提是可以观察到所有的变量X,对于含有无法观察的变量,极大似然法失效,我们称这种变量为隐变量Z。
请看下面的例题:假设你有三枚硬币A、B、C,它们投掷为正面的概率为、
、
,定义一次实验为:投掷A,A为正面投掷B,否则投掷C,记录B或者C的投掷结果为最后结果。结果为1,0,1,0,1,1,0
,
我们无法得知选择了B还是C,因此我们无法写出似然函数,除非我们设隐变量Z表示
这样我们就可以表示出包含隐变量的似然函数
2.EM迭代求解
首先我们已知的只有观察结果X,不知道隐变量Z和参数,有了一个似然函数的表示方式,但是仍然无法得到闭式解,因此我们可以随机初始化一份参数
,采用两个步骤迭代求解参数。
(1)E(Exception)步骤:我们根据上次的参数,可以得到隐变量的分布Z,根据隐变量的分布我可以写出似然函数的具体形式:
如果隐变量Z为离散的分布,取值的可能性有k种
如果隐变量Z为连续的分布,具有概率密度函数
上面的操作就是在求似然函数,接下来我们求似然函数的期望
(2)M(Max)步骤:
我们要求的下一次迭代的则是本次优化的目标
3.EM求解实例
我们接下来演示求解1.从似然函数说起 的例题,将似然函数优化转化为点估计的方法,结果是B硬币的结果的概率是,即为选B得到这样结果的可能/选C得到这样结果的可能性
因此更新参数如下
,
,
4.EM算法的导出(略)
5.EM算法的收敛性(略)
二、GMM算法
假设某份数据是K个高斯模型的混合生成结果,其权重分别为
1.建立模型:初始化参数,假设隐变量
表示第i个样本是否属于第j个高斯模型生成
2.E步骤:根据上一步的参数写出隐变量的期望(即为概率分布)
写出根据下一步要求解的未知参数表示的似然函数
3.M步骤:
恰好为凸函数集合,对
各个参数求偏导,令偏导为0,得出极值点
(事实上该结果恰好也为点估计的结果)
,
,
三、EM算法推广
1.F函数
2.GEM算法
参考文献
[1]统计机器学习-李航