贝叶斯学习

1. 简介

贝叶斯学习(Baysian Learning)是基于贝叶斯定理的一个推断方法。其考虑的场景为:我们观测到一个数据集合 D\mathcal{D},其服从条件分布 p(Dw)p(\mathcal{D} | \boldsymbol{w})(我们称 p(Dw)p(\mathcal{D} | \boldsymbol{w})模型分布),其中模型参数 w\boldsymbol{w} 是未知的(当看作是 w\boldsymbol{w} 的函数时,p(Dw)p(\mathcal{D}|\boldsymbol{w}) 也被称为模型似然)。尽管 w\boldsymbol{w} 是未知的,但先验分布 p(w)p(\boldsymbol{w}) 往往是已知的,而我们要求解的便是 w\boldsymbol{w}

2. 贝叶斯定理

贝叶斯学习是基于联合分布 p(D,w)p(\mathcal{D}, \boldsymbol{w}) 的基本分解公式,如下所示:

p(wD)posteriorp(D)marginal=p(D,w)joint=p(Dw)likelihoodp(w)prior(1)\underbrace{p(\boldsymbol{w} | \mathcal{D})}_{\text {posterior}} \underbrace{p(\mathcal{D})}_{\text {marginal}} = \underbrace{p(\mathcal{D}, \boldsymbol{w})}_{\text {joint}} = \underbrace{p(\mathcal{D} | \boldsymbol{w})}_{\text {likelihood}} \underbrace{p(\boldsymbol{w})}_{\text {prior}} \tag{1}

其中,边际分布 p(D)=Wp(D,w)dw=Wp(Dw)p(w)dwp(\mathcal{D}) = \int_{\mathcal{\boldsymbol{W}}} p(\mathcal{D}, \boldsymbol{w}) \mathrm{d}\boldsymbol{w} = \int_{\mathcal{\boldsymbol{W}}} p(\mathcal{D} | \boldsymbol{w}) p(\boldsymbol{w}) \mathrm{d}\boldsymbol{w}W\mathcal{\boldsymbol{W}} 是模型参数 w\boldsymbol{w} 的域。而后验分布 p(wD)=p(D,w)p(D)p(D,w)p(\boldsymbol{w} | \mathcal{D}) = \frac{p(\mathcal{D}, \boldsymbol{w})}{p(\mathcal{D})} \propto p(\mathcal{D}, \boldsymbol{w}),其与联合分布 p(D,w)p(\mathcal{D}, \boldsymbol{w}) 只相差一个比例系数(这是因为 p(D)p(\mathcal{D}) 对于 w\boldsymbol{w} 来说是一个常数),换句话说,联合分布是未规范的后验分布

注意,如果 W\mathcal{\boldsymbol{W}} 是离散的,则上述公式的密度积分应该替换成概率求和。

3. 最大似然

最大似然(ML)方法通过最大化似然概率来估计未知参数 w\boldsymbol{w}

w^ML=argmaxp(Dw)(2)\hat{\boldsymbol{w}}^{\mathrm{ML}} = \arg\max{p(\mathcal{D} | \boldsymbol{w})} \tag{2}

4. 最大后验概率

最大后验概率(MAP)方法通过最大化后验概率来估计未知参数 w\boldsymbol{w}

w^MAP=argmaxp(wD)=argmaxp(D,w)=argmaxp(Dw)p(w)(3)\hat{\boldsymbol{w}}^{\mathrm{MAP}} = \arg\max{p(\boldsymbol{w} | \mathcal{D})} = \arg\max{p(\mathcal{D}, \boldsymbol{w})} = \arg\max{p(\mathcal{D} | \boldsymbol{w}) p(\boldsymbol{w})} \tag{3}

可以看到,当先验概率 p(w)p(\boldsymbol{w}) 服从均匀分布时,p(w)1p(\boldsymbol{w}) \propto 1,此时称先验概率 p(w)p(\boldsymbol{w})uniform priorflat prior

求解 MAP 可以使用 EM 算法。

5. 贝叶斯学习

