《PRML》学习笔记2.1——伯努利分布、二项分布和Beta分布,从贝叶斯观点出发

1.伯努利分布和二项分布

    对于伯努利分布,我们是十分熟悉的,从小学开始,老师就教会我们如何对掷硬币这件事进行数据建模:对于一个二元随机变量x\in\{0,1\}x=1表示掷硬币结果为正面朝上,x=0表示反面朝上。根据常识,我们都认为两种情况概率各为0.5。那么,如果遇到一个破损的硬币,将x=1的概率记作参数\mu,因此:

                                                                       \large p\(x=1|\mu\)=\mu                                                                                              (1)

    其中0\leq\mu\leq1,同理可知p\(x=0|\mu\)=1-\mu。这种分布(伯努利分布)的概率分布可以写成:

                                                                \large p\(x|\mu\)=\(1-\mu\)^{1-x}\cdot\mu^{x}                                                                                   (2)

    对于伯努利分布,满足:

                                                                           \large \mathbb{E}\[x\]=\mu                                                                                                        (3)

                                                                  \large \mathrm{var}\[x\]=\mu\cdot\(1-\mu\)                                                                                           (4)

    假设有一个数据集\mathcal{D}=\{x_{1},...,x_{N}\},变量彼此都是独立同分布的,那么得到的似然函数为:

                                                 \large p\(\mathcal{D}|\mu\)=\prod_{n=1}^{N}p\(x_n|\mu\)=\prod_{n=1}^{N}\mu^{x_{n}}\cdot\(1-\mu\)^{1-x_n}                                                         (5)

    为了方便计算,将公式(5)取对数转化成对数似然函数:

                                       \large \mathrm{ln}p\(\mathcal{D}|\mu\)=\sum_{i=1}^N\mathrm{ln}p\(x_i|\mu\)=\sum_{i=1}^N\[(1-x_i\)\cdot\mathrm{ln}\(1-\mu\)+x_i\cdot\mathrm{ln}\(\mu\)]                               (6)

    求解对数似然函数关于\mu的导数:

                                        \large \frac{\partial\mathrm{ln}p(\mathcal{D}|\mu)}{\partial\mu}=\sum_{i=1}^N\frac{x_i}{\mu}+\frac{x_i-1}{1-\mu}=\sum_{i=1}^N\frac{(1-\mu)x_i+\mu(x_i-1)}{\mu(1-\mu)}                                     (7)

    令导数为0,得到\mu的最大值: 

                                                                             \large \mu_{ML}=\frac{m}{N}                                                                                                   (8)

    其中,m是这N个变量中变量值为1的数量。

    上述将似然函数最大化来求解参数{\color{Red} \mu}的思想来源于传统概率学家的观点,他们认为,参数是一个固定的值,而使得观测集合中的似然函数最大的参数值,便是最合理的参数。直观上理解,这是很有道理的,但是,在极端情况下(一般是观测样本较少的情况),利用这种方法求解出来的参数值是远远偏离实际的。例如公式(8)中,如果观测集合\mathcal{D}中m为0(可以理解为,连续多次投掷硬币,全部是反面),那么求解出来的\mu是0,而它的意义是掷一次硬币,硬币朝上的概率,永远不可能朝上!这是多么荒谬的结论。因此,最大似然函数求解参数的方法,在样本数量较少时,可能会出现严重的过拟合问题,这是需要注意的。由此,我们可以在建模过程中引入一些先验知识(先验分布),用于辅助模型,这种方法源于贝叶斯观点,该方法将于下面进行讨论。

    对于上面的问题,如果改成 : 给定数据集规模N,不再关注单次掷硬币的伯努利分布,而是关注x=1观测出现m次的概率分布,这就变成了二项分布,很容易得出,二项分布的概率分布函数为:

                                                              \large p(m|N,\mu)=(_m^N)\mu^m(1-\mu)^{N-m}                                                                      (9)

    它的均值和方差这里直接列出:

                                                                           \large \mathbb{E}\[x\]=N\mu                                                                                                 (10)

                                                                       \large \mathrm{var}\[x\]=N\mu\cdot\(1-\mu\)                                                                               (11)

    至此,已经比较详细地介绍了伯努利分布和二项分布,以及传统概率学家的最大化似然函数的参数求解方法,下面开始讲解贝叶斯观点中引入先验分布的想法。       

       

