天天看点

参数估计:最大似然、贝叶斯与最大后验

来源:https://guangchun.wordpress.com/

中国有句话叫“马后炮”,大体上用在中国象棋和讽刺人两个地方,第一个很厉害,使对方将帅不得动弹,但这个跟我们今天说的基本没关系;第二个用途源于第一个,说事情都发生了再采取措施,太迟了。但不可否认,我们的认知就是从错误中不断进步,虽然已经做错的不可能变得正确,但“来者尤可追”,我们可以根据既往的经验(数据),来判断以后应该采取什么样的措施。这其实就是有监督机器学习的过程。其中涉及的一个问题就是模型中参数的估计。

为什么会有参数估计呢?这要源于我们对所研究问题的简化和假设。我们在看待一个问题的时候,经常会使用一些我们所熟知的经典的模型去简化问题,就像我们看一个房子,我们想到是不是可以把它看成是方形一样。如果我们已经知道这个房子是三间平房,那么大体上我们就可以用长方体去描述它的轮廓。这个画房子的问题就从无数的可能性中,基于方圆多少里大家都住平房的经验,我们可以假设它是长方体,剩下的问题就是确定长宽高这三个参数了,问题被简化了。再如学生考试的成绩,根据既往的经验,我们可以假设学生的成绩是正态分布的,那么剩下的问题就是确定分布的期望和方差。所以,之所以要估计参数,是因为我们希望用较少的参数去描述数据的总体分布。而可以这样做的前提是我们对总体分布的形式是知晓的,只需要估计其中参数的值;否则我们要借助非参数的方法了。

参数估计的方法有多种,这里我们分析三种基于概率的方法,分别是最大似然估计(Maximum Likelihood)、贝叶斯估计(Bayes)和最大后验估计(Maximum a posteriori)。我们假设我们观察的变量是

参数估计:最大似然、贝叶斯与最大后验

,观察的变量取值(样本)为

参数估计:最大似然、贝叶斯与最大后验

,要估计的参数是

参数估计:最大似然、贝叶斯与最大后验

参数估计:最大似然、贝叶斯与最大后验

的分布函数是

参数估计:最大似然、贝叶斯与最大后验

(我们用条件概率来显式地说明这个分布是依赖于

参数估计:最大似然、贝叶斯与最大后验

取值的)。实际中,x和

参数估计:最大似然、贝叶斯与最大后验

都可以是几个变量的向量,这里我们不妨认为它们都是标量。

  • 最大似然估计 ML

“似然”的意思就是“事情(即观察数据)发生的可能性”,最大似然估计就是要找到

参数估计:最大似然、贝叶斯与最大后验

的一个估计值,使“事情发生的可能性”最大,也就是使

参数估计:最大似然、贝叶斯与最大后验

最大。一般来说,我们认为多次取样得到的

参数估计:最大似然、贝叶斯与最大后验

是独立同分布的(iid),这样

参数估计:最大似然、贝叶斯与最大后验

由于

参数估计:最大似然、贝叶斯与最大后验

一般都比较小,且N一般都比较大,因此连乘容易造成浮点运算下溢,所以通常我们都去最大化对应的对数形式

参数估计:最大似然、贝叶斯与最大后验

具体求解释时,可对右式对

参数估计:最大似然、贝叶斯与最大后验

求导数,然后令为0,求出

参数估计:最大似然、贝叶斯与最大后验

值即为

参数估计:最大似然、贝叶斯与最大后验

最大似然估计属于点估计,只能得到待估计参数的一个值。(1) 但是在有的时候我们不仅仅希望知道

参数估计:最大似然、贝叶斯与最大后验

,我们还希望知道

参数估计:最大似然、贝叶斯与最大后验

取其它值得概率,即我们希望知道整个

参数估计:最大似然、贝叶斯与最大后验

在获得观察数据

参数估计:最大似然、贝叶斯与最大后验

后的分布情况

参数估计:最大似然、贝叶斯与最大后验

. (2) 最大似然估计仅仅根据(有限的)观察数据对总体分布进行估计,在数据量不大的情况下,可能不准确。例如我们要估计人的平均体重,但是抽样的人都是小孩,这样我们得到的平均体重就不能反映总体的分布,而我们应该把“小孩之占总人口20%”的先验考虑进去。这时我们可以用贝叶斯方法。

  • 贝叶斯估计 Bayes

