【摘 要】 在许多高斯过程的实际应用中,协方差函数很难指定。此外,前人已经提出了很多协方差函数,其中许多协方差函数具有大量参数,使得协方差函数的选择更为困难。因此,需要开发解决模型选择问题的方法。本文相当广泛地解释了高斯过程模型选择问题,包括协方差函数的选择、超参数值的确定等。本文节选自 《Gaussian processes for machine learning》一书的第五章。

【原 文】 Rasmussen, C.E. and Williams, C.K. (2006) Gaussian processes for machine learning, chapter 5. Cambridge, Mass: MIT press Cambridge, MA (3).

1 模型选择问题

为了使模型成为应用程序中的实用工具,需要对其定义的细节做出决定。有些性质可能很容易指定,但有些方面的信息是模糊的,我们使用术语 “模型选择” 来涵盖协方差函数参数的具体选择和连续(超-)参数设置,事实上,模型选择既可以帮助改进模型的预测,也可以为用户提供有关数据性质的有价值的解释,例如一个非平稳的协方差函数可能优于一个平稳的协方差函数。

存在许多可能的协方差函数族,包括平方指数、多项式、神经网络等,请参见 第 4.2 节 的概述。这些函数族中的每一个通常都有许多自由超参数,这些超参数值也需要确定。因此, 为特定应用选择协方差函数既包括函数族内超参数的设置,也包括不同函数族之间的比较,这两个问题可以用相同的方法处理,无需区分,因此我们将使用术语 “模型选择” 涵盖这两种含义,也就是说,将协方差函数及其参数的选择作为高斯过程的训练过程!以下段落给出了一些以距离度量作为参数的平稳协方差函数的示例。

类似平方指数之类的协方差函数,可以依据超参数进行参数化。例如

k(xp,xq)=σf2exp(12(xpxq)M(xpxq))+σn2δpq(5.1)k\left(\mathbf{x}_p, \mathbf{x}_q\right)=\sigma_f^2 \exp \left(-\frac{1}{2}\left(\mathbf{x}_p-\mathbf{x}_q\right)^{\top} M\left(\mathbf{x}_p-\mathbf{x}_q\right)\right)+\sigma_n^2 \delta_{p q} \tag{5.1}

其中 θ=({M},σf2,σn2)\boldsymbol{\theta}=\left(\{M\}, \sigma_f^2, \sigma_n^2\right)^{\top} 是包含所有超参数的向量,{M}\{M\} 表示对称矩阵 MM 中的参数。矩阵 MM 的可能选择包括:

M1=2I,M2=diag()2,M3=ΛΛ+diag()2(5.2)M_1=\ell^{-2} I, \quad M_2=\operatorname{diag}(\ell)^{-2}, \quad M_3=\Lambda \Lambda^{\top}+\operatorname{diag}(\ell)^{-2} \tag{5.2}

其中 \ell 是一个正值向量,Λ\Lambda 是一个 D×kD \times k 矩阵,k<Dk<D。此协方差函数类的性质取决于超参数的具体值。对于大部分协方差函数,超参数具有可解释的含义,这对于理解数据非常重要。 例如,对于 式 5.1 的平方指数协方差函数族:

  • 采用来自 式(5.2)M2M_2 距离测度时,超参数 1,,D\ell_1, \ldots, \ell_D 起着 特征长度尺度 的角色;大致地说,就是你需要在输入空间中(沿特定轴)移动多远,才能使函数值变得不相关(在地统计学中称为变程参数)。这样的协方差函数实现了自动的相关性确定 (ARD) [Neal, 1996],因为一个输入的长度尺度(可以简单理解为欧式距离)的倒数,决定了其相关程度。如果该输入的长度尺度值非常大,则其协方差将几乎独立,可以将其从推断中移除。 ARD 已成功用于删除一些不相关输入,例如 Williams and Rasmussen [1996]。
  • 采用来自 式(5.2)M3M_3 测度时,超参数 1,,D\ell_1, \ldots, \ell_D 起着 因子分析距离 的角色;因为与(无监督)因子分析模型类似,该模型试图通过低秩加对角线分解的方式来解释数据。对于高维数据集,Λ\Lambda 矩阵的 kk 个列可以识别输入空间中具有特别高 “相关性” 的若干方向,而其长度则给出了这些方向的 反特征长度尺度

Fig5.1

图 5.1:从无噪声平方指数协方差函数高斯过程中随机抽取的具有二维输入的函数,分别对应于式 (5.2)中的三种不同的距离度量。参数是:(a) =1\ell = 1,(b) =(1,3)\ell = (1, 3)^{\top},和 ( c ) Λ=(1,1),=(6,6)\Lambda = (1, −1)^{\top}, \ell = (6, 6)^{\top}。在图 (a) 中,两个输入同等重要,而在 (b) 中,函数作为 x2x_2 的函数变化不如 x1x_1 快。在 ( c ) 中,Λ\Lambda 列给出了最快变化的方向。

图 5.1 中,我们展示了从平方指数协方差函数高斯过程中随机抽取的函数,分别对应于 MM 的不同选择。在子图 (a) 中,我们得到各向同性表现。在图 (b) 中,特征长度尺度沿两个输入轴不同;该函数作为 x1x_1 的函数变化很快,但作为 x2x_2 的函数变化较慢。在子图 ( c ) 中,最快变化的方向垂直于方向 (1,1)(1, 1)。从图中可以看出, 即便在一个协方差函数族内,也存在很大的变化空间特性。因此,模型选择的主要任务是: 基于一组训练数据,推断协方差函数的具体形式和参数,或者等效地推断出数据中的关系。

从上面的例子应该清楚,模型选择本质上是开放的。即便对于平方指数协方差函数族,也有多种可能的距离度量方式。但这不应成为令人绝望的理由,而应被视为一种学习的可能性。不过,它需要一种系统的、实用的模型选择方法。简而言之,我们需要比较两种或多种方法在特定参数值或协方差函数形状上的差异(或者将高斯过程模型与任何其他类型的模型进行比较)。尽管文献中对模型选择的建议有无穷无尽种方法,但存在三个最通用的原则:

  • (1) 计算给定数据时模型的概率;
  • (2) 估计泛化误差;
  • (3) 将泛化误差限制在一定范围内。

我们使用术语 泛化误差(Generalization Error) 来表示未观测过的测试数据的平均误差(来自与训练样本相同的分布)。请注意: 训练误差并不能代表泛化误差,因为模型可能会拟合训练集中的噪声(过拟合),从而导致训练误差很小但泛化性能很差的情况。

第 2 节 中,我们将描述模型选择的贝叶斯方法,其中涉及基于边缘似然计算给定数据的模型概率。在 3 节 中,我们介绍了交叉验证法,它用于估计模型的泛化性能。这两种范式将在本章其余部分中被用于高斯过程回归和分类模型。

