MLE,MAP,EM 和 point estimation 之间的关系是怎样的?

在阅读LDA和主题模型相关论文的时候,这些名词经常出现。MLE(Maximum Likelihood Estimation), MAP(Maximum…
关注者
479
被浏览
42,110

8 个回答

感谢肖智博邀请回答。

和点估计相对应的是区间估计,这个一般入门的统计教材里都会讲。直观说,点估计一般就是要找概率密度曲线上值最大的那个点,区间估计则要寻找该曲线上满足某种条件的一个曲线段。

最大似然和最大后验是最常用的两种点估计方法。以最简单的扔硬币游戏为例,一枚硬币扔了五次,有一次是正面。用最大似然估计,就是以这五次结果为依据,判断这枚硬币每次落地时正面朝上的概率(期望值)是多少时,最有可能得到四次反面一次正面的结果。不难计算得到期望概率0.2。

用五次试验结果来估计硬币落地时正面朝上的概率显然不够可靠。这时候先验知识可以发挥一些作用。如果你的先验知识告诉你,这枚硬币是制币局制造,而制币局流出的硬币正面朝上的概率一般是0.5,这时候就需要在先验概率0.5和最大似然估计0.2之间取个折中值,这个折中值称为后验概率。这时候剩下的问题就是先验知识和最大似然估计结果各应起多大作用了。如果你对制币局的工艺非常有信心,觉得先验知识的可靠程度最起码相当于做过一千次虚拟试验,那么后验概率是(0.2 * 5 + 0.5 * 1000)/(5 + 1000) = 0.4985,如果你对制币局技术信心不足,觉得先验知识的可靠程度也就相当于做过五次试验,那么后验概率是(0.2 * 5 + 0.5 * 5)/(5 + 5) = 0.35. 这种在先验概率和最大似然结果之间做折中的方法称为后验估计方法。这是用贝耶斯观点对最大后验方法的阐述,其实也可以用用经典统计学派的偏差方差的折中来解释。

EM方法是在有缺失值时进行估计的一种方法,这是一个迭代方法,每个迭代有求期望(E)和最大化(M)两个步骤。其中M可以是MLE或者MAP。一般需要先为缺失值赋值(E步骤初始化),然后重复下面的步骤:

1)用MLE或MAP构造模型(M步骤);

2) 用所得模型估计缺失值,为缺失值重新赋值(E步骤);

仍然以扔硬币为例,假设投了五次硬币,记录到结果中有两正一反,还有两次的数据没有记录下来,不妨自己用上述步骤演算一下硬币正面朝上的概率。需要注意,为缺失值赋值可以有两种策略,一种是按某种概率赋随机值,采用这种方法得到所谓hard EM,另一种用概率的期望值来为缺失变量赋值,这是通常所谓的EM。另外,上例中,为两个缺失记录赋随机值,以期望为0.8的0-1分布为他们赋值,还是以期望为0.2的0-1分布为他们赋值,得到的结果会不同。而赋值方法的这种差别,实际上体现了不同的先验信息。所以即便在M步骤中采用MLE,EM方法也融入了非常多的先验信息。


上面的例子中只有一个随机变量,而LDA中则有多个随机变量,考虑的是某些随机变量完全没有观测值的情况(也就是Latent变量),由于模型非常复杂,LDA最初提出时采用了变分方法得到一个简单的模型,EM被应用在简化后的模型上。从学习角度说,以PLSA为例来理解EM会更容易一点。另外,kmeans聚类方法实际上是典型的hard EM,而soft kmeans则是通常的EM,这个在[1]中的讨论最直观易懂。


[1] Information Theory, Inference, and Learning Algorithms, http://inference.phy.cam.ac.uk/mackay/itila/





参数化统计模型里面有参数,比如正太分布,两个参数,平均值,方差。通常情况我们不知道参数是什么,所以就要估计参数,估计参数是建立在数据和模型假设基础上的。比如我们假设一个分布是正太分布,我们观察到一个样本1,2,3,那么对平均值的一个直觉估计就是(1+2+3)/3=2。

很多统计模型比较复杂,参数估计也不是可以直觉算出来的,即使可以弄出一个结果,也要有理论根据,所以统计学家提出了一些算法,来估计参数。

最常见的就是MLE,极大似然估计。还有moment etimation,矩估计。

MLE和moment estimation都是估计参数的值,比如平均值等于2,如果还算出置信区间(看我对另一个问题的回答

如何理解 95% 置信区间? - 李大猫的回答

),那就属于interval estimation,区间估计。

同一批数据,同一个模型,不同估计方法得到的结果完全可以不一样,比如对在0到theta之间的uniform 分布,用MLE和ME估计出来的theta就不一致。即使用同一个方法,也可能得到不一样的解,比如对泊松分布,用一阶矩与二阶矩来估计参数得到不同的公式。

MAP是maximize a posteriori estimation,和上面两种估计有本质不同,本质在哪呢?

在于MLE和ME都假设被估计参数是一个未知常数,这很重要,常数是不变的,但是不知道。而MAP是假设总体参数也是随机变量,并且假设服从某个分布。当我们有了样本的时候,得到了更多信息,所以优化后验概率,得到MAP估计。

上面讲的都是参数估计的方法。但是有的问题很复杂,你知道了MLE并不能求解出来,最典型问题是gaussian mixture model,就是几个正太分布的混合,取得了样本,不知哪个样本来自哪个分布,所以可以理解为样本的标签缺失了,这种情况用EM算法来计算MLE。换句话说,MLE提供了一个目标函数,EM提供了优化算法。


类似EM和MLE这种关系,还有Stochastic gradient descent和MLE(逻辑回归的online estimation)。MLE说去最大化似然函数,然后EM或者SGD就去完成这个任务。

统计里的参数估计问题很多,并且很多时候要具体问题提出具体解决方案,比如估计Ising model,如果网格太多,几乎没办法求解MLE,所以有人提出来pseudo likelihood,那对应的估计方法就是maximize这个伪似然函数。

再比如EM算法,在高维模型里面就不好直接用,因为E step要计算条件期望,会出现一个高维积分,难算,就有人提出来随机EM算法。

###################################################################

欢迎关注微信公众号:机器会学习(搜索 jiqihuixuexi),每天更新原创文章!