2.Beta分布

    在贝叶斯观点中,需要引入一个关于\mu的先验概率分布p(\mu)。为此,我们需要找到一个形式简单的先验分布,以便推导。首先根据贝叶斯公式,说明一下先验概率分布和后验概率分布的关系:

                                                                    \large p(\mu|\mathcal{D})=\frac{p(\mathcal{D}|\mu)\cdot p(\mu)}{p(\mathcal{D})}                                                                              (12)

    可见p(\mu|\mathcal{D})\varpropto\p(\mathcal{D}|\mu)\cdot p(\mu),而由公式(9)得知似然函数p(\mathcal{D}|\mu)的形式中带有\mu^x\cdot \(1-\mu)^{1-x}的乘积,如果先验分布也是类似的形式,根据贝叶斯公式,后验概率分布正比于先验概率分布和似然函数的乘积,那么后验概率分布的函数形式就会和先验相同了,这一性质叫做共轭性。而有一种分布可以满足这样的条件,它就是Beta分布。Beta分布的定义为:

                                                              \large p(\mu|a,b)=\frac{\Gamma(a+b)}{\Gamma(a)\cdot\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1}                                                        (13)

    其中,\Gamma(x)=\int_0^\infty t^{x-1}e^{-t}dt。由于参数\mu的实际意义是一个概率,因此0\le\mu\le1,所以需要Beta分布在0-1区间上的积分是1,而经过验证,Beta分布确实满足这一点。公式(13)中的a和b是超参数,用来控制参数\mu的分布,而不同的超参数组合对应的Beta分布图像各有差异,如下面所示:

              《PRML》学习笔记2.1——伯努利分布、二项分布和Beta分布,从贝叶斯观点出发_第1张图片

    Beta分布的均值和方差分别为:

                                                                             \large \mathbb{E}[\mu]=\frac{a}{a+b}                                                                                            (14)

                                                                  \large \mathrm{var}[\mu]=\frac{ab}{(a+b)^2(a+b+1))}                                                                     (15)

    将公式(13)先验概率分布和公式(9)似然函数相乘得到后验概率分布,经化简得到:

                                                           \large p(\mu|m,l,a,b)\varpropto\mu^{x+a-1}\cdot(1-\mu)^{l+b-1}                                                            (16)

    由于共轭性的存在,后验概率应该和先验概率服从相同形式的概率分布,因此归一化系数,得到了后验概率的Beta分布:

                                                   \large p(\mu|m,l,a,b)=\frac{\Gamma(m+a+l+b)}{\Gamma(m+a)\Gamma(l+b)}\mu^{x+a-1}\cdot(1-\mu)^{l+b-1}                               (17)

    而后验概率分布相较于先验概率分布,所得到的改变是,原来的a变成了a+m,b变成了b+l,相当于先验分布(基于经验的估计)经过了真是观测N次之后,观察到m次x=1,l次x=0,后验概率分布进行的相对应的改进。这样直观地感受到了经过N次观测之后,模型参数所得到的优化结果。而且由此也可以证明出,顺序学习的方法可以成立,数据不需要同时都用于训练模型,而是可以被分为若干个小部分,按顺序进行学习。在进行完一批训练之后,这一次得到的后验概率分布可以作为下一次的先验概率分布继续传递同时,模型还能在观测完所有数据之前,就有预测数据分布的能力。假设模型已经观测的集合为\mathcal{X},里面包括m次观察到x=1,l次x=0。则此时模型可以做出的预测分布为(利用乘积规则):

                                                         \large p(x=1|\mathcal{X})=\int_0^1p(x=1|\mu)p(\mu|\mathcal{X})\mathrm{d}\mu                                                          (18)

    其中,p(x=1|\mu)是服从伯努利分布的(因为只是单独一次观测),因此,所以,上式可以继续化简为:

                                                         \large p(x=1|\mathcal{X})=\int_0^1\mu \cdot p(\mu|\mathcal{X})\mathrm{d}\mu                                                                        (19)

    很明显,公式(19)是求解\mu的数学期望,而由公式(17)可以求解出其Beta分布的数学期望:

                                                        \large p(x=1|\mathcal{X})=\mathbb{E}[\mu|\mathcal{X}]=\frac{m+a}{m+a+l+b}                                                           (20)

    这便是模型基于观测数据集\mathcal{X}做出的预测结果。而此时,如果让模型观测到总数量(m+l)趋近于无穷大,那么公式(20)中的值会趋近于\frac{m}{N},也就是会变成公式(8)那样。换句话说,当样本数量接近于无穷大时,贝叶斯观点和概率学家观点得到的结果是一样的!而当样本规模有限时,贝叶斯观点得到的结果总是位于先验概率和最大似然估计的结果之间,一定程度上能缓解最大似然估计在样本稀少时严重的过拟合问题。

    同时,随着观测样本数量增多,后验概率表示的不确定性是在持续下降的(一般情况下)。由公式(15)可知,当观测样本增大时,a和b增大,此时Beta分布的方差会减小,可以论证前面的结论(这不是严谨的证明)。

 

Reference:

[1] Pattern Recognition And Machine Learning, Christopher Bishop

你可能感兴趣的:(PRML学习笔记)