似然(likelihood)和概率(probability)的区别与联系

虽然经常在paper和教程中看到“似然(likelihood)”的概念,但是一直都没有仔细研究似然与概率的区别,今天查了一些资料,有些收获,在此总结一下。

似然与概率的区别

简单来讲,似然与概率分别是针对不同内容的估计和近似。概率(密度)表达给定$\theta$下样本随机向量$\textbf{X} = {x}$的可能性,而似然表达了给定样本$\textbf{X} = {x}$下参数$\theta=\theta_1$(相对于另外的参数取值$\theta_2$)为真实值的可能性.

换言之, 似然函数的形式是$L(\theta|x)$,其中”|”代表的是条件概率或者条件分布,因此似然函数是在”已知”样本随机变量$\textbf{X}=x$的情况下,估计参数空间中的参数$\theta$的值. 因此似然函数是关于参数 $\theta$ 的函数,即给定样本随机变量$x$后,估计能够使$X$的取值成为$x$的参数$\theta$的可能性; 而概率密度函数的定义形式是$f(x|\theta)$, 即概率密度函数是在”已知”$\theta$的情况下,去估计样本随机变量$x$出现的可能性.

注意上面有一句中需要理清几个概念:

估计能够使$X$的取值成为$x$的参数$\theta$的可能性

  1. 统计学中, 样本随机变量的出现是基于某个分布的.例如$f(x|\theta)$代表x服从$f$分布,而$f$的分布是由参数$\theta$决定的.
  2. 通常在概率统计学中$\textbf{X}$代表的是随机变量,而小写形式$x$通常代表其具体取值. 假定$X$服从二项分布(也可以是任何其他分布), 则可以写成$X \sim B(n,p)$, 而该二项分布情况下, 6次试验下x的取值可以是”010011”.
  3. 而上面第一条中, 其实包含了一个前提假设,就是我们已知$X$服从二项分布, 这种假设的数学含义是什么呢? 对, 就是决定该分布的参数为$\theta$, 即参数$\theta$刻画了随机变量$\textbf{X}$在概率空间中服从什么分布. 更具体一点,假如$X$服从二项分布,那么其由$\theta$决定的形式为$f(x;n;k|\theta)=P(\textbf{X}=k)={n \choose k}p^k(1-p)^{n-k}$. 其中p可以代表二项分布中”1”出现的概率,即$\theta$的取值, 比如可以取值为”1/2”. 而在似然估计中$\theta$是怎么得到的呢? 还是以上面$x$的取值”010011”为例, 可以发现6次试验中,”1”出现了三次,那么这种情况下p取值为”1/2”是可能性最大的,即最接近$\theta$的真实分布.

似然与概率的联系

似然函数可以看做是同一个函数形式下的不同视角.

以函数$a^b$为例. 该函数包含了两个变量,a和b. 如果b已知为2, 那么函数就是变量a的二次函数,即$f(a)=a^2$; 如果a已知为2,那么该函数就是变量b的幂函数, 即$f(b) = 2^b$.

同理,$\theta$和$x$也是两个不同的变量,如果$x$的分布是由已知的$\theta$刻画的, 要求估计$X$的实际取值, 那么$p(x|\theta)$就是x的概率密度函数; 如果已知随机变量$x$的取值, 而要估计使$X$取到已知$x$的参数分布,就是似然函数的目的.

参考知乎上一个形象的例子:

有一个硬币,它有$\theta$的概率会正面向上,有$1-\theta$的概率反面向上。$\theta$是存在的,但是你不知道它是多少。

为了获得$\theta$的值,你做了一个实验:将硬币抛10次,得到了一个正反序列:$x=HHTTHTHHHH$。无论$\theta$的值是多少,这个序列的概率值为 $\theta⋅\theta⋅(1-\theta)⋅(1-\theta)⋅\theta⋅(1-\theta)⋅\theta⋅\theta⋅\theta⋅\theta = \theta^7 (1-\theta)^3$. 比如,如果$\theta$值为0,则得到这个序列的概率值为0。如果$\theta$值为1/2,概率值为1/1024。但是,我们应该得到一个更大的概率值,所以我们尝试了所有θ可取的值,画出了下图:

不同theta取值下的概率值

这个曲线就是θ的似然函数,通过了解在某一假设下,已知数据发生的可能性,来评价哪一个假设更接近θ的真实值。

如图所示,最有可能的假设是在θ=0.7的时候取到。但是,你无须得出最终的结论θ=0.7。事实上,根据贝叶斯法则,0.7是一个不太可能的取值(如果你知道几乎所有的硬币都是均质的,那么这个实验并没有提供足够的证据来说服你,它是均质的)。但是,0.7却是最大似然估计的取值。因为这里仅仅试验了一次,得到的样本太少,所以最终求出的最大似然值偏差较大,如果经过多次试验,扩充样本空间,则最终求得的最大似然估计将接近真实值0.5。

One more thing

说到似然,就很自然的会想到机器学习。

在机器学习中,之所以需要似然函数函数的概念,是因为我们往往是想要机器根据已有的数据(相当于$\textbf{X}$)学到相应的分布(即$\theta$),此概念对应training阶段, 即在训练阶段, 是根据已有的$X$来估计其真实的数据分布服从什么样的分布$\theta$.

而我们构建模型的目的是, 在实际中应用. 例如根据已有的有限的人脸图像和人脸关键点的标注, 使机器学习到包含人脸的图像和其关键点的对应关系的分布; 然后在实际应用中,能够检测未在数据集中出现过的人脸图像的关键点. 因此在测试阶段, 就是已知参数$\theta$, 来估计该分布下, $\textbf{X}$应该是什么.

参考

https://www.zhihu.com/question/54082000

https://www.quora.com/What-is-the-difference-between-probability-and-likelihood-1/answer/Jason-Eisner?share=cbfeda82&srid=zDgIt