2 基于贝叶斯的模型选择原理

在本节中,我们简要描述 贝叶斯模型选择 的主要思想。讨论将是一般性的,但重点关注与 第 4 节第 5 节 中的回归和分类高斯过程模型处理有关的问题。

2.1 分层建模

注意:此处的分层建模与空间统计中对空间数据的分层建模稍有不同。

我们通常使用模型的分层定义:

  • 最低层:通常是模型的参数,表示为 w\mathbf{w}。例如,参数可以是线性模型中的参数,也可以是神经网络模型中的权重。
  • 第二层:通常是超参数,表示为 θ\boldsymbol{\theta},超参数控制着底层参数的概率分布。例如,神经网络中的 “权重衰减” 项,或岭回归中的 “岭” 项,都属于超参数。
  • 最顶层:通常是一组我们正在考虑的可能模型(结构) Hi\mathcal{H}_i

2.2 分层推断

我们首先对贝叶斯推断所需的计算进行 “机制” 描述,然后继续进行讨论。应用概率论规则可知,推断可以一次发生在一个层次,并形成一个推断链。参见例如 MacKay [1992b] ,或用于神经网络场景的 MacKay [1992a] 。具体来说,贝叶斯模型选择首先推断模型参数 w\mathbf{w} 的后验,然后通过边缘化 w\mathbf{w} 推断超参数 θ\boldsymbol{\theta} 的后验,最后通过边缘化 θ\boldsymbol{\theta} 推断模型的后验,并得出最优模型。

(1)模型参数的推断

在最底层,参数的后验可以通过贝叶斯规则给出(为便于理解,可以将 y\mathbf{y}, XX, θ\boldsymbol{\theta}Hi\mathcal{H}_i 均视为已知,推断的目的在于获得模型参数的后验分布):

p(wy,X,θ,Hi)=p(yX,w,Hi)p(wθ,Hi)p(yX,θ,Hi)(5.3)p\left(\mathbf{w} \mid \mathbf{y}, X, \boldsymbol{\theta}, \mathcal{H}_i\right)=\frac{p\left(\mathbf{y} \mid X, \mathbf{w}, \mathcal{H}_i\right) p\left(\mathbf{w} \mid \boldsymbol{\theta}, \mathcal{H}_i\right)}{p\left(\mathbf{y} \mid X, \boldsymbol{\theta}, \mathcal{H}_i\right)} \tag{5.3}

其中:

  • p(yX,w,Hi)p\left(\mathbf{y} \mid X, \mathbf{w}, \mathcal{H}_i\right) 是似然(或似然函数);
  • p(wθ,Hi)p\left(\mathbf{w} \mid \boldsymbol{ \theta}, \mathcal{H}_i\right) 是参数的先验分布,编码了在看到数据之前对参数的理解。 当我们只有关于参数的模糊先验知识时,可以选择较宽的先验分布。
  • p(wy,X,θ,Hi)p\left(\mathbf{w} \mid \mathbf{y}, X, \boldsymbol{\theta}, \mathcal{H}_i\right) 是参数的后验分布,结合了先验和数据信息(通过似然)。
  • 分母项 p(yX,θ,Hi)p\left(\mathbf{y} \mid X, \boldsymbol{\theta}, \mathcal{H}_i\right) 是一个归一化常数,通常被称为 边缘似然(或证据),该项与参数无关,但与超参数 θ\boldsymbol{\theta} 和模型 Hi\mathcal{H}_i 有关,由于要对 w\mathbf{w} 做积分,所以计算非常棘手。根据贝叶斯规则,边缘似然由下式定义:

p(yX,θ,Hi)=p(yX,w,Hi)p(wθ,Hi)dw(5.4)p\left(\mathbf{y} \mid X, \boldsymbol{\theta}, \mathcal{H}_i\right)=\int p\left(\mathbf{y} \mid X, \mathbf{w}, \mathcal{H}_i\right) p\left(\mathbf{w} \mid \boldsymbol{\theta}, \mathcal{H}_i\right) d \mathbf{w} \tag{5.4}

(2)超参数的推断

在中间层,我们可以采用类似的贝叶斯方式表示超参数的后验(为便于理解,将 y\mathbf{y}, XXHi\mathcal{H}_i 均视为已知,而模型的参数 w\mathbf{w} 通过上一步已经推断得出并且被边缘化掉了,推断的目的在于获得超参数的后验分布):

p(θy,X,Hi)=p(yX,θ,Hi)p(θHi)p(yX,Hi)(5.5)p\left(\boldsymbol{\theta} \mid \mathbf{y}, X, \mathcal{H}_i\right)=\frac{p\left(\mathbf{y} \mid X, \boldsymbol{\theta}, \mathcal{H}_i\right) p\left(\boldsymbol{\theta} \mid \mathcal{H}_i\right)}{p\left(\mathbf{y} \mid X, \mathcal{H}_i\right)} \tag{5.5}

其中:

  • 似然:来自上一层的边缘似然在这一层扮演了似然的角色;
  • 先验:p(θHi)p(\boldsymbol{\theta} \mid \mathcal{H}_i) 是超先验(超参数的先验)。
  • 证据:证据(归一化常数)由下式给出

p(yX,Hi)=p(yX,θ,Hi)p(θHi)dθ(5.6)p\left(\mathbf{y} \mid X, \mathcal{H}_i\right)=\int p\left(\mathbf{y} \mid X, \boldsymbol{\theta}, \mathcal{H}_i\right) p\left(\boldsymbol{\theta} \mid \mathcal{H}_i\right) d \boldsymbol{\theta} \tag{5.6}

通常情况下,出于计算考虑,我们会放弃获取完整的超参数后验分布,而改为寻求获得超参数的最优点估计,这就是经验贝叶斯模型。显然,获得最优点估计的直觉想法就是采用最大似然估计,观察式 5.5 可知,本层的似然实际上就是上一层的边缘似然,所以对超参数的推断通常被称为 最大边缘似然推断 ,而不是最大似然推断(显然,最大似然推断主要用于上一层模型参数的最优点估计)。

(3)模型的推断

在顶层,我们计算模型的后验(为便于理解,将 y\mathbf{y}, XX 均视为已知,而模型参数 w\mathbf{w} 和超参数 θ\boldsymbol{\theta} 均已通过上两步推断得出并被边缘化掉了,推断的目的在于评估哪个模型更好):

p(Hiy,X)=p(yX,Hi)p(Hi)p(yX)(5.7)p\left(\mathcal{H}_i \mid \mathbf{y}, X\right)=\frac{p\left(\mathbf{y} \mid X, \mathcal{H}_i\right) p\left(\mathcal{H}_i\right)}{p(\mathbf{y} \mid X)} \tag{5.7}

