概率论基础1——伯努利分布及其共轭先验

本文主要是PRML一书2.1与2.2节的笔记。

密度估计问题

密度估计(density estimation)指的是给定有限的观察数据 $\mathbf{x}^{(1)},\cdots,\mathbf{x}^{(N)}$,对真实的概率分布 $p(\mathbf{x})$ 进行建模。这里有一个重要的假设:数据都是独立同分布的(i.i.d.)
需要指出的是,上面的说法是不严谨的。因为有无穷种分布都可能产生所观察到的有限数据,任何一个在 $\mathbf{x}^{(1)},\cdots,\mathbf{x}^{(N)}$ 处概率均不为0的分布都可以作为候选。所以,问题实际上是如何选择一个合适的分布进行建模。
密度估计可以分为参数密度估计非参数密度估计。其中,参数密度估计是利用某个参数分布(比如伯努利分布、高斯分布等)来对真实分布进行建模,参数控制了分布的形态。而在非参数的方法中,分布的形态依赖于数据集的大小,有些非参数的方法仍含有参数(比如k近邻),但这些参数控制的是模型的复杂度而不是分布的形式。

共轭先验

在参数密度估计中,传统频率学派的观点是通过最大化某个目标函数(比如似然函数)来得到最优参数取值;而贝叶斯学派的观点认为参数服从某个先验分布,要通过观察数据后,得到对应的后验分布。
对某个分布(比如伯努利分布)的参数来说,如果我们选取恰当的先验分布(beta分布),就可以使后验分布与先验分布具有相同的形式,从而大大简化贝叶斯分析过程,这样的性质称为共轭
下面介绍伯努利分布及其推广,以及它们的共轭先验分布

1. 伯努利分布

对于伯努利分布,我们有$$p(x=1|\mu)=\mu\qquad\qquad p(x=0|\mu)=1-\mu$$写成紧凑的形式即为$$p(x|\mu)=\mu^x(1-\mu)^{(1-x)}\tag{1}$$很容易验证这个分布是归一化的,并且我们知道期望和方差分别是$$\mathbb{E}[x]=\mu\tag{2}$$ $$\mathrm{var}[x]=\mu(1-\mu)\tag{3}$$假设我们有一个观察到的数据集 $\mathcal{D}=\{x^{(1)},\cdots,x^{(N)}\}$,就可以构建似然函数(这是个关于 $\mu$ 的函数),由于有i.i.d.假设,则$$p(\mathcal{D}|\mu)=\prod_{n=1}^N p(x^{(n)}|\mu)=\prod_{n=1}^N \mu^{x^{(n)}}(1-\mu)^{1-x^{(n)}}\tag{4}$$按频率学派的方法,我们可以通过最大化似然函数来得到一个 $\mu$ 估计,也等价于最大化对数似然函数$$\ln p(\mathcal{D}|\mu)=\sum_{n=1}^{N}\{x^{(n)}\ln\mu+(1-x^{(n)})\ln(1-\mu)\}\tag{5}$$注意到对数似然函数只通过 $\sum_n x^{(n)}$ 依赖于 $N$ 个观察到的数据,也就是说无论观察数据怎么变化,只要 $\sum_n x^{(n)}$ 不变,对数似然函数也就不变,继而估计出来的 $\mu^{\mathrm{ML}}$ 也不会变。称这个和为伯努利分布的充分统计量(sufficient statistic)
令对数似然函数的导数为0,可以求出最大似然估计的参数值$$\mu^{\mathrm{ML}}=\cfrac{1}{N}\sum_{n=1}^N x^{(n)}=\cfrac{m}{N}\tag{6}$$其中,$m$ 为 $\mathcal{D}$ 中 $x=1$ 的个数。换言之,最大似然估计的参数值实际等于训练集中正例所占的比例。

重看过拟合问题
假设掷硬币三次,恰好都是3次正面向上,则 $N=m=3$,故 $\mu^{\mathrm{ML}}=1$。这意味着,最大似然估计告诉我们,后面的都应该预测为正面朝上(不增大训练集前提下)。这显然与常识相悖,因为训练集太小,使用最大似然估计就会发生过拟合,这是个严重过拟合的例子。

另外,我们也可以求出 $m$ 服从的分布,为二项分布$$p(m|N,\mu)=\begin{pmatrix}N \\ m \end{pmatrix}\mu^m(1-\mu)^{N-m}\tag{7}$$期望和方差分别是$$\mathbb{E}[m]=N\mu\tag{8}$$ $$\mathrm{var}[m]=N\mu(1-\mu)\tag{9}$$

共轭先验:beta分布

从贝叶斯的角度看,参数 $\mu$ 服从某个先验分布 $p(\mu)$。注意到似然函数的形式是 $\mu^x(1-\mu)^{(1-x)}$,如果我们令先验分布与 $\mu$ 和 $1-\mu$ 的幂成正比,那么后验分布(正比于先验分布乘似然函数)就与先验分布具有相同的形式,这样的性质称为共轭

注意先验分布、后验分布都是关于参数 $\mu$ 的分布,而不是关于 $x$ 的分布。

