NO.24.tip: 高斯过程
背景
为了更详细地解释高斯过程,回想一下,长度为 的高斯随机向量 由其均值 和协方差 定义。现在考虑一个函数 ,在一组输入 上求值。设 是这些点上的未知函数值的集合。如果 对于 个点的任意集合均为联合高斯分布,那么我们说 是一个高斯过程。这样的高斯过程由其均值函数 和协方差函数(covariance function) 定义,函数 是任何正定 Mercer 核。例如,我们可以使用形式为 的径向基函数核。
我们将相应的高斯过程表示为:
其中
这意味着,对于任何有限的点集 ,我们有
其中,,。
高斯过程可以用于定义先验函数。我们可以在所选择的任何一组点上对此先验进行评估。然而,为了从数据中学习函数,我们必须使用似然函数来更新先验。我们通常假设有一组 个独立同分布的观测 ,其中 。如果我们使用高斯似然,那么我们可以计算闭合形式的后验 。对于其他类型的似然,我们需要使用近似推理。在许多情况下, 并未被直接观察到,而是作为潜在变量模型的一部分,无论是在监督的环境还是无监督的环境中,都是如此。
高斯过程的泛化特性由其协方差函数(核)控制。这些核存在于再生核希尔伯特空间中。
高斯过程最初是为空间数据分析而设计的,其中输入是二维数据。这种特殊情况被称为 kriging。然而,高斯过程也可以应用于更高维度的输入。此外,虽然高斯过程传统上仅限于处理小型数据集,但现在已能够将其应用于包含数百万个点的问题,并且基本上可以实现精确推理。
此外,虽然高斯过程历来被认为是平滑插值器,但高斯过程现在可以通过协方差函数学习和多层模型定期执行表征学习。这些研究进展清楚地表明,高斯过程和神经网络并不是相互竞争的,而是具有互补性的,将两者结合可以获得比单独使用深度学习更好的性能。
高斯过程和神经网络之间的联系也可以通过考虑神经网络的无限极限来进一步理解,这些神经网络收敛到具有特定协方差函数的高斯过程。
因此,高斯过程是一种非参数化模型,能够进行扩展,并可执行表征学习。但是,在深度学习的时代,我们为什么要使用高斯过程呢?选择高斯过程有若干令人信服的理由,包括:
- 高斯过程通常提供校准良好的预测分布,具有认知(模型)不确定性的良好表征——不确定性是由于不知道诸多解决方案中哪一个是正确的而产生的。例如,随着我们远离数据,一致性解决方案的多样性增加,因此我们预计会有更大的不确定性。
- 对于连续的回归问题,尤其是时空问题(例如天气插值和预测),高斯过程通常是最先进的方法。在回归问题中,高斯过程推理通常也可以以闭合形式执行。
- 高斯过程的边缘似然为灵活的核学习提供了强大的机制。核学习使我们能够提供长期的推断,也告诉我们以前未知数据的可解释性,以促进科学发现。
- 高斯过程通常被用作优化昂贵目标的概率代理,这一过程被称为贝叶斯优化。
源与流
高斯似然的高斯过程
我们使用高斯似然讨论的高斯过程,在这种情况下,所有的计算都可以使用标准的线性代数方法以封闭的形式进行。
使用无噪声观测的预测
假设我们观察一个训练集 ,其中 是在 处评估的函数的无噪声观测值。如果我们要求高斯过程为该过程已经看到的 值预测 ,我们希望高斯过程返回没有不确定性的答案 。换言之,高斯过程应该充当训练数据的插值器。此处我们假设观测到的函数值是无噪声的。稍后,我们将考虑噪声观测的情况。
对于可能不在 中的新输入,现在我们考虑预测这种输入所对应的输出情况。具体而言,给定大小为 的测试集 ,我们希望预测函数输出 。根据高斯过程的定义,联合概率分布 具有以下形式:
其中,,。 的大小为 , 的大小为 , 的大小为 。
根据高斯条件的标准规则,后验具有以下形式:
我们看到,该模型完美地插值了训练数据,并且随着我们远离观测数据,预测不确定性也随之增加。
注意,上述采样 个点的方法具有 的成本。使用文献 [Ple+18; Wil+20a] 中的方法,可以将其降低到 的时间。
使用噪声观测的预测
我们展示了当训练数据无噪声时如何进行高斯过程回归。现在让我们考虑这样一种情况,即我们观察到的是底层函数的噪声版本,即 ,其中 。在这种情况下,模型不需要对数据进行插值,但必须“接近”观测数据。观测到的噪声响应的协方差为:
其中,。换言之:
观测数据和测试点上潜在的无噪声函数的联合密度由下式给出:
因此,一组测试点 的后验预测密度为
在单个测试输入的情况下,这将简化如下:
其中,,。如果均值函数为零,我们可以将后验均值记作:
其中,
拟合该模型相当于计算式 (18) 中的 。这通常通过计算 的 Cholesky 分解来完成。一旦我们计算了 ,就可以在 的时间内计算每个测试点的均值,以及在 的时间内计算方差。
权重空间与函数空间
我们将证明贝叶斯线性回归是高斯过程的特例。
考虑线性回归模 ,其中 和 。如果我们使用高斯先验 ,则后验如下所示:
其中, 是大小为 的设计矩阵。
因此, 的后验预测分布为
其中,。这就解决了权重空间(weight space)中的推理和预测问题。
我们现在证明,这等价于高斯过程使用形式为 的核所做的预测。为了理解这一点,设 ,。使用这个符号和矩阵求逆引理,我们可以将式(21)重写如下:
这与式(15)中的结果相匹配,假设 。通过将值为 1 的常数特征添加到 ,可以捕获非零均值。
因此,我们可以从贝叶斯线性回归中推导出高斯过程。然而,需要注意的是,线性回归假设 是一个有限长度的向量,而高斯过程允许我们直接根据核来工作,核可能对应于无限长的特征向量。也就是说,高斯过程在函数空间中运作。
半参数话高斯过程
到目前为止,我们大多假设高斯过程的均值为 0,并依靠其插值能力对均值函数进行建模。有时,拟合均值的全局线性模型,并使用高斯过程对残差进行建模是有用的,如下所示:
其中,,并且 是一些固定的基函数。这种方法结合了参数化模型和非参数化模型,称为半参数化模型(semi-parametric model)。
如果我们假设 ,那么我们可以将这些参数积分出来,得到一个新的高斯过程:
设 是一个大小为 的训练样例矩阵,并且 是一个大小为 的测试样例矩阵。测试输入 的相应预测分布具有以下形式:
这些结果可以解释如下:均值是来自高斯过程的常规均值,加上使用 表示的来自线性模型的全局偏移;协方差是来自高斯过程的常规协方差,加上由于 的不确定性而产生的额外正项。
在回归参数的无信息先验的极限下,即当 时,这简化为:
边缘似然
大多数核都包含一些自由参数。例如,RBF-ARD 核具有以下形式:
其中,每个 是特征维度 的长度尺度。设使用 表示这些(以及观测噪声方差 ,如果存在)参数。我们可以按照下式计算这些参数的似然:
由于我们对函数 进行积分,因此我们通常称 为超参数,并且称 为边缘似然。
由于 是一个高斯过程,因此我们可以使用相应高斯的边缘似然来计算上述积分。结果为
第一项是观测值和预测值之间马氏距离的平方:拟合越好,距离越小。第二项是协方差矩阵的对数行列式,该行列式测量模型的复杂性:越光滑的函数将具有越小的行列式,因此 对于更简单的函数将更大(即其值不是较小的负值)。边缘似然衡量拟合度和复杂性之间的权衡。
计算和数值问题
我们将讨论在实现上述公式时出现的计算和数值问题。为了简化符号,我们假设先验均值为零,即 。
后验预测均值由 给出。出于数值稳定性的考虑,直接求 的逆是不明智的。一个更鲁棒的替代方案是计算 Cholesky 分解,即 ,这需要 的时间。基于此,我们可以计算:
其中,,此处我们使用了反斜杠运算符来表示回代。
我们可以使用下式,计算在 的时间内,每个测试用例的方差:
其中,。
最后,可以使用下式计算对数边缘似然:
我们可以看到,总体成本主要由 决定。
具有非高斯似然的高斯过程
我们关注的是使用高斯似然进行回归的高斯过程。在这种情况下,后验也是一个高斯过程,所有的计算都可以采用解析方式进行。然而,如果似然是非高斯的,我们就不能再精确地计算后验。我们可以通过改变似然的形式来创建各种不同的“经典”模型。
二元分类
我们将考虑使用高斯过程的二元分类。如果我们使用 sigmoid 链接函数,我们有 。如果我们假设 ,则我们有 ,因为 。如果我们使用 probit 链接函数,则我们有 ,其中 是标准正态分布的累积分布函数。更一般地,设 。整体对数联合概率具有以下形式:
近似推理的最简单方法是使用拉普拉斯近似。对数联合概率梯度和黑森矩阵由下式给出:
其中, 是一个对角矩阵,因为似然是跨样例因子分解的。在收敛时,后验的拉普拉斯近似采用以下形式:
其中, 是最大后验估计。
为了提高准确性,我们可以使用变分推理,其中我们假设 ;然后,我们使用(随机)梯度下降来优化 和 ,而不是假设 是模式下的黑塞矩阵。
一旦我们有了高斯后验 ,我们就可以使用标准高斯过程预测来计算 。最后,我们可以使用下式来近似二元标签上的后验预测分布:
该一维积分可以使用 probit 近似进行计算。在这种情况下,我们有 ,其中 ,。
多类别分类
多类别分类(又称为多元分类)的情况有些复杂,因为函数现在需要返回一个由 个 logits 所构成的向量以获得 ,其中 。标准的假设是 。因此,每个类别有一个潜在函数,这些函数是先验独立的,并且可以使用不同的核。
我们可以推导出该模型的拉普拉斯近似,或者,我们可以使用变分方法,关于多项式 softmax 的局部变分界。
泊松回归的高斯过程(COX过程)
我们将描述泊松回归,其中基本的对数速率函数由高斯过程建模。这被称为 Cox 过程(Cox process)。我们可以使用拉普拉斯、马尔可夫链蒙特卡罗方法或者随机变分推理在该模型中执行近似后验推理。我们应用马尔可夫链蒙特卡罗方法以及随机变分推理。在变分推理的情况下,我们还必须指定后验的形式;我们使用高斯近似计算变分高斯过程后验 ,并对核参数使用点估计。