其中 p(yX)=ip(yX,Hi)p(Hi)p(\mathbf{y} \mid X)=\sum_i p\left(\mathbf{y} \mid X, \mathcal{H}_i\right) p\left(\mathcal{H}_i\right )

2.3 推断的实施

可以注意到:贝叶斯推断的实现需要计算好几个积分。根据模型的具体情况,这些积分可能在解析上难于处理,并且通常不得不求助于 解析近似 方法或 马尔可夫链蒙特卡罗 (MCMC) 方法。

(1)超参数 θ\boldsymbol{\theta} 的点估计

在实际工作中,由于 式(5.6) 中边缘似然积分计算可能非常困难,所以 式(5.5) 中超参数的后验分布很难得到。取而代之的,人们通常会关于超参数 θ\boldsymbol{\theta} 最大化 式(5.4) 中的边缘似然,以获得 θ\boldsymbol{\theta} 的点估计,而非完整的超参数后验分布。这种近似方法被称为 第 II 类最大似然 (ML-II)。当然,采用这种优化步骤需要足够小心,因为它会带来过拟合风险,尤其是在超参数较多的时候。在该点估计基础上,式(5.6)中超参数边缘似然的积分计算可以使用峰值附近的局部高斯来做近似(即拉普拉斯近似)。实际工作表明,如果超参数 θ\boldsymbol{\theta} 的后验能够找到峰值,通常近似效果会比较好,请参阅 MacKay [1999] 的启发性讨论。

式(5.7)中的先验模型 Hi\mathcal{H}_i 通常被认为是平坦的,说明我们并不先验地偏爱任何一个模型。此时,模型的概率与 式(5.6) 中的表达式成正比。

(2)参数 w\mathbf{w} 的后验推断

式(5.4) 中的边缘似然,将贝叶斯推断方法与基于优化的方法显著区分开来。边缘似然的一个特性是:它会自动在模型拟合和模型复杂性之间进行权衡。这也是边缘似然在解决模型选择问题时最具价值的地方(即自带奥卡姆剃刀)。

图 5.2 中,我们展示了三种不同模型复杂度的边缘似然表现。假设数据点数量 nn 和输入 XX 固定;水平轴是目标 yy 所有可能向量的理想化表示,垂直轴绘制了边缘似然 p(yX,Hi)p(\mathbf{y}|X, \mathcal{H}_i)。一个简单模型只能解释有限范围的可能目标值集,但由于边缘似然是 y\mathbf{y} 上的概率分布,必须归一化为 11,因此模型能够很好解释的数据集会具有很大的边缘似然值。相反,对于复杂模型:它能够解释更广泛的数据集,因此边缘似然不会达到简单模型那么大的值。例如,简单模型可以是线性模型,复杂模型可以是大型神经网络。该图说明了为何边缘似然不仅有利于最适合训练数据的模型。这种效应被称为奥卡姆剃刀,以奥卡姆 (1285-1349) 的名字命名,他的原则是:“如无必要,不应假定复杂”,他曾鼓励解释的简单性。另请参阅 Rasmussen 和 Ghahramani [2001],了解统计模型中奥卡姆剃刀原理的综述。

Fig5.2

图 5.2:给定模型的情况下,边缘似然 p(yX,Hi)p(\mathbf{y}|X, \mathcal{H}_i) 是数据的概率。数据点的数量 nn 和输入 XX 固定且未显示。水平轴是目标 y\mathbf{y} 所有可能向量的理想化表示。显示了三种不同复杂性的模型的边缘似然。请注意,由于边缘似然是概率分布,因此它必须归一化为 11。对于由 y\mathbf{y} 和虚线表示的特定数据集,边缘似然更喜欢中等复杂度的模型,而不是过于简单或过于复杂的方案。

请注意,数据拟合和模型复杂性之间的权衡是自动的;无需在外部设置参数来确定权衡。不要将自动奥卡姆剃刀原理与贝叶斯方法中先验的使用混淆。即使先验在复杂性上是 “平坦” 的,边缘似然仍倾向于支持能够解释数据的最不复杂的模型。因此,可以使用边缘似然来选择更适合数据的模型复杂度。

在前面的段落中,我们已经将模型的指定视为模型结构以及先验参数等。如果不清楚如何设置先验的某些参数,则可以将这些视为超参数,并通过模型选择确定如何设置它们。同时应该强调的是:先验对应于关于数据的(概率)假设,如果先验与数据分布严重不一致,推断仍将会在先验编码的假设下进行,并导致推断困难,参见第 4.3 节中的阶跃函数示例。为避免这种情况,应注意不要使用过于狭窄的先验,过于狭窄的先验容易排除对数据的合理解释。

3 基于交叉验证的模型选择原理

在本节中,我们将考虑如何使用交叉验证 (CV) 方法来选择模型。基本思想是将训练集分成两个不相交的集合,一个实际用于训练,另一个是验证集,用于监控性能。验证集上的性能用作泛化误差的代理,并使用该度量进行模型选择。

在实践中留出法的一个缺点是只有整个数据集的一小部分可以用于训练,如果验证集很小,获得的性能估计可能会有较大方差。为了最小化这些问题,交叉验证几乎总是在 k-折交叉验证设置中使用:将数据被分成不相交的、大小相等的 kk 个子集;验证在单个子集上完成,训练则使用剩余的 k1k-1 个子集的并集来完成的。整个过程重复 kk 次,每次用不同的子集进行验证,因此,对于训练来说可以使用大部分数据,而所有样本也都作为验证样本出现。这种做法的代价是:必须训练 kk 个模型而不是一个。kk 的典型值在 3 103 ~ 10 之间。

kk-折交叉验证的一个极端情况是 k=nk=n,即训练样本的数量,此时被称为留一法交叉验证(LOO-CV)。通常 LOO-CV的计算成本(训练 “n 个模型”)令人望而却步,但在某些情况下(例如高斯过程回归)有快捷计算方法。

交叉验证可以与任何损失函数一起使用。尽管平方误差损失是迄今为止回归中最常见的损失函数,但没有理由不允许使用其他损失函数。对于概率模型,例如高斯过程,很自然地还要考虑使用负对数概率损失的交叉验证。 Craven 和 Wahba [1979] 描述了一种使用平方误差的交叉验证变体,称为广义交叉验证,它为不同的数据点赋予不同的权重,以实现某些不变性,更多详情见 Wahba [1990,第 4.3 节]。

4 高斯过程回归中的模型选择方法

面向具有高斯噪声的高斯过程回归,我们将 第 4.1 节 中应用贝叶斯推断,在 第 4.2 节 中使用交叉验证。在 第 4.3 节 中,我们会总结一些更详细的示例,说明如何使用模型选择原则来定制协方差函数。

4.1 边缘似然

