0x00 摘要

本文在少用数学公式的情况下,尽量仅依靠感性直觉的思考来讲解 极大似然估计 & 极大后验概率估计,并且从名著中找了几个实例给大家看看这两种估计如何应用 & 其非常有趣的特点。

0x01 背景知识

1. 概率 vs 统计

概率(probability)和统计(statistics)看似两个相近的概念,其实研究的问题刚好相反

1.1 概率

概率研究的是,已经知道了模型和参数后,给出一个事件发生的概率。

概率是一种确定性的东西,是一种理想值。根据大数定理,当实验次数趋近无穷的时候,频率等于概率

频率学派就是认为世界是确定的,建模时候参数 θ 是一个确定的值,因此他们的观点是直接的对时间本身进行建模。

1.2 统计

统计是根据给出的观测数据,利用这些数据进行建模和参数的预测。

统计通俗的说法就是根据观测的数据,得到对应的模型以及模型的描述参数等(例如推测是一个高斯模型,以及得到该模型的具体的参数 σ,μ 等)。

一句话总结:概率是已知模型和参数,推数据。统计是已知数据,推模型和参数。

2. 频率学派 vs 贝叶斯学派

频率学派和贝叶斯学派对世界的认知有本质不同。

2.1 频率学派与贝叶斯学派探讨「不确定性」这件事时的出发点与立足点不同

频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范围;
贝叶斯学派认为世界是不确定的,人们对世界先有一个预判,而后通过观测数据对这个预判做调整,我们的目标是要找到最优的描述这个世界的概率分布。

2.2 频率学派和贝叶斯学派解决问题的角度不同

频率学派从「自然」角度出发,试图直接为「事件」本身建模,即事件在独立重复试验中发生的频率趋于极限,那么这个极限就是该事件的概率。

贝叶斯学派并不从试图刻画「事件」本身,而从「观察者」角度出发。贝叶斯学派并不试图说「事件本身是随机的」,或者「世界的本体带有某种随机性」,这套理论根本不言说关于「世界本体」的东西,而只是从「观察者知识不完备」这一出发点开始,构造一套在贝叶斯概率论的框架下可以对不确定知识做出推断的方法。

3. 概率函数 vs 似然函数

概率:参数 + 观测 --> 结果 似然:观测 + 结果 --> 参数

假如有一个函数 P(x|θ), 其中θ是需要估计的参数,x是具体的数据也就是样本。

3.1 概率函数

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

概率函数属于已知模型和参数对时间进行预测分析。概率函数用于在已知一些参数的情况下,预测接下来的观测所得到的结果。

3.2 似然函数

如果x是已知确定的,θ是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数θ,出现x这个样本点的概率是多少(表示不同θ下,x出现的概率)。此时的函数也记作L(θ|x)或L(x;θ)或f(x;θ)

似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性(可能性)。就是给定一组观测数据,对有关事物的性质的参数进行估计,即已知具体样本数据,对于模型的参数进行分析预测。

最大似然就是模型参数的最大可能性

4. 参数估计

参数估计(parameter estimation),统计推断的一种。根据从总体中抽取的随机样本来估计总体分布中未知参数的过程。

所谓的“机器学习”就是把大量的数据归纳到少数的参数中,“训练”正是估计这些参数的过程

现代机器学习的终极问题都会转化为解目标函数的优化问题,MLE和MAP是生成这个函数的很基本的思想。

  • 极大似然估计 Maximum Likelihood Estimation, MLE 是频率学派常用的参数估计方法 。
  • 极大后验概率Maximum A Posteriori, MAP是贝叶斯学派常用的参数估计方法 。

在对事物建模时,用 θ 表示模型的参数,解决问题的本质就是求θ 。那么:

4.1 频率学派

频率学派认为:存在唯一真值θ 。

4.2 贝叶斯学派

贝叶斯学派认为: θ是一个随机变量,符合一定的概率分布。即不认为模型的参数θ是一个确定的值,而是认为参数θ 本身也服从某种潜在分布。

在贝叶斯学派里有两大输入和一大输出,输入是先验 (prior)和似然 (likelihood),输出是后验 (posterior)。

先验,即 θ,指的是在没有观测到任何数据时对θ 的预先判断;

似然,即 p(x|θ) ,是假设 θ已知后我们观察到的数据应该是什么样子的;

后验,即 p(θ|x) , 是最终的参数分布。

即对事件进行建模的时候,先假设有一个预估(先验概率),然后根据观测数据,不断调整之前的预估。

0x02 极大似然估计(Maximum Likelihood Estimation,MLE)

1. 思想

最大似然估计是一种“模型已定,参数未知”的方法,即利用已知的样本的结果,在使用某个模型的基础上,反推最有可能导致这样结果的模型参数值。

最大似然估计的思想: 使得观测数据(样本)发生概率最大的参数就是最好的参数。

通俗的说就是 —— 最像估计法(最可能估计法),即概率最大的事件,最可能发生

极大似然估计是典型的频率学派观点,它的基本思想是:待估计参数 θ 是客观存在的,只是未知而已,当 θ-mle 满足 “ θ = θ-mle 时,该组观测样本 (X1,X2,...,Xn) = (x1, x2,...,xn) 更容易被观测到“,我们就说 [θ-mle] 是 [θ] 的极大似然估计值。也即,估计值 [θ-mle] 使得事件发生的可能性最大。

2. 似然函数

假设分布率为 P=p(x;θ),x是发生的样本,θ是代估计的参数,p(x;θ)表示估计参数为θ时,发生x的的概率。
那么当我们的样本值为:x1,x2,...,xn 时,

L(θ) = L(x1,x2,...,xn;θ) = p(x1|θ)...p(xn|θ) 连乘

其中L(θ)成为样本的似然函数。假设有 θ^ 使得 L(θ) 的取值最大,那么 θ^ 就叫做参数 θ 的极大似然估计值

能使L(θ)最大的值,就作为参数的最大似然估计值。

而求最大似然估计的问题,就变成了求似然函数的极值。

3. 似然函数转化

前提条件

能够使用极大似然估计方法的样本必须需要满足一些前提,比如:训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量,且有充分的训练样本。

对数似然函数

对一个独立同分布的样本集来说,总体的似然就是每个样本似然的乘积。由于总体的似然就是每个样本似然的乘积,但是连乘计算起来比较麻烦,而且会有如下问题:

  • 下溢出问题:是太多很小的数相乘,结果可能会很小,就造成了下溢出。

  • 浮点数舍入问题:是程序中在相应小数位置进行四舍五入,计算结果可能就变成0。

为了求解方便,我们通常会将似然函数取对数,从而转成对数似然函数。

转成对数似然函数还有如下好处:

  • 对数函数并不影响函数的凹凸性。由于ln对数属于单调递增函数,概率的最大对数值出现在与原始概率函数相同的点上,因此不会改变极值点。
  • 方便求导:根据前面的似然函数公式,是一堆的数字相乘,这种算法求导会非常麻烦,而取对数是一种很方便的手段。由于对数的计算法则:lnab = blna、lnab = lna + lnb ,求导就很方便了。公式中的概率连乘变成了对数概率相加。

既然似然函数可导,那么就可以通过求导数的方式得到驻点,从而算出极大值

如果对数似然函数简单,是可以直接求导得到,但是在更多的情况下,我们需要通过梯度下降法等最优化算法来求解。而绝大部分最优化的工具包都默认求函数的最小值,因此别忘了在你把它塞给一个最优化工具包之前,把你的log似然 乘以 -1 变成负log似然(Negative Log Likelihood)。