这篇文章实际上是Ng在CS229上一个课程讲座。因为EM估计也很常用,特别是语义SLAM里面,这里根据一些粗浅的理解做一个总结备忘。 EM算法1是分为E(期望)和M(极大)的两步迭代优化算法,主要用于解决数据缺失情况下的概率估计问题。这个数据缺失其实不太好理解,有一个男女生身高的经典例子比较形象2,可以从ML到EM估计分别理解下。 1、极大似然估计(ML) 我们需要调查我们学校的男生和女生的身高分布。 假设你在校园里随便找了100个男生和100个女生。他们共200个人。将他们按照性别划分为两组,然后先统计抽样得到的100个男生的身高。假设他们的身高是服从正态分布的。但是这个分布的均值 和方差 我们不知道,这两个参数就是我们要估计的。记作 。 这是一个典型的极大似然估计问题,我们知道100个男生,100个女生和他们的身高,我们想要估计男生的身高分布均值方差,女生的身高分布均值方差,都可以用极大似然估计来解决。 我们已知的有两个:样本服从的分布模型、随机抽取的样本;我们未知的有一个:模型的参数。根据已知条件,通过极大似然估计,求出未知参数。总的来说:极大似然估计就是用来估计模型参数的统计学方法。 因为我们知道哪个样本是男生哪个样本是女生,所以这一问题就分解成分别估计男生和女生的即可。那么以男生为例,设样本集 ,其中 ,概率密度函数 ,首先写出似然函数也就是所有男生概率的乘积: 通常转为求解对数似然函数: 极大似然估计就是求似然函数最大值(或者对数似然函数最小值): 这个极值自然就是通过求导得到: 特别的,对于正态分布样本 ,其似然函数为: 对数为: 求导得方程组: 则似然方程的唯一解为: 这个就是它的最大值点。也就是通过极大似然估计给出的符合当前样本的参数估计。 2、Jensen不等式 对于一个凸函数 (凸函数的定义为:对于X为实变量,,对于X为向量,),其中X是随机变量则有如下不等式成立: 其中等号成立的条件当且仅当,也就是随机变量为一个常数c:。 Jensen不等式直观理解可以参见下图: 图中,实线f是凸函数,X是随机变量,有0.5的概率是a,有0.5的概率是b。(就像掷硬币一样)。X的期望值就是a和b的中值了,图中可以看到 成立。 对于f是凹函数的情况,则正相反:。 3、最大期望估计(EM) 对比极大似然估计,EM估计理解起来非常简单,例如对于上述男女生的例子,我们现在有200个男女生的样本,但是我们不知道哪个样本属于男生哪个样本属于女生(信息缺失)。 3.1 EM估计公式推导 样本集 ,包含 m 个独立的样本;每个样本 对应的类别  是未知的(即上文中每个样本属于哪个分布是未知的);我们需要估计概率模型 的参数...