使用Bayes公式,我们可以把我们关于

参数估计:最大似然、贝叶斯与最大后验

的先验知识以及在观察数据结合起来,用以确定

参数估计:最大似然、贝叶斯与最大后验

的后验概率

参数估计:最大似然、贝叶斯与最大后验

参数估计:最大似然、贝叶斯与最大后验

其中

参数估计:最大似然、贝叶斯与最大后验

是累积因子,以保证

参数估计:最大似然、贝叶斯与最大后验

和为1。要使用Bayes方法,我们需有关于

参数估计:最大似然、贝叶斯与最大后验

的先验知识,即不同取值的概率

参数估计:最大似然、贝叶斯与最大后验

。比如

参数估计:最大似然、贝叶斯与最大后验

表示下雨,

参数估计:最大似然、贝叶斯与最大后验

表示不下雨,根据以往的经验我们大体上有

参数估计:最大似然、贝叶斯与最大后验

参数估计:最大似然、贝叶斯与最大后验

,在这种知识不足的时候,可以假设

参数估计:最大似然、贝叶斯与最大后验

是均匀分布的,即取各值的概率相等。

在某个确定的

参数估计:最大似然、贝叶斯与最大后验

取值下,事件x的概率就是

参数估计:最大似然、贝叶斯与最大后验

,这是关于

参数估计:最大似然、贝叶斯与最大后验

的函数,比如一元正态分布

参数估计:最大似然、贝叶斯与最大后验

。与上一节中的一样,我们认为各次取样是独立的,

参数估计:最大似然、贝叶斯与最大后验

可以分开来写,这样我们就可以得到

参数估计:最大似然、贝叶斯与最大后验

的一个表达式,不同的

参数估计:最大似然、贝叶斯与最大后验

对应不同的值。

根据获得的

参数估计:最大似然、贝叶斯与最大后验

,我们边可以取使其最大化的那个

参数估计:最大似然、贝叶斯与最大后验

取值,记为

参数估计:最大似然、贝叶斯与最大后验

。可能有人已经看出问题来了:我们做了很多额外功,为了求得一个

参数估计:最大似然、贝叶斯与最大后验

,我们把

参数估计:最大似然、贝叶斯与最大后验

取其它值的情况也考虑了。当然在有的时候

参数估计:最大似然、贝叶斯与最大后验

分布是有用的,但是有的时候我们取并不需要知道

参数估计:最大似然、贝叶斯与最大后验

,我们只要那个

参数估计:最大似然、贝叶斯与最大后验

。最大后验估计这个时候就上场了。

  • 最大后验估计 MAP

最大后验估计运用了贝叶斯估计的思想,但是它并不去求解

参数估计:最大似然、贝叶斯与最大后验

,而是直接获得

参数估计:最大似然、贝叶斯与最大后验

。从贝叶斯估计的公式可以看出,

参数估计:最大似然、贝叶斯与最大后验

是与

参数估计:最大似然、贝叶斯与最大后验

无关的,要求得使

参数估计:最大似然、贝叶斯与最大后验

最的的

参数估计:最大似然、贝叶斯与最大后验

,等价于求解下面的式子:

参数估计:最大似然、贝叶斯与最大后验

与最大似然估计中一样,我们通常最大化对应的对数形式:

参数估计:最大似然、贝叶斯与最大后验

这样,我们便无需去计算

参数估计:最大似然、贝叶斯与最大后验

,也不需要求得具体的

参数估计:最大似然、贝叶斯与最大后验

部分,便可以得到想要的

参数估计:最大似然、贝叶斯与最大后验

总结一下:三种方法各有千秋,使用于不同的场合。当对先验概率

参数估计:最大似然、贝叶斯与最大后验

的估计没有信心,可以使用最大似然估计(当然也可以使用其它两种)。贝叶斯估计得到了后验概率的分布,最大似然估计适用于只需要知道使后验概率最大的那个

参数估计:最大似然、贝叶斯与最大后验

另外一方面,我们可以感觉到,最大似然估计和Bayes/MAP有很大的不同,原因在于后两种估计方法利用了先验知识

参数估计:最大似然、贝叶斯与最大后验

,如果利用恰当,可以得到更好的结果。其实这也是两大派别(Frequentists and Bayesians)的一个区别。

继续阅读