对于伯努利分布,选择beta分布作为先验分布$$\mathrm{Beta}(\mu|a,b)=\cfrac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1}\tag{10}$$期望和方差分别是$$\mathbb{E}[\mu]=\cfrac{a}{a+b}\tag{11}$$ $$\mathrm{var}[\mu]=\cfrac{ab}{(a+b)^2(a+b+1)}\tag{12}$$参数 $a$ 和 $b$ 控制着参数 $\mu$ 的分布,所以被称为超参数
将beta分布与似然函数相乘,归一化后就得到了后验分布。只保留依赖于 $\mu$ 的项,得到后验分布的形式如下$$p(\mu|m,l,a,b)\propto\mu^{m+a-1}(1-\mu)^{l+b-1}\tag{13}$$其中 $l=N-m$。从上式中可以看到,后验分布与先验分布具有相似的函数形式。事实上,后验分布也是一个beta分布$$p(\mu|m,l,a,b)=\cfrac{\Gamma(m+a+l+b)}{\Gamma(m+a)\Gamma(l+b)}\mu^{m+a-1}(1-\mu)^{l+b-1}\tag{14}$$从上式中可以看出,观察了一个含 $m$ 个正例和 $l$ 个负例的数据集后,后验分布的参数也恰好比先验分布增加了 $m$ 和 $l$。于是,我们可以将参数 $a$,$b$ 看作 有效样本数,即预先假设的有效样本($a$,$b$ 可不必为整数)。
如果我们继续观察到新的数据,则可以将这个后验分布作为先验分布,与似然函数相乘,归一化后得到新的后验分布。下图简单形象地阐述了这一点

进行预测
如果我们要预测 $x=1$ 的概率,则有$$p(x=1|\mathcal{D})=\int_0^1p(x=1|\mu)p(\mu|\mathcal{D})\mathrm{d}\mu=\int_0^1\mu p(\mu|\mathcal{D})\mathrm{d}\mu=\mathbb{E}[\mu|\mathcal{D}]\tag{15}$$则由(11)式可知$$p(x=1|\mathcal{D})=\cfrac{m+a}{m+a+l+b}\tag{16}$$结果可以理解为总观察样本中正例所占比例(包括实际观测的样本和假想的样本)。
若 $m$ 和 $l$ 趋近于无穷(实际观测了一个无穷大的数据集),则上式的结果退化成最大似然估计;若 $m$ 和 $l$ 等于0(实际未观测数据),则上式结果等于先验分布的期望。因此,对一个实际中的有限数据集,后验分布的期望介于先验分布和最大似然估计之间。

2. 伯努利分布的推广

对伯努利分布推广,令一个变量可以取 $K$ 个值。用one-hot方式来表示,即 $\mathbf{x}=(x_1,x_2,\cdots,x_K)^{\mathrm{T}}$,满足 $\sum_{k=1}^{K}x_k=1$。
这个分布对应的共轭先验为Dirichlet分布,介绍的内容与上面的类似,所以下面用表格来对比,更为清晰

伯努利分布 伯努利分布的推广
概率分布 $\text{Bern}(x|\mu)=\mu^x(1-\mu)^{(1-x)}$ $p(\mathbf{x}|\boldsymbol{\mu})=\prod_{k=1}^K\mu_k^{x_k}$
似然函数 $$p(\mathcal{D}|\mu)=\prod_{n=1}^N\mu^{x^{(n)}}(1-\mu)^{1-x^{(n)}}$$ $p(\mathcal{D}|\boldsymbol{\mu})=\prod_{k=1}^K\mu_k^{m_k}$
其中 $m_k=\sum_n x_k^{(n)}$
充分统计量 $m=\sum_n x^{(n)}$ $m_k=\sum_n x_k^{(n)}$
最大似然估计 $\mu^{\mathrm{ML}}=\cfrac{m}{N}$ $\mu_k^{\mathrm{ML}}=\cfrac{m_k}{N}$
关于 $m$ 的分布 $\text{Bin}(m|N,\mu)=$ $$\begin{pmatrix}N \\ m \end{pmatrix}\mu^m(1-\mu)^{N-m}$$ $\text{Mult}(m_1,\cdots,m_K|\boldsymbol{\mu},N)=$ $$\begin{pmatrix}N \\ m_1 m_2\cdots m_K \end{pmatrix}\prod_{k=1}^K\mu_k^{m_k}$$
共轭先验 $\mathrm{Beta}(\mu | a,b)=$ $$\cfrac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1}$$ $\mathrm{Dir}(\boldsymbol{\mu} | \boldsymbol{\alpha})=$ $$\cfrac{\Gamma(\alpha_0)}{\Gamma(\alpha_1)\cdots\Gamma(\alpha_K)}\prod_{k=1}^{K}\mu_k^{\alpha_k-1}$$其中 $\alpha_0=\sum_{k=1}^K\alpha_k$
后验分布 $\mathrm{Beta}(\mu | m+a,l+b)=$ $$Q\mu^{m+a-1}(1-\mu)^{l+b-1}$$其中 $Q=\frac{\Gamma(m+a+l+b)}{\Gamma(m+a)\Gamma(l+b)}$ $\mathrm{Dir}(\boldsymbol{\mu} |\boldsymbol{\alpha+\mathbf{m}})=$ $$Q\prod_{k=1}^K\mu_k^{\alpha_k+m_k-1}$$其中$Q=\frac{\Gamma(\alpha_0+N)}{\Gamma(\alpha_1+m_1)\cdots\Gamma(\alpha_K+m_K)}$
共轭先验分布图形(参数小)
共轭先验分布图形(参数为1)
共轭先验分布图形(参数大)

当 $K=2$ 时,两者是一样的

参考资料

  1. Pattern Recognition and Machine Learning (PRML)