浅谈最大似然与最小二乘法

3,723 阅读7分钟

统计学中,我们经常能听到极大似然估计,或者最大似然估计,它是一种参数估计方法。在机器学习中,逻辑回归就是基于最大似然估计来计算的损失函数。那么,如何直观理解最大似然估计?

最大似然法 MLE

最大似然(maximum likelihoodestimation)从字面意义来看,“最大”意为“最有可能的”,“似然”意为“看起来像的”,“估计”的意思则可以理解为“就是这样的”。

因此,你可以这样理解最大似然:最有可能看起来像的,就是这样的。也就是说,以最大概率为标准来判断结果,即叫做极大似然估计。 比如,在你面前出现一个白人,你来判断这个人来自哪个大洲。你会说不出意外,他应该来自欧洲。这便是用了极大似然估计的思想。

了解了极大似然估计的思想,下面通过一个具体的例子来说明最大似然估计的求解步骤。

一个黑色箱子里有黑白两种颜色的小球若干,每次有放回的拿球,已知拿到白球的概率范围是[0.2,0.8],拿三次结果两黑一白,问取出白球概率的极大似然估计是多少。

假设取球事件为y,取到白球时y=1,概率为p,取到黑球时y=0,概率为1-p。由于是独立事件,三次拿球两一白的概率可以表示为:P(y = 0 | p)P(y = 0 | p)P(y = 1 | p) = (1 - p)(1 - p)p = p^3 - 2p^2 + p。

我们要白球的最大似然估计就是求使得这个概率表达式最大的p值。

在最大似然法中,通过选择参数,让已知数据在某种意义上最有可能出现,这个某种意义上指的就是最大似然估计,而似然函数指的就是数据的概率分布函数。和小二乘法不同的是,最大似然法需要提前知道这个数据的分布函数,这在实践中是很难的。

一般我们要求线性回归的误差满足均值为0的正态分布,在这种情况下,最大似然函数和最小二乘法相同。

似然函数的引出

我们从概率的角度考虑一下最小二乘求解原理,假设目标变量y和输入x的关系如下:

其中ε为误差项,假设服从正态分布,均值为0,标准差为σ,可以写成

我们带入上面的关系方程得到y的概率方程:

这里要注意θ不是变量,不在条件中用“;”隔开。通过给定的θ和X求解Y就是我们的正常的概率思想,但是如果我们把这个方程看成是关于θ的方程时,就变成了似然方程:

似然函数与上面的概率方程的最大区别在于,关注的不再是事件发生的概率,而是已知事件发生的情况下希望知道对应的参数应该是多少,这和求概率恰恰相反。上面的式子还可以写成:

最大化L(θ)就是最大似然估计,但一般都会最大化log likelihood:

这时可以发现,此时的最大化似然函数和最初的最小二乘损失函数本质上是一样的。但是要注意这两者只是恰好有着相同的表达结果,实际并没有本质的联系。因为当likelihood用的是Gaussian的时候,由于Gaussian kernel里有个类似于Euclidean distance的东西,一求log就变成square loss了,导致解和OLSE(就是ordinary的最小二乘)是一样的。而碰巧刚接触MLE的时候基本都是gaussian假设,这才导致很多人分不清楚(这句话套用知乎上的解释)。

那么什么是最小二乘法呢?

最小二乘法

对于最小二乘法,当从模型中选择n个样本观察值时,参数的合理性要求就是让模型更好地拟合这个样本数据,就是让观察值和估计值之间的误差更小。而对于最大似然函数,当从模型中选择n个样本观察值时,合理的参数估计就是让从模型抽取这n个样本观察值的概率最大化。这是从不同的原理出发的两种参数估计法。

当假设数据满足正态分布函数的特征性,在这种情况下,最大似然函数和最小二乘法估计相同,这也就是为什么最小二乘法对于误差的估计用平方!

最小二乘法的本质就是找到一个估计值,使实际值与估计值的距离最小。而为了度量最小距离,只要使实际值与估计值之差的平方最小就好,下面就是最小二乘的表达式损失函数cost function,我们的目标就是求θ。

求解方法是通过梯度下降算法,通过训练数据不断迭代得到最终的值。

最小二乘的主要应用场景为回归分析,因为回归常用平方损失作为损失函数。

最大后验概率 (MAP)

这里就是引入了贝叶斯学派的理论了,我们知道,贝叶斯学派主张一切都有一个先验概率。而且上面的似然函数推倒中频率学派把参数θ看作是固定而未知的常数,而样本是随机的,有关概率的运算都是针对样本X的分布。而贝叶斯学派把这个参数看作是随机变量,而样本X看作是固定的,重视的是参数θ的分布,通常是:通过参数的先验分布结合样本信息得到参数的后验分布。

详解: MAP

首先,回顾上篇中的最大似然估计,假设x为独立同分布的采样,θ为模型参数,f为所使用的模型。那么最大似然估计可以表示为:

现在,假设θ的先验分布为g。通过贝叶斯理论,对于θ的后验分布如下式所示:

最后验分布的目标为:

注:最大后验估计可以看做贝叶斯估计的一种特定形式。

举例来说:

假设有五个袋子,各袋中都有无限量的饼干(樱桃口味或柠檬口味),已知五个袋子中两种口味的比例分别是

    樱桃 100%

    樱桃 75% + 柠檬 25%

    樱桃 50% + 柠檬 50%

    樱桃 25% + 柠檬 75%

    柠檬 100%

如果只有如上所述条件,那问从同一个袋子中连续拿到2个柠檬饼干,那么这个袋子最有可能是上述五个的哪一个?

我们首先采用最大似然估计来解这个问题,写出似然函数。假设从袋子中能拿出柠檬饼干的概率为p(我们通过这个概率p来确定是从哪个袋子中拿出来的),则似然函数可以写作

由于p的取值是一个离散值,即上面描述中的0,25%,50%,75%,1。我们只需要评估一下这五个值哪个值使得似然函数最大即可,得到为袋子5。这里便是最大似然估计的结果。

上述最大似然估计有一个问题,就是没有考虑到模型本身的概率分布,下面我们扩展这个饼干的问题。

假设拿到袋子1或5的机率都是0.1,拿到2或4的机率都是0.2,拿到3的机率是0.4,那同样上述问题的da'an呢?这个时候就变MAP了。我们根据公式

写出我们的MAP函数。  

根据题意的描述可知,p的取值分别为0,25%,50%,75%,1,g的取值分别为0.1,0.2,0.4,0.2,0.1.分别计算出MAP函数的结果为:0,0.0125,0.125,0.28125,0.1.由上可知,通过MAP估计可得结果是从第四个袋子中取得的最高。

在MAP中我们应注意的是:

MAP与MLE最大区别是MAP中加入了模型参数本身的概率分布,或者说。MLE中认为模型参数本身的概率的是均匀的,即该概率为一个固定值。