贝叶斯规则为推断提供了一个有说服力且一致的框架。不幸的是,对于大多数机器学习模型,贝叶斯推断所需的计算(在参数空间上的积分)是难以解析处理的,并且很难得到良好的近似。但对于含高斯噪声的高斯过程回归模型而言,却是一个罕见的例外: 在高斯过程回归模型中,参数空间上的积分具有解析形式,而且模型非常灵活。而这正是高斯过程如此受欢迎的主要原因。

在本节中,我们首先将 第 2 节 中的一般性贝叶斯推断原理应用于特定的高斯过程回归模型,以简化的形式对超参数进行优化。我们将推导出高斯过程回归模型的边缘似然表达式,并对其进行解释。

(1)边缘似然的解析形式

高斯过程模型是非参数模型,因此模型参数的概念可能并不明显。不过,通常可以将训练输入的无噪声隐函数值(即真实过程值) f\mathbf{f} 视为参数,训练样本越多,则模型参数越多。通过高斯过程的权重空间视角,可以将模型参数等效地认为是基函数 ϕ\phi 的线性模型权重,并且选择协方差函数的特征函数作为基函数 ϕ\phi。不过,这种视角对于非退化(没有固定秩)的协方差函数并不方便,因为这意味着需要无限数量的权重。

我们继续使用 式(5.3)式(5.4) 做最底层模型参数的推断。基于 式(5.3) 的后验预测分布见第 2 章的 式(2.12)(权重空间视角) 和 式(2.22) (函数空间视角);式(5.4) 中的边缘似然(或证据)则可以采用如下解析形式计算(参见第 2 章 的 式(2.30)):

logp(yX,θ)=12yKy1y12logKyn2log2π(5.8)\log p(\mathbf{y} \mid X, \boldsymbol{\theta})=-\frac{1}{2} \mathbf{y}^{\top} K_y^{-1} \mathbf{y}-\frac{1}{2} \log \left|K_y\right|-\frac{n}{2} \log 2 \pi \tag{5.8}

式中 Ky=Kf+σn2IK_y=K_f+\sigma_n^2 I 是含噪声观测目标 y\mathbf{y} 的协方差矩阵(KfK_f 代表无噪声隐函数 f\mathbf{f} 的协方差矩阵)。上式显式地表达了以超参数(协方差函数的参数)θ\boldsymbol{\theta} 为条件的边缘似然。从这个角度来看,我们为什么称 式 (5.8) 为对数 边缘 似然就变得很清楚了,因为它是通过对隐函数的边缘化积分得到的。否则,如果完全从函数空间视角来思考, “边缘” 这个术语可能显得有点不好理解。类似的问题也体现在协方差函数的 θ\boldsymbol{\theta} 超参数的 “超” 字上。

式(5.8) 中边缘似然的三个项都具有易于解释的角色:

  • 第一个数据拟合项 yKy1y/2-\mathbf{y}^{\top} K_y^{-1} \mathbf{y} / 2 是唯一涉及已观测目标的项;
  • 第二项 logKy/2\log \left|K_y\right| / 2 是仅取决于协方差函数和输入的模型复杂度惩罚项;
  • 第三项 nlog(2π)/2n \log (2 \pi) / 2 是一个归一化常数。

图 5.3(a) 中,我们说明了对数边缘似然的上述分解。数据拟合随长度尺度单调递减,因为模型变得越来越不灵活。负复杂度惩罚随着长度尺度的增加而增加,因为模型随着长度尺度的增加而变得不那么复杂。边缘似然本身在接近 11 的值处达到峰值。对于比 11 稍长的长度尺度,边缘似然会迅速下降(注意对数尺度!),这是由于模型解释数据的能力较差。对于较小的长度尺度,边缘似然下降得更慢一些,对应于确实容纳数据的模型,但在远离基函数的区域浪费了预测质量。

图 5.3(b) 中,展示了不同数量训练样本的对数边缘似然对特征长度尺度的依赖性。通常,数据越多边缘似然的峰值就越大。对于非常少量的训练数据点,对数边缘似然的斜率非常浅,因为当只观测到少量数据时,长度尺度的非常短和中间值都与数据一致。随着数据的增加,复杂性项变得更加严格,并且不鼓励太短的长度尺度。

Fig03

图 5.3: (a) 展示了对数边缘似然及其分解成的两个组成部分:数据拟合项和复杂性惩罚项,三者均作为特征长度尺度的函数。训练数据取自具有平方指数协方差函数的高斯过程,其参数设置为 (,σf,σn)=(1,1,0.1)(\ell, σ_f , σ_n) = (1, 1, 0.1),与图 2.5 相同,我们仅拟合长度尺度参数 \ell (其他两个参数根据生成过程设置)。 (b) 展示了三种不同大小训练集的对数边缘似然情况,同样作为特征长度尺度的函数,此外还展示了后验长度尺度的 95% 置信区间。

(2)最大化边缘似然以得到超参数的最优估计

为了通过最大化边缘似然来设置超参数,我们寻求边缘似然关于超参数的偏导数。使用 式(5.8)式 (A.14-A.15),我们有:

θjlogp(yX,θ)=12yK1KθjK1y12tr(K1Kθj)=12tr((ααK1)Kθj) where α=K1y(5.9)\begin{aligned} \frac{\partial}{\partial \theta_j} \log p(\mathbf{y} \mid X, \boldsymbol{\theta}) & =\frac{1}{2} \mathbf{y}^{\top} K^{-1} \frac{\partial K}{\partial \theta_j} K^{-1} \mathbf{y}-\frac{1}{2} \operatorname{tr}\left(K^{-1} \frac{\partial K}{\partial \theta_j}\right) \\ & =\frac{1}{2} \operatorname{tr}\left(\left(\boldsymbol{\alpha} \boldsymbol{\alpha}^{\top}-K^{-1}\right) \frac{\partial K}{\partial \theta_j}\right) \quad \text { where } \boldsymbol{\alpha}=K^{-1} \mathbf{y} \end{aligned} \tag{5.9}

通过观察 式 (5.8) 不难发现,计算边缘似然的复杂度主要来自于协方差矩阵 KK 的求逆和求行列式(作为求逆的副产品,KK 的对数行列式相对容易计算)。 n×nn \times n 正定对称矩阵的求逆标准算法是 Cholesky 分解,需要 O(n3)\mathcal{O}(n^3) 的计算复杂度来完成。一旦得到了 K1K^{-1}式(5.9) 中每个超参数导数的计算只需要 O(n2)\mathcal{O}(n^2) 时间。也就是说,求导的计算开销相对较小,其本身对于梯度优化算法影响不大,影响最大的还是求逆运算。

通过优化边缘似然来估计超参数 θ\boldsymbol{\theta} 的方法,在空间统计中有着悠久历史,参见例如 Mardia 和 Marshall [1984]。随着 nn 的增加,人们希望数据能提供更多有关 θ\boldsymbol{\theta} 的信息。

