详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种参数估计方法,如果不理解这两种方法的思路,很容易弄混它们。下文将详细说明MLE和MAP的思路与区别。

贝叶斯公式就是在描述,你有多大把握能相信一件证据?(how much you can trust the evidence) 

似然函数

似然(likelihood)这个词其实和概率(probability)是差不多的意思,Colins字典这么解释:The likelihood of something happening is how likely it is to happen. 你把likelihood换成probability,这解释也读得通。但是在统计里面,似然函数和概率函数却是两个不同的概念(其实也很相近就是了)。

对于这个函数:

P(x|θ)

输入有两个:x表示某一个具体的数据;θ表示模型的参数。

如果θ是已知确定的,x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少。

如果x是已知确定的,θ是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少。

         这有点像“一菜两吃”的意思。其实这样的形式我们以前也不是没遇到过。例如,详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解, 即x的y次方。如果x是已知确定的(例如x=2),这就是详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解 这是指数函数。 如果yy是已知确定的(例如y=2),这就是详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解,这是二次函数。同一个数学形式,从不同的变量角度观察,可以有不同的名字。

最大似然估计(MLE)

假设有一个造币厂生产某种硬币,现在我们拿到了一枚这种硬币,想试试这硬币是不是均匀的。即想知道抛这枚硬币,正反面出现的概率(记为θ)各是多少?

这是一个统计问题,回想一下,解决统计问题需要什么? 数据!

于是我们拿这枚硬币抛了10次,得到的数据(x0)是:反正正正正反正正正反。我们想求的正面概率θ是模型参数,而抛硬币模型我们可以假设是 二项分布

那么,出现实验结果x0(即反正正正正反正正正反)的似然函数是多少呢?

 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

注意,这是个只关于θ的函数。而最大似然估计,顾名思义,就是要最大化这个函数。我们可以画出f(θ)的图像: 

详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

可以看出,在θ=0.7时,似然函数取得最大值。

这样,我们已经完成了对θ的最大似然估计。即,抛10次硬币,发现7次硬币正面向上,最大似然估计认为正面向上的概率是0.7。(ummm..这非常直观合理,对吧?)

且慢,一些人可能会说,硬币一般都是均匀的啊! 就算你做实验发现结果是“反正正正正反正正正反”,我也不信θ=0.7。

这里就包含了贝叶斯学派的思想了——要考虑先验概率。 为此,引入了最大后验概率估计。

最大后验概率估计

       最大似然估计是求参数θ, 使似然函数P(x0|θ)最大。最大后验概率估计则是想求θ使P(x0|θ)P(θ)最大。求得的θ不单单让似然函数大,θ自己出现的先验概率也得大。 (这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法) 

       MAP其实是在最大化详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解,不过因为x0是确定的(即投出的“反正正正正反正正正反”),P(x0)是一个已知值,所以去掉了分母P(x0)(假设“投10次硬币”是一次实验,实验做了1000次,“反正正正正反正正正反”出现了n次,则P(x0)=n/1000。总之,这是一个可以由数据集得到的值)。最大化P(θ|x0)的意义也很明确,x0已经出现了,要求θ取什么值使P(θ|x0)最大。顺带一提,P(θ|x0)即后验概率,这就是“最大后验概率估计”名字的由来。

      对于投硬币的例子来看,我们认为(”先验地知道“)θθ取0.5的概率很大,取其他值的概率小一些。我们用一个高斯分布来具体描述我们掌握的这个先验知识,例如假设P(θ)P(θ)为均值0.5,方差0.1的高斯函数,如下图:

详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

则P(x0|θ)P(θ)的函数图像为:

详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

注意,此时函数取最大值时,θ取值已向左偏移,不再是0.7。实际上,在θ=0.558时函数取得了最大值。即,用最大后验概率估计,得到θ=0.558

最后,那要怎样才能说服一个贝叶斯派相信θ=0.7呢?你得多做点实验。。

如果做了1000次实验,其中700次都是正面向上,这时似然函数为:

详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

 如果仍然假设P(θ)为均值0.5,方差0.1的高斯函数,P(x0|θ)P(θ)的函数图像为:

详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

在θ=0.696处,P(x0|θ)P(θ)取得最大值。

这样,就算一个考虑了先验概率的贝叶斯派,也不得不承认得把θ估计在0.7附近了。

PS. 要是遇上了顽固的贝叶斯派,认为P(θ=0.5)=1 ,那就没得玩了。。 无论怎么做实验,使用MAP估计出来都是θ=0.5。这也说明,一个合理的先验概率假设是很重要的。(通常,先验概率能从数据中直接分析得到)