聊一聊共轭先验和共轭分布

  关于这部分内容,其实在 BishopPRML 一书中已经有了很详细的解释,但可能是因为我们平时接触的更多的是频率学派的思想(因为理解起来较直观),而不是贝叶斯学派的,所以在接触这个概念时,很多人一开始都会觉得比较困难。其实这里的关键是要搞清楚这两个概念一起配套的一系列概念,只要把这一族概念都理解清楚了,那这两个定义其实也就很容易明了。

  在讲今天的主题之前,先给机器学习的新手一个小小的建议。对于新手而言经常会有这样的困惑,就是不知道需要补充哪些数学知识来保证对机器学习中的相关算法有一个比较系统的理解。我的建议就是跟着 PRML 这本书走,它所用到的相关数学理论足够应付绝大多数的机器学习算法。在我眼中 PRML 就是一本神书,目前为止我还没有见过有任何一本书能像他一样能用如此浅显易懂的语句将机器学习中的相关知识讲解地如此透彻,像我这样的数学渣渣看起来都没太大压力,我想诸位应该更加轻松了。

  好了回归正题,下面将一步一步地来阐述什么是共轭先验和共轭分布。

贝叶斯学派和频率学派

  共轭先验和共轭分布这两个概念实际上是贝叶斯学派的产物。在介绍之前先简单介绍下这两个学派的观点。

  • 频率学派:他们认为一个模型的参数是确定的,只是我们不知道是多少而已,在经过无数次抽样之后,这个模型的参数便可唯一确定。
  • 贝叶斯学派:他们则认为一个模型的参数在没有观测到样本之前实际上是不确定的,它们也是服从一定概率分布的,我们需要使用观测的样本值来估计参数. 得到的参数带入模型使当前模型最佳的拟合观测到的数据。

  举例来说:比如抛硬币正面的概率,频率学派认为概率就是 $\frac{1}{2}$ ,而贝叶斯学派会认为不同的硬币抛出来的概率是不一样的(因为硬币材质的不同,实验的环境不同等等)抛硬币的先验概率是 $\frac{1}{2}$ ,但是在我经过一系列实验确认后再得到的后验概率很可能就不是 $\frac{1}{2}$ 了,那么对于抛硬币这个事件来说,抛出正面硬币的概率就应该是是一个概率的概率,也就是说它的结果不是一个单一的值 $\frac{1}{2}$ ,而是一个概率分布,可能有很高的概率是 $\frac{1}{2}$ ,但是也有一定的概率是100%(比如抛100次结果还真都100次都是正面)。那么在这里这个概率的分布用函数来表示就是一个似然函数,所以似然函数也被称为“分布的分布”。用公式来表示就是:

  这里D表示一组观测实验(比如我扔了五次硬币得到5次正反面的结果),X表示随机变量(在这里是硬币的正反面),$\mu$ 表示随机函数里面的参数(在这里就是硬币掷为正面的概率)。

  注意这里是正比于而不是等于,这个是理解似然函数的一个关键,右侧直接的乘积其实是不满足概率分布归一化的条件的(就是右侧的积分最后不会等于1),那么这个正比符号怎样才能变成等号呢?其实只要再除以一个系数进行归一化就可以了:

上式可以根据贝叶斯公式得到,其中 $P(\mu |D)=P(D|X)$ 。