然而,有必要区分一下 固定域渐近(在某些区域内获得越来越密集的观测)与 递增域渐近(观测区域的大小随 nn 增长)这两种不同的情况(参见 Stein [1999, sec. 3.3])。 递增域渐近 是时间序列上下文中的天然选择,但固定域渐近在空间(和机器学习)设置中似乎更自然。进一步的讨论参见 Stein [1999, sec. 6.4]。

(3)仿真示例

图 5.4 展示了对数边缘似然作为(平方指数协方差函数族中)特征长度尺度和噪声标准差超参数的函数时的示例,参见式(5.1)。信号方差 σf2σ^2_f 设置为 1.01.0。边缘似然在生成数据的高斯过程中使用的超参数值周围有一个明显的最大值。请注意,对于长尺度和 σn2=1σ^2_n = 1 的噪声水平,边缘似然变得几乎与长度尺度无关;这是由模型将一切解释为噪声,不再需要信号协方差引起的。类似地,对于小噪声和 =0.4\ell = 0.4 的长度尺度,边缘似然变得几乎与噪声水平无关;这是由于模型能够在这么短的长度范围内精确插值数据造成的。我们注意到,虽然这个超参数区域中的模型准确地解释了所有数据点,但该模型仍然不被边缘似然所接受,见 图 5.2

Fig04

图 5.4:对数边缘似然的等值线图,这里将对数边缘似然视为特征长度尺度和噪声水平的函数,采用与图 2.5 和图 5.3 中相同的数据。信号方差超参数设置为 σf2=1σ^2_f = 1。最优值接近生成数据时使用的参数。请注意,存在两个脊线:一个对应于小噪声和长度尺度 =0.4\ell = 0.4,另一个对应于长尺度和噪声 σn2=1σ^2_n = 1。等值线在对数概率密度中的间隔为 22 个单位。

(4)局部最优问题

我们无法保证边缘似然不会受到多个局部最优值的影响。不过,实际经验似乎表明局部最大值并不是一个破坏性的问题,但它们确实存在。事实上,每个局部最大值都对应于对数据的特定解释。在图 5.5 中,展示了一个具有两个局部最优值的示例,以及模型在两个局部最优值中的每一处的相应(无噪声)预测。一个最优对应于具有低噪声的相对复杂的模型,而另一个对应于具有更多噪声的更简单的模型。只有 77 个数据点,模型不可能自信地拒绝这两种似然中的任何一种。更复杂模型的边缘似然数值比简单模型高约 60%60\%。根据贝叶斯主义,人们应该根据备选解释的后验概率对预测进行加权。不过,在实际工作中,对于大得多的数据集,人们通常会发现一个局部最优解的概率比其他局部最优解高几个数量级,因此可能不需要对其他解释进行平均。但应该注意不要以糟糕的局部最优解结束推断工作。

Fig5.5

图 5.5: (a) 显示边缘似然作为超参数 \ell(长度尺度)和 σn2σ^2_n(噪声标准差)的函数,其中 σf2=1σ^2_f = 1(信号标准差),数据集中只有 77 个观测值(参见图 (b) 和 ( c )),可以看到两个局部最优,用’+'表示:全局最优具有低噪声和短长度尺度;局部最优具有高噪声和长尺度。在 (b) 和 ( c ) 中,为两个解中的每一个显示了推断的基础函数(和 95%95\% 置信区间)。事实上,数据点是由式 (5.1) 中 (,σf2,σn2)=(1,1,0.1)(\ell, σ^2_f , σ^2_n) = (1, 1, 0.1) 的高斯过程生成的。

(5)多任务学习问题

上面我们已经描述了如何在给定一个数据集的情况下调整协方差函数的参数。但我们有时可能会得到多个数据集,所有这些数据集都假定共享相同的超参数;此时被称为 多任务学习(multi-task learning),参见例如 Caruana [1997]。在这种情况下,可以简单地将各个问题的对数边缘似然相加,并关于超参数优化此求和。

4.2 交叉验证方法

预留训练样本 ii 时的预测对数概率是

logp(yiX,yi,θ)=12logσi2(yiμi)22σi212log2π(5.10)\log p\left(y_i \mid X, \mathbf{y}_{-i}, \boldsymbol{\theta}\right)=-\frac{1}{2} \log \sigma_i^2-\frac{\left(y_i-\mu_i\right)^2}{2 \sigma_i^2}-\frac{1}{2} \log 2 \pi \tag{5.10}

其中符号 yi\mathbf{y}_{-i} 表示除数字 ii 之外的所有目标,并且 μi\mu_iσi2\sigma_i^2 是根据式 (2.23)式 (2.24) 计算的,其中训练集取为 (Xi,yi)\left(X_{-i}, \mathbf{y}_{-i}\right)。因此,采用留一法( LOO )的对数预测概率为:

LLOO(X,y,θ)=i=1nlogp(yiX,yi,θ)(5.11)L_{\mathrm{LOO}}(X, \mathbf{y}, \boldsymbol{\theta})=\sum_{i=1}^n \log p\left(y_i \mid X, \mathbf{y}_{-i}, \boldsymbol{\theta}\right) \tag{5.11}

注:式 (2.23)式 (2.24) 来自于高斯过程回归预测方程中的均值和方差计算公式:

fX,y,XN(fˉ,cov(f)) 其中 fˉE[fX,y,X]=K(X,X)[K(X,X)+σn2I]1ycov(f)=K(X,X)K(X,X)[K(X,X)+σn2I]1K(X,X)\begin{align*} f_*|X, y, X_* &\sim \mathcal{N}(\bar{\mathbf{f}}_*, \operatorname{cov}(\mathbf{f}_*)) \tag{2.22}\\ \text{ 其中 } \bar{\mathbf{f}}_* &\triangleq \mathbb{E}[\mathbf{f}_*|X, \mathbf{y}, X_*] = K(X_*, X)[K(X, X) + \sigma^2_n I]^{−1} \mathbf{y} \tag{2.23}\\ \operatorname{cov}(\mathbf{f}_*) &= K(X_*, X_*) − K(X_*, X)[K(X, X) + \sigma^2_n I]^{−1} K(X, X_*) \tag{2.24} \end{align*}

有关此方法和相关方法的讨论,请参阅 [Geisser 和 Eddy,1979]。式 (5.11) 中的 LLOOL_{LOO} 有时被称为对数伪似然。

