EM 算法的思想
用拟合的思想来求随机变量的数字特征。
例如:模型中有两个未知参数 和 需要估计,而 和 又存在相互依赖的关系,即知道 才能推出 ,知道了 才能推出 。
EM 的思路就是先固定其中一个,推测另一个,如此反复。
EM 分别代表什么
- E 表示求期望;
求在观测数据的前提下隐变量的期望;
- M 表示最大化似然函数。
求经过隐变量改写的似然函数的极大;
EM 算法的用途
EM 算法用于解决含有隐含变量的概率模型的参数估计问题。
- 对概率模型进行参数估计是一种常见的问题分析的手段。
- 当然概率模型仅存在观测数据的时候,可以直接利用最大似然估计的方法,对似然函数取对数,令各个参数的偏导数为 0,求得的参数的值作为参数的估计。
- 然而,如果概率模型中存在隐变量的时候,就不能这么做了,EM 算法就是用于解决含有隐含变量的概率模型的参数估计问题。
EM 算法是通过迭代地求解隐含变量的充分统计量和最大化似然函数以达到参数估计的算法。
EM 算法和我们熟悉的 K-Means 算法很像
应该这么说,K-Means 是 EM 算法的一个具体应用。
问题的定义
- 输入:观测数据和类别的总数。
- 输出:观测数据所服从的几个分布函数的参数。
例如:
输入:7000 份成绩,来自 4 个科目:语文、数学、英语、计算机。
输出:4 个科目分别服从的分布的参数值,由于各科成绩服从高斯分布,因此输出为每科成绩的分布参数 ,以及样本服从各个分布的概率 。
细节一:在使用 Jensen 不等式的时候,需要假设隐变量服从某种形式的概率分布,才可以将推导过程的一部分看成是期望的表达形式从而应用 Jensen 不等式。然而这个分布不是随便指定的。我们令 Jensen 不等式取等号的时候,可以计算出这个分布其实就是:已知观测数据的隐变量的后验概率分布。由于求 Q 函数需要先求出隐变量的后验概率的期望,因此,这就可以解释为什么EM算法的“通俗”理解角度的E步骤是求隐变量的期望了。
细节二:Q 函数与完全数据的对数似然函数的关系。有时候在用 EM 算法解决某个具体问题的时候,会发现 M 步骤极大化的居然是完全数据的对数似然函数。这是因为,Q 函数虽然是完全数据的对数似然函数的某种期望,但是求这个期望的过程有时其实就是将隐变量的后验概率的期望代入就可以了。因此,本质上我们其实还是在求 Q 函数的极大。
参考资料:
浅谈 EM 算法的两个理解角度
https://blog.csdn.net/xmu_jupiter/article/details/50936177
说明:这篇文章没有抄公式,把重要的思想部分提取出来。