似然函数

  似然函数的形式是依赖于观测值的,它在贝叶斯学派与频率学派都有很大的作用,不过在两家的用法并不相同。频率学派认为每个事件的概率是一个客观存在的常数值,只是我们不知道而已。比如抛硬币,在实验估计之前我们不知道它是多少(频率学派也不会管之前大家说抛硬币出现正面的概率是1/2还是多少,所谓“眼见为实,耳听为虚”,他们的最终结论只和在实验中观测到的数据有关系),但是它肯定是一个确定的常数,然后我们通过观察实验,获得一组样本值(D),再将这组样本值代入似然函数( $P(D | X)$ ),求解使得似然函数最大的值就是估计出来的 $\mu$ (当然由于实验的结果不同,这个估计出来的也很可能不是1/2,实验不同得到的结果也不同,但是根据大数定律,理论上实验次数足够多以后,求出来的是会越来越接近真实的概率的)。也就是说频率学派认为答案只有一个,我们不断地通过各种估计法来猜测这个值。

  而贝叶斯学派并不会完全拒绝大家之前所说的“硬币扔出正面的概率是 $\frac{1}{2}$ ”的说法,只是贝叶斯学派认为最终硬币扔出正面反面的概率并不是一个常数值,不是一个有唯一答案的真理,这个值本身应该也是一个随机变量,是在不断变化的一个数值,如何得到这个值,贝叶斯学派认为一样也需要实验在“硬币扔出正面的概率是 $\frac{1}{2}$ ”的说法的基础上通过实验数据(似然函数)不断去预估这个扔出正面概率的实际分布(后验分布)。

  举个例子说明一下:假如我扔了5次硬币,先出现了3次正面,后出现了两次反面,那么这时的似然函数就应该是 $P(\mu |D)=P(D |X)=L(\mu)=\mu * \mu * \mu * (1-\mu) * (1-\mu)$ 其中 $\mu$ 是硬币抛正面的概率,在似然函数里就相当于概率分布函数里的随机变量一样变成一个随机变化的值了,假如其值是 $\frac{1}{2}$ ,那么 $L(\mu)$ 就等于 $\frac{1}{2} * \frac{1}{2} * \frac{1}{2} * (1-\frac{1}{2}) * (1-\frac{1}{2})$ 即 $\frac{1}{2}$ 的5次方。

  我们前面说过 $L(\mu)$ 表示的是的概率,从这个结果来看 $\frac{1}{32}$ (0.03125)的概率值显然并不是 $L(\mu)$ 的最大值,如果我们对这时的 $L(\mu)$ 求导求最大值的话会发现,在 $\mu=\frac{3}{5}$ 时 $L(\mu)$ 才最大,为0.03456。而这时的后验概率,如果按照公式直接计算的话我们会发现最后的结果应该是 $L(\mu)*P(X)/P(D)$ ,也就是一个随 $\mu$ 变化的值,其中 $P(D)$ 可以简单地由古典概型算出来:$P(D)=\frac{1}{2} ^5 =\frac{1}{32}=0.03125$ 。如果 $\mu$ 取了 $\frac{3}{5}$ ,代入上式抛硬币为正面的概率就是0.55296,而不是 $\frac{1}{2}$ 。

  当然贝叶斯学派最终得到的后验概率是一个随 $\mu$ 变化的分布,只不过在这种情况这个分布取到0.55296这个值的概率最大而已。如果用我们以前统计课本上的频率学派的最大似然估计法,如果在 $\mu=\frac{3}{5}$ 时 $L(\mu)$ 最大,那么得出结论就是最后抛硬币为正面的概率就是 $\frac{3}{5}$,当然还要附上一个参数估计的置信度,表示这个结论自然不是100%准确的(所以在机器学的建模过程中,如果用频率学派的做法,最后基本必然导致模型的过拟合,这里欠缺的variance其实就是因为缺少了先验知识的引入)。

共轭分布和共轭先验

  搞清楚了似然函数、先验概率、后验概率的几个贝叶斯学派的基本概念,其实要明白共轭分布和共轭先验就很简单了。所谓共轭分布就是先验概率和后验概率具有一样函数形式的分布形式,一样的函数形式的含义举个例子就是假如先验分布函数是形如 $C \mu ^m (1-\mu) ^n$ 的形式(比如二项分布就是这种形式),与此同时后验分布同样是这样的形式,两者只是具体参数值不同。类似的这种情形就可为认为先验分布和后验分布具有同样的形式,这时两者就共轭。因为后验概率正比于先验概率与似然函数的乘积,因此似然函数是有可能改变后验概率的形式的。例如的先验假如乘上的是 $\log \mu$ 形式的似然函数,那么它的后验函数的形式肯定就发生了变化,这时先验和后验就不是共轭的了,而假如 $C \mu ^m (1-\mu) ^n$ 的先验乘上的是比如 $C \mu ^x (1-\mu) ^y$ (贝塔分布) 的形式,那么最后后验函数的形式就可以和先验函数保持一致了。

  那么共轭先验又是什么概念呢?因为在现实建模问题中,往往我们先得到并且固定的反而是似然函数(其实也很好理解,客观的实验观察数据才是第一手的材料),这时先验函数(可以理解为先验知识或者是对后验分布的一种假设和猜测)是可以选择的。这时如果我选的先验分布最后乘上这个似然函数,使得后验分布与先验分布共轭,那么我们就称这个先验函数为似然函数的共轭先验。很明显的,后验分布和先验分布共轭的情况下是可以大大地简化计算量的。所以在确定似然函数后寻找先验分布时在该似然函数的共轭先验中寻找是比较好的一种选择。


分享到:
打赏一个呗!

留下买路财!

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by GJoker,分享从这里开始,精彩与您同在