请注意,在 nn 个留一法交叉验证(LOO-CV )轮转过程中,每一次轮转里的高斯过程模型(具有固定超参数)推断,都必须包括协方差矩阵的求逆运算(即求精度矩阵),以允许用 式(2.23)式(2.24) 计算预测均值和方差(也就是说,不存在参数模型中的参数拟合概念)。关键的见解是:当重复应用 式 (2.23)式(2.24) 时,方式几乎相同:我们需要依次对去除了单个列和行的协方差矩阵求逆。这可以利用分区求逆法,从完整协方差矩阵的逆矩阵中有效计算得出,见式(A.11-A.12)。在 Sundararajan 和 Keerthi [2001] 中,该方法被用于高斯过程模型中的超参数选择。采用 LOO-CV 法时,预测均值和方差的表达式为:

μi=yi[K1y]i/[K1]ii, and σi2=1/[K1]ii(5.12)\mu_i=y_i-\left[K^{-1} \mathbf{y}\right]_i /\left[K^{-1}\right]_{i i}, \quad \text { and } \quad \sigma_i^2=1 /\left[K^{-1}\right]_{i i} \tag{5.12}

仔细观察会发现:均值 μi\mu_i 实际上独立于 yiy_i。这些量的计算开销是一次用于计算 KK 逆的 O(n3)\mathcal{O}(n^3),再加上整个留一法交叉验证过程的 O(n2)\mathcal{O}(n^2) (当 K1K^{-1} 已知时)。因此,LOO-CV 量的计算开销可以忽略不计。

将上述表达式代入 式 (5.10)式(5.11) 会生成一个性能的估计,我们可以关于超参数对该估计做优化来实现模型选择。具体来说,我们可以计算 LLOOL_{LOO} 关于超参数的偏导数(使用式(A.14))并使用共轭梯度进行优化。为此,我们需要 LOO-CV 预测均值和方差(式(5.12))关于超参数的偏导数。

μiθj=[Zjα]i[K1]iiαi[ZjK1]ii[K1]ii2 and σi2θj=[ZjK1]ii[K1]ii2(5.13)\frac{\partial \mu_i}{\partial \theta_j}=\frac{\left[Z_j \boldsymbol{\alpha}\right]_i}{\left[K^{-1}\right]_{i i}}-\frac{\boldsymbol{\alpha}_i\left[Z_j K^{-1}\right]_{i i}}{\left[K^{-1}\right]_{i i}^2} \quad \text{ and } \quad \frac{\partial \sigma_i^2}{\partial \theta_j}=\frac{\left[Z_j K^{-1}\right]_{i i}}{\left[K^{-1}\right]_{i i}^2} \tag{5.13}

其中 α=K1y\boldsymbol{\alpha}=K^{-1} \mathbf{y}Zj=K1KθjZ_j=K^{-1} \frac{\partial K}{\partial \theta_j}式(5.11) 的偏导数通过链式法则和式 (5.13) 获得:

LLOOθj=i=1nlogp(yiX,yi,θ)μiμiθj+logp(yiX,yi,θ)σi2σi2θj=i=1n(αi[Zjα]i12(1+αi2[K1]ii)[ZjK1]ii)/[K1]ii(5.14)\begin{aligned} \frac{\partial L_{\mathrm{LOO}}}{\partial \theta_j} & =\sum_{i=1}^n \frac{\partial \log p\left(y_i \mid X, \mathbf{y}_{-i}, \boldsymbol{\theta}\right)}{\partial \mu_i} \frac{\partial \mu_i}{\partial \theta_j}+\frac{\partial \log p\left(y_i \mid X, \mathbf{y}_{-i}, \boldsymbol{\theta}\right)}{\partial \sigma_i^2} \frac{\partial \sigma_i^2}{\partial \theta_j} \\ & =\sum_{i=1}^n\left(\alpha_i\left[Z_j \boldsymbol{\alpha}\right]_i-\frac{1}{2}\left(1+\frac{\alpha_i^2}{\left[K^{-1}\right]_{i i}}\right)\left[Z_j K^{-1}\right]_{i i}\right) /\left[K^{-1}\right]_{i i} \tag{5.14} \end{aligned}

KK 的求逆计算复杂度为 O(n3)\mathcal{O}(n^3)式 (5.14) 的导数中每个超参数的复杂度为 O(n3)\mathcal{O}(n^3)。因此,LOO-CV 方法的计算负担比基于边缘似然的方法更大。

将 LOO-CV 方法的伪似然与上一节中的边缘似然进行比较,可能涉及到一个感兴趣的问题:既然两者的计算需求大致相当,那么在哪种情况下哪种方法可能更可取呢? 这个问题还没有得到太多的实证研究。不过,边缘似然能够够告诉我们在给定模型假设情况下观测数据的概率;而频率主义的 LOO-CV 则给出了(对数)预测概率的估计值,无论模型的假设是否得到了满足。因此 Wahba [1990, sec. 4.8] 认为交叉验证程序应该能够更稳健地防止模型的错误指定。

讨论:其他损失函数

式(5.10) 中,我们使用验证密度的对数作为拟合的交叉验证度量(或等效地,负对数验证密度作为损失函数)。其实还可以设想使用其他损失函数,例如常用的平方误差。但这个损失函数只是预测均值的函数,忽略了验证集方差。此外,由于 式 (2.23) 的均值预测与协方差的尺度无关(即可以将信号和噪声的协方差乘以任意正值常数并不会改变均值预测结果),基于平方误差损失的 LOO-CV 例程(或任何其他仅取决于均值预测的损失函数)总是有一个自由度未确定。但完整的预测分布确实取决于协方差函数的规模。此外,基于平方误差损失的导数计算具有与负对数验证密度损失相似的计算复杂性。总之,使用基于平方误差损失的 LOO-CV 进行超参数选择没有吸引力。

4.3 示例与讨论

下面我们给出三个回归模型的模型选择示例。我们首先描述了一个一维建模任务,它说明了如何设计特殊的协方差函数来实现各种有用的效果,并且可以使用边缘似然进行评估。其次,我们简要参考了第 2 章和第 8 章讨论的机器人手臂问题的模型选择。最后,我们讨论了一个例子,我们故意选择了一个不太适合该问题的协方差函数;这就是所谓的错误指定模型场景。

(1)莫纳罗亚大气二氧化碳

我们将使用一个关于大气中 CO2\mathrm{CO}_2 浓度的建模问题来说明如何使用边缘似然来设置分层高斯过程模型中的多个超参数。一个复杂的协方差函数是通过组合几种不同类型的简单协方差函数得到的,所得模型提供了对数据的极好拟合,并通过对适应的超参数的解释来洞察其性质。尽管数据是一维的,因此易于可视化,但总共使用了 11 个超参数,这在实践中排除了使用交叉验证来设置参数,除了之前的基于梯度的 LOO-CV 程序部分。