使用贝叶斯学习方法,要计算至少以下一个量:

  • Marginal likelihood(zeroth moment)

    p(D)=p(D,w)dw(4)p(\mathcal{D}) = \int p(\mathcal{D}, \boldsymbol{w}) \mathrm{d}\boldsymbol{w} \tag{4}

  • Posterior mean(first moment)

    wˉ=Ep(wD)[w]=1p(D)wp(D,w)dw(5)\bar{\boldsymbol{w}} = \mathbb{E}_{p(\boldsymbol{w}|\mathcal{D})} \left[ \boldsymbol{w} \right] = \frac{1}{p(\mathcal{D})} \int \boldsymbol{w} \cdot p(\mathcal{D}, \boldsymbol{w}) \mathrm{d}\boldsymbol{w} \tag{5}

  • Posterior covariance(second moment)

    Ep(wD)[(wwˉ)(wwˉ)]=1p(D)(wwˉ)(wwˉ)p(D,w)dw(6)\mathbb{E}_{p(\boldsymbol{w}|\mathcal{D})} \left[ (\boldsymbol{w} - \bar{\boldsymbol{w}})(\boldsymbol{w} - \bar{\boldsymbol{w}})^\top \right] = \frac{1}{p(\mathcal{D})} \int (\boldsymbol{w} - \bar{\boldsymbol{w}})(\boldsymbol{w} - \bar{\boldsymbol{w}})^\top p(\mathcal{D}, \boldsymbol{w}) \mathrm{d}\boldsymbol{w} \tag{6}

  • Predictive distribution(expectation of model distribution)

    p(DnewD)=Ep(wD)[p(Dneww)]=1p(D)p(Dneww)p(D,w)dw(7)p(\mathcal{D}^{\mathrm{new}} | \mathcal{D}) = \mathbb{E}_{p(\boldsymbol{w} | \mathcal{D})} \left[ p(\mathcal{D}^{\mathrm{new}} | \boldsymbol{w}) \right] = \frac{1}{p(\mathcal{D})} \int p(\mathcal{D}^{\mathrm{new}} | \boldsymbol{w}) p(\mathcal{D}, \boldsymbol{w}) \mathrm{d} \boldsymbol{w} \tag{7}

    这里有分解有很多版本,每个版本的条件可能有所不同,比如上面给出的版本就要求当给定条件 w\boldsymbol{w} 时,Dnew\mathcal{D}^{\mathrm{new}}D\mathcal{D} 独立。另外两种分解如下:

    p(DnewD)=Ep(wD)[p(Dneww)]=1p(D)p(Dneww,D)p(D,w)dwp(DnewD)=Ep(wD)[p(Dneww)]=p(Dneww,D)p(w)dwp(\mathcal{D}^{\mathrm{new}} | \mathcal{D}) = \mathbb{E}_{p(\boldsymbol{w} | \mathcal{D})} \left[ p(\mathcal{D}^{\mathrm{new}} | \boldsymbol{w}) \right] = \frac{1}{p(\mathcal{D})} \int p(\mathcal{D}^{\mathrm{new}} | \boldsymbol{w}, \mathcal{D}) p(\mathcal{D}, \boldsymbol{w}) \mathrm{d} \boldsymbol{w} \\ p(\mathcal{D}^{\mathrm{new}} | \mathcal{D}) = \mathbb{E}_{p(\boldsymbol{w} | \mathcal{D})} \left[ p(\mathcal{D}^{\mathrm{new}} | \boldsymbol{w}) \right] = \int p(\mathcal{D}^{\mathrm{new}} | \boldsymbol{w}, \mathcal{D}) p(\boldsymbol{w}) \mathrm{d} \boldsymbol{w} \\

    上述第一种没有额外的条件,第二种则要求 w\boldsymbol{w}D\mathcal{D} 独立。

上述 44 个量都要计算一个关于 w\boldsymbol{w} 的函数在未规范化的后验概率 p(D,w)p(\mathcal{D}, \boldsymbol{w}) 上的期望,而这个期望的求解往往是非常困难的,特别是当 w\boldsymbol{w} 的维度很高时。这也是贝叶期学习方法的一个瓶颈所在。

5.1 共轭先验

