EM算法

很好的算法讲解

问题

对于给出很多的样本,有特征,也有标记, 也知道该样本集的模型, 比如是 高斯模型 , 但是不知道, 对于参数的估算,通常可以通过 最大似然法来求出参数, 但是对于高斯混合模型GMM, 是有多个高斯模型叠加而成, 现在给了很多样本

对于给出一个班级的学生的身高样本数据,但是没有标明每个样本是男是女,现在让求170cm的这个测试样本的分布是多少?

问题分析

如果每个样本标明男女,男女生各自的数据都是服从正态分布的,再让求170cm的男生的分布,那就直接可以最大似然法对男生数据进行拟合, 得到参数,现在由于男女这个分类是隐含的。所以直接用最大似然法,难以得到的参数,下面引入EM算法

算法原理

高斯分布

又称为正态分布, 其概率密度函数,

正态分布.jpg

其性质是:
1、对称性
2、

最大似然法

本质就是联合概率最大化,就是求每个样本发生的概率的乘积, 因为所有样本是前提,默认已经发生,那么就调整参数让这个联合概率的最大化,通过求导,获得极大值,求出参数, 这就是最大似然法。

算法推导

可参照上面链接中的 算法推导

当隐藏变量和参数使不等式右侧取全局极大值时,所得到的参数至少使不等式左侧取局部极大值。 右侧函数等效于MM算法(Minorize-Maximization algorithm)中的代理函数(surrogate function),是MLE优化问题的下限,EM算法通过最大化代理函数逼近对数似然的极大值。(参照百科)

en.jpg

代码封装

你可能感兴趣的:(EM算法)