数据 [Keeling 和 Whorf,2004 年] 包括月平均大气 CO2\mathrm{CO}_2 浓度(单位为体积百万分率 (ppmv)),这些数据来自夏威夷莫纳罗亚天文台在1958 年和 2003 年(有一些缺失值)。 8{ }^8 数据如图6所示。我们的目标是将 CO2\mathrm{CO}_2 浓度建模为时间 xx 的函数。几个特征是显而易见的:长期上升趋势、明显的季节性变化和一些较小的不规则性。在下文中,我们建议对处理这些单独性质的组合协方差函数做出贡献。这主要是为了说明高斯过程框架的强大功能和灵活性——其他选择可能更适合该数据集。

Fig5.6

图 5.6:1958 年至 2003 年底期间对大气中 CO2 浓度月平均值进行的 545 次观测,以及未来 20 年高斯过程回归模型的 95%95\% 预测置信度区域。上升趋势和季节性变化清晰可见。另请注意,预测外推得越远,置信区间越宽。

为了对长期平滑上升趋势建模,我们使用平方指数协方差项,其中两个超参数控制振幅 θ1\theta_1 和特征长度尺度 θ2\theta_2

k1(x,x)=θ12exp((xx)22θ22)(5.15)k_1\left(x, x^{\prime}\right)=\theta_1^2 \exp \left(-\frac{\left(x-x^{\prime}\right)^2}{2 \theta_2^2}\right) \tag{5.15}

请注意,我们只使用平滑趋势;实际上先验地强制趋势增加可能不是那么简单并且(希望)不可取。我们可以使用式 (4.31) 中的周期性协方差函数,以一年为周期对季节性变化进行建模。然而,尚不清楚季节性趋势是否完全是周期性的,因此我们修改了 式(4.31) 通过采用平方指数分量的乘积(使用 第 4.2.4 节 中的乘积构造),允许衰减远离精确的周期性:

k2(x,x)=θ32exp((xx)22θ422sin2(π(xx))θ52)(5.16)k_2\left(x, x^{\prime}\right)=\theta_3^2 \exp \left(-\frac{\left(x-x^{\prime}\right)^2}{2 \theta_4^2}-\frac{2 \sin ^2\left(\pi\left(x-x^{\prime}\right)\right)}{\theta_5^2}\right)\tag{5.16}

其中 θ3\theta_3 给出幅度,θ4\theta_4 给出周期分量的衰减时间,θ5\theta_5 给出周期分量的平滑度;期限固定为一(年)。数据中的季节性成分主要是由不同季节的植物吸收 CO2\mathrm{CO}_2 的不同速率引起的,并且可以合理地假设这种模式本身可能随时间缓慢变化,部分原因是CO2\mathrm{CO}_2 水平本身的升高;如果结果证明这种影响不相关,则可以在拟合阶段通过允许 θ4\theta_4 变得非常大来有效地消除它。

为了模拟(小)中期不规则性,使用有理二次项,eq。 (4.19)

k3(x,x)=θ62(1+(xx)22θ8θ72)θ8,k_3\left(x, x^{\prime}\right)=\theta_6^2\left(1+\frac{\left(x-x^{\prime}\right)^2}{2 \theta_8 \theta_7^2}\right)^{-\theta_8},

其中 θ6\theta_6 是震级,θ7\theta_7 是典型的长度尺度,θ8\theta_8 是确定长度尺度扩散的形状参数,请参阅第 87 页的讨论。人们也可以使用平方这个分量的指数形式,但事实证明有理二次函数效果更好(给出更高的边缘似然),可能是因为它可以容纳多个长度尺度。

最后,我们将噪声模型指定为平方指数贡献和独立分量的总和

k4(xp,xq)=θ92exp((xpxq)22θ102)+θ112δpq,k_4\left(x_p, x_q\right)=\theta_9^2 \exp \left(-\frac{\left(x_p-x_q\right)^2}{2 \theta_{10}^2}\right)+\theta_{11}^2 \delta_{p q},

其中 θ9\theta_9 是相关噪声分量的幅度,θ10\theta_{10} 是其长度尺度,θ11\theta_{11} 是独立噪声分量的幅度。序列中的噪声可能是由测量不准确和当地的短期天气现象引起的,因此假设至少有适度的时间相关性可能是合理的。请注意,相关的噪声分量,式的第一项。 (18),与式中的长期分量具有相同的表达式。 (15)。在优化超参数时,我们会看到其中一个分量变大,长度尺度较长(长期趋势),而另一个分量较小,长度尺度较短(噪声)。事实上,我们选择称这些成分之一为“信号”,另一个为“噪声”,这只是一个解释问题。大概我们对非常短期的影响不太感兴趣,因此称之为噪声;另一方面,如果我们对这种效果感兴趣,我们会称其为信号。

最终的协方差函数为:

k(x,x)=k1(x,x)+k2(x,x)+k3(x,x)+k4(x,x)k\left(x, x^{\prime}\right)=k_1\left(x, x^{\prime}\right)+k_2\left(x, x^{\prime}\right)+k_3\left(x, x^{\prime}\right)+k_4\left(x, x^{\prime}\right)

带有超参数 θ=(θ1,,θ11)\boldsymbol{\theta}=\left(\theta_1, \ldots, \theta_{11}\right)^{\top}。我们首先减去数据的经验平均值 (341 ppm),然后通过使用共轭梯度优化器优化边缘似然来拟合超参数。为了避免糟糕的局部最小值(例如,由有理二次项和平方指数项的交换作用引起),尝试了一些随机重启,选择具有最佳边缘似然的运行,即 logp(yX,θ)=108.5\log p(\mathbf{y} \mid X, \boldsymbol{\theta})=-108.5

Fig5.7

图 5.7:子图 (a):长期趋势,虚线,左侧比例尺,由平方指数贡献预测;叠加的是中期趋势,实线,右侧刻度,由有理二次贡献预测;垂直虚线表示训练数据的上限。图 (b) 显示了三个不同年份的全年季节性变化。浓度在 5 月中旬达到峰值,10 月初达到低点。季节性变化是平滑的,但不完全是正弦曲线。峰峰值幅度从 1958 年的约 5.55.5 ppm 增加到 2003 年的约 77 ppm,但形状变化不大。周期分量的特征衰减长度被推断为 90 年,因此季节性趋势变化相当缓慢,这也从所示的三年之间的渐进过程中看出。

我们现在检查并解释优化边缘似然的超参数。长期趋势的幅度为 θ1=66ppm\theta_1=66 \mathrm{ppm},长度范围为 θ2=67\theta_2=67 年。图 77 (a) 描绘了训练数据范围内并延伸到未来 20 年的平均预测。在同一图中(右手轴),我们还展示了由有理二次分量建模的中期效应,其大小为 θ6=0.66ppm\theta_6=0.66\mathrm{ppm},典型长度为 θ7=1.2\theta_7=1.2 年,形状为  theta8=0.78\ theta_8=0.78。非常小的形状值允许许多不同长度尺度的协方差,这在图 77 (a) 中也很明显。请注意,在训练数据的边缘之外,此贡献的均值平滑地衰减到零,但当然它仍然对不确定性有贡献,请参见图 6。