一个先验 p(w)p(\boldsymbol{w}) 被称为似然 p(Dw)p(\mathcal{D} | \boldsymbol{w})共轭,如果后验概率 p(wD)p(\boldsymbol{w}|\mathcal{D}) 和先验 p(w)p(\boldsymbol{w}) 是属于同一个分布族的。

  • 当模型分布为各向同性的高斯分布时,各向同性的高斯分布先验(关于均值 μ\boldsymbol{\mu})、伽玛分布先验(关于方差的倒数 σ2\sigma^{-2})以及各向同性的高斯伽玛分布先验(同时关于均值和方差)都是共轭先验。
  • 当模型分布为一般的高斯分布时,威尔沙特分布先验(关于均值 μ\boldsymbol{\mu} 或关于协方差矩阵的逆 Σ1\boldsymbol{\Sigma}^{-1})以及高斯威尔沙特分布先验都是共轭先验。

当模型似然有一个共轭先验时,贝叶斯学习关于式 (4)(7)(4) \sim (7) 可以得到解析解。

5.2 指数族

一个分布族被称为指数族,如果它可以写成以下的形式:

p(xw)=p(tη)=e(ηtA(η)+B(t))p(\boldsymbol{x} | \boldsymbol{w}) = p(\boldsymbol{t} | \boldsymbol{\eta}) = e^{\left( \boldsymbol{\eta}^\top \boldsymbol{t} - A(\boldsymbol{\eta}) + B(\boldsymbol{t}) \right)}

其中,t=t(x)\boldsymbol{t} = \boldsymbol{t}(\boldsymbol{x}) 是关于随机变量 x\boldsymbol{x} 的函数,被称为 x\boldsymbol{x}充分统计量η=η(w)\boldsymbol{\eta} = \boldsymbol{\eta}(\boldsymbol{w}) 是关于参数 w\boldsymbol{w} 的函数,被称为 w\boldsymbol{w}自然参数

举例来说,一元高斯分布(属于指数族)的充分统计量 t=(x,x2)\boldsymbol{t} = (x, x^2)^\top,自然参数 η=(μσ2,12σ2)\boldsymbol{\eta} = (\frac{\mu}{\sigma^2}, -\frac{1}{2\sigma^2})^\top

  • 指数族分布都是乘积封闭的

5.3 经验贝叶斯学习

在实际场景中,往往使用超参参数化的先验分布。而这些超参 κ\boldsymbol{\kappa} 可以通过交叉验证等手段进行调整,也可以看作是模型参数直接使用贝叶斯学习方法进行估计。此时模型参数为 wˉ=(w,κ,z)\bar{\boldsymbol{w}} = (\boldsymbol{w}, \boldsymbol{\kappa}, \boldsymbol{z})p(wˉ)=p(zw)p(wκ)p(κ)p(\bar{\boldsymbol{w}}) = p(\boldsymbol{z} | \boldsymbol{w}) p(\boldsymbol{w} | \boldsymbol{\kappa}) p(\boldsymbol{\kappa})z\boldsymbol{z} 为隐变量,则经验贝叶斯学习方法为

κ^EBayes=argmaxκp(D,κ)=argmaxκp(Dκ)p(κ)\hat{\boldsymbol{\kappa}}^{\mathrm{EBayes}} = \underset{\boldsymbol{\kappa}}{\arg\max} p(\mathcal{D}, \boldsymbol{\kappa}) = \underset{\boldsymbol{\kappa}}{\arg\max} p(\mathcal{D} | \boldsymbol{\kappa}) p(\boldsymbol{\kappa})

其中,p(Dκ)=p(D,w,zκ)dwdzp(\mathcal{D} | \boldsymbol{\kappa}) = \int p(\mathcal{D}, \boldsymbol{w}, \boldsymbol{z} | \boldsymbol{\kappa}) \mathrm{d}\boldsymbol{w} \mathrm{d}\boldsymbol{z}

在经验贝叶斯学习(EBayes)中,超参 κ\boldsymbol{\kappa} 是通过最大化边际似然 p(Dκ)p(\mathcal{D} | \boldsymbol{\kappa}) 来估计得到的。边际似然 p(Dκ)p(\mathcal{D} | \boldsymbol{\kappa}) 的负对数

FBayes=logp(Dκ)F^{\mathrm{Bayes}} = -\log{p(\mathcal{D} | \boldsymbol{\kappa})}

被称为贝叶斯自由能随机复杂度(或者是 evidence)。因此,最大化边际似然 p(Dκ)p(\mathcal{D} | \boldsymbol{\kappa}) 等价于最小化贝叶斯自由能。

附录