衰减周期贡献的超参数值是:震级 θ3=2.4ppm\theta_3=2.4 \mathrm{ppm},衰减时间 θ4=90\theta_4=90 年,周期分量的平滑度 θ5=1.3\theta_5=1.3。相当长的衰减时间表明数据在短期内具有非常接近周期性的成分。如图 77 (b) 我们展示对应于训练数据的开始、中间和结束的三年的平均周期性贡献。该分量不完全是正弦曲线,它会随着时间缓慢改变其形状,最显着的是振幅在增加,请参见图 8。

Fig5.8

图 5.8:季节性影响的时间进程,绘制在月与年图中(边缘之间具有环绕连续性)。等高线上的标签以 CO2 的 ppmv 为单位。培训期一直延伸到虚线。请注意缓慢的发展:5 月的峰值可能已经开始回落,但 10 月的低点目前(2005 年)可能正在进一步加深。图 5.7(b) 还绘制了三个特定年份的季节性影响。

对于噪声分量,我们得到相关分量 θ9=0.18ppm\theta_9=0.18 \mathrm{ppm} 的幅度,θ10=1.6\theta_{10}=1.6 个月的长度尺度和 θ的独立噪声幅度11=0.19ppm\theta_{ 的独立噪声幅度11}=0.19 \mathrm{ppm}。因此,噪声分量的相关长度确实被推断为很短,噪声的总幅度仅为 θ92+θ112=0.26ppm\sqrt{\theta_9^2+\theta_{11}^2}=0.26 \mathrm{ppm} , 表明模型可以很好地解释数据。另请注意,在图 66 中,该模型做出了相对自信的预测,95%95\% 的置信区域在 20 年的预测范围内为 16ppm16\mathrm{ppm} 宽。

总之,我们已经看到了如何使用复合协方差函数推断非平凡结构的示例,并且让超参数由数据确定的能力在实践中很有用。当然,认真对待此类数据可能需要对其他影响进行建模,例如人口和经济指标。最后,人们可能想要使用实时序列方法(不仅仅是像我们在这里所做的那样从时间回归到 CO2\mathrm{CO}_2 水平),以适应因果关系等。然而,高斯的能力正如我们所看到的,避免简单参数假设并仍然构建大量结构的过程使其成为许多应用领域中非常有吸引力的模型。

(2)机器人手臂的逆向动力学

我们已经在 2.5 节中讨论了 GPR 在 SARCOS 机器人手臂逆动力学问题中的应用。这个例子也在第 8.3.7 节中进一步研究,其中比较了各种近似方法,因为训练集的大小(44、484 个例子)排除了简单 GPR 的使用,因为它的 O(n2)\mathcal{O}\left (n^2\right) 存储和 O(n3)\mathcal{O}\left(n^3\right) 时间复杂度。

8.3.7 节中考虑的技术之一是数据点子集 (SD) 方法,我们简单地丢弃一些数据并仅使用 m<nm<n 个训练示例。给定随机选择的大小为 mm 的训练数据子集,我们通过优化边缘似然或 LLOoL_{\mathrm{LOo}} 来调整超参数。由于使用了 ARD,这涉及调整 D+D+ 2=232=23 超参数。使用为 m=1024m=1024m=2048m=2048 选择的数据的不同随机子集重复此过程 10 次。结果表明,从两种优化方法获得的预测精度在标准化均方误差 (SMSE) 和平均标准化对数损失 (MSLL) 标准上非常相似,但边缘似然优化要快得多。

(3)说明错误指定的阶跃函数示例

在本节中,我们将讨论错误指定的模型场景,在该场景中,我们尝试学习不太适合数据的协方差函数的超参数。出现错误指定是因为数据来自一个函数,该函数在 GP 先验下概率为零或非常低。人们可能会问为什么讨论这种情况很有趣,因为在实践中肯定应该避免选择这样的模型。虽然这在理论上是正确的,但出于实际原因,例如协方差函数使用标准形式的便利性,或者因为先验信息模糊,人们不可避免地会陷入某种程度的错误设定。

例如,我们使用来自噪声阶跃函数的数据,并用平方指数协方差函数拟合 GP 模型,图 5.9。存在错误指定,因为从具有固定 SE 协方差函数的 GP 中抽取的样本不太可能看起来像阶跃函数。对于较短的长度尺度,样本可能会变化得非常快,但它们往往会在整个过程中迅速变化,而不仅仅是在步骤附近。相反,具有长尺度的平稳 SE 协方差函数可以模拟阶跃函数的平坦部分,但不能模拟快速过渡。请注意,吉布斯的协方差函数 eq。 (4.32) 将是达到预期效果的一种方法。有趣的是,请注意图 5.9(a) 中使用边缘似然优化的模型与同一图的面板 (b) 中使用 LOO-CV 优化的模型之间的差异。请参阅练习 5.6.2,了解更多关于这两个标准如何衡量先验影响的信息。

为了进行比较,我们在图 5.10 中显示了其他两个协方差函数的预测分布。在面板 (a) 中,协方差中使用了两个平方指数项的总和。请注意,此协方差函数仍然是平稳的,但它比单个平方指数更灵活,因为它有两个幅度和两个长度尺度参数。预测分布看起来好一点,对数边缘似然值从图 5.9(a) 中的 −37.7 提高到图 5.10(a) 中的 −26.1。我们还尝试了等式中的神经网络协方差函数。 (4.29),它非常适合这种情况,因为它允许在 x 的正负方向上以不同的值饱和。如图 5.10(b) 所示,预测也接近完美,对数边缘似然值大得多,为 50.2。

Fig5.9

图 5.9:错误规格示例。适合 64 个数据点,这些数据点是从具有高斯噪声的阶跃函数中提取的,标准差为 σn = 0.1。高斯过程模型使用平方指数协方差函数。 Panel (a) shows the mean and 95% confidence interval for the noisy signal in grey, when the hyperparameters are chosen to maximize the marginal likelihood.图 (b) 显示了使用留一法交叉验证 (LOO-CV) 选择超参数时生成的模型。请注意,边缘似然选择高噪声水平和长长度尺度,而 LOO-CV 选择较小的噪声水平和较短的长度尺度。哪个更适合它并不是很明显。

Fig5.10

图 5.10:与图 5.9 相同的数据。面板 (a) 显示了使用协方差函数的结果,该协方差函数是两个平方指数项的总和。虽然这仍然是一个平稳的协方差函数,但与图 5.9(a) 中的平方指数协方差函数相比,它产生了更高的边缘似然,并且可能也更适合。在面板 (b) 中,神经网络协方差函数 式 (4.29) 被使用,提供了更大的边缘可能性和非常好的拟合。

5 高斯过程分类中的模型选择方法

暂略。

6 练习