1 概述

优化是一种与生俱来的人类行为。在个人层面上,我们努力改善自己和周围的环境。在集体层面上,社会努力分配有限资源以改善其成员福利,自从 12000 多年前通过育种驯化农作物以来,优化一直是社会进步的引擎,这一努力一直持续到今天。

鉴于其普遍性,优化也很难这件事情也许就不足为奇了。当我们在寻找最优设计时,必须花费资源(有时相当大)来评估次优的备选方案。这迫使我们寻求(在必要时)“能够精心分配资源以尽可能有效地确定最佳参数的” 优化方法。这正是数学优化的目标。

自 1960 年代以来,统计和机器学习社区已经逐步完善了在本书中开发和探索的贝叶斯优化方法。贝叶斯优化程序依赖于目标函数的统计模型,其给出的信念将指导算法做出最有成效的决策。这些统计模型可能非常复杂,并且在优化过程中维护它们可能会产生巨大成本。不过,这种努力的回报是样本效率。出于此原因,在存在如下目标优化问题时,贝叶斯优化具有显著的需要:

  • 优化目标的计算代价较高,无法进行详尽评估
  • 优化目标缺乏有用的表达,使其成为 “黑匣子” 式的函数
  • 优化目标无法进行精确评估,只能通过一些间接或含噪声的机制
  • 优化目标没有提供有效的机制来估计其梯度

让我们考虑一个激发机器学习社区对贝叶斯优化兴趣的示例场景。

考虑一位数据科学家根据训练数据制作一个复杂的机器学习模型,例如一个深度神经网络。为了确保成功,科学家必须仔细调整模型的超参数,包括神经网络架构和训练过程的细节,这些都会对性能产生巨大影响。不幸的是,有效设置只能通过反复试验来确定,也就是说,需要训练具有不同设置的多个网络并评估其在验证数据集上的性能。

寻找最佳超参数 当然是一种优化练习。几个世纪以来,数学优化一直在不断发展,并且有许多现成程序可用。不过,这些程序通常会对目标函数(可能并不有效)做出一些假设。例如,假设目标的计算成本很低、目标的梯度计算很容易、目标是凸函数等,从而允许我们从全局优化减少到局部优化。但在超参数调整时,上述这些假设都是无效的。首先,就时间和精力而言,训练深度神经网络的代价可能非常高;其次,当某些超参数是离散型时(神经网络架构的许多特征天然如此),甚至不存在梯度概念。最后,从超参数到性能的映射可能高度复杂且存在多个峰值,局部的精化可能并不会产生可接受的结果。

相对于传统数学优化方法而言,贝叶斯优化方法具有以下优势:

  • 贝叶斯优化允许我们在必要时放宽上述所有假设;
  • 在优化复杂的 “黑匣子” 目标时,贝叶斯优化算法能提供令人印象深刻的性能,即便在观测预算非常有限的情况下也是如此。

贝叶斯优化已被证明在科学、工程等领域取得了成功,这其中当然包括超参数调整。GELMAN 和 VEHTARI 将自适应决策分析(尤其是其中的贝叶斯优化)确定为过去 50 年中八个最重要的统计思想之一。

相关文献

R. TURNER et al. (2021). Bayesian Optimization Is Superior to Random Search for Machine Learning Hyperparameter Tuning: Analysis of the Black-Box Optimization Challenge 2020. Proceedings of the Neurips 2020 Competition and Demonstration Track.

A. GELMAN and A. VEHTARI (2021). What Are the Most Important Statistical Ideas of the Past 50 Years? Journal of the American Statistical Association 116(536):2087–2097.

涵盖这些应用及其差别可以很容易填满一本书,因此在本书中,我们将致力于贝叶斯优化底层运行的数学基础,这是其成功的关键。在本章其余部分,我们将为本次讨论奠定重要的基础。我们将建立待考虑的优化的精确公式,以及待展示的一些重要约定,然后概述和说明贝叶斯方法的关键方面。

2 优化的形式化表述

在本书中,我们将考虑一种简单但灵活的顺序全局优化形式(见下文)。此模型没有任何内在的贝叶斯,并且有无数种可能的解。

我们从定义在某个域 X\mathcal{X} 上的实值目标函数 f:XRf : \mathcal{X} \rightarrow \mathbb{R} 开始。在此,我们不对域的性质做任何假设,尤其是无需欧几里德假设,而是可以包含复杂结构化对象的空间。优化目标是在域中系统地搜索一个能够达到全局最大值 ff^* 的点 xx^*

xargmaxxXf(x)f=maxxXf(x)=f(x)(1.1)\begin{align*} &x^* \in \arg \max_{x \in \mathcal{X}} f(x)\\ &f^* = \max_{x \in \mathcal{X}}f(x) = f (x^*) \end{align*} \tag{1.1}

需要注意:我们关注最大化而不是最小化,但这完全是随意的;作者只是简单地认为最大化是更乐观的选择而已。如果需要,可以通过对目标函数取反,来自由地将一个问题转换为另一个问题。不过,在将此处推导的表达式与等价的最小化形式进行比较时,可能需要进行一些转译。

与经典数学优化有很大不同,贝叶斯优化不要求目标函数具有已知的函数形式,甚至不需要直接计算。相反,我们只需要一种 “能够按需要在确定点处揭示目标函数相关信息的” 访问机制。通过从该机制中收集足够的信息,我们希望推断出 式 (1.1) 的解。不需要 ff 的显式表达式允许我们考虑 “黑盒” 优化问题,即通过对质量的间接测量来实现系统优化,这是贝叶斯优化的最大优势之一。

2.1 优化策略

除非在特殊情况下,否则直接求解全局最优位置是不可行的。传统微积分工具在面对上述优化问题时几乎无能为力,例如,对域中的每个平稳点进行枚举和分类是乏味的,甚至不可能。而数学优化则采用了一种间接方法:我们设计了一系列实验对目标函数进行探测,以获取能够揭示 式 (1.1) 解的信息。

算法1.1

算法 1.1:顺序优化

算法 1.1 中的迭代过程形式化了这个过程。 我们从一个初始的(可能是空的)数据集 D\mathcal{D} 开始,通过设计的一系列观测逐渐扩大该数据集。在每次迭代中,优化策略 都会检查可用数据,并选择一个即将在下一次观测的点 xXx \in \mathcal{X}。此操作反过来揭示了系统提供的相应值 yy。我们将新观测到的信息添加到数据集中,并最终决定是否继续进行下一次观测。当我们不可避免地选择终止时,外部用户可以根据需要(例如为后续决策提供支持)使用这些返回的数据。

除了将任意数据集映射到域中的某个点以进行评估之外,我们对如何实施优化策略并没有任何限制。优化策略可以是确定性的或随机的(如网格搜索和随机搜索)。事实上,这些流行的策略大多是非自适应的,甚至完全忽略了观测到的数据;当观测成本很高时,显然我们会更喜欢根据不断变化的信息调整行为策略。

优化的主要挑战是设计出能够快速优化大量目标函数的策略,而智能化的策略设计也将是本书的重点。

2.2 观测模型

为了使优化可行,我们获得的观测结果必须提供有关目标函数的信息,以指导我们的搜索并综合确定 式 (1.1) 的解。一个在数学优化中近乎普遍的假设是:观测会在我们选择的位置处产生一个目标函数的精确值。但此假设是过度的:许多场景由于传感器噪声、不完美模拟、统计近似等原因而导致测量不精确。下图显示了一个具有加性观测噪声的典型示例。虽然并未直接观测到目标函数,但由于含噪声的测量对目标的强烈依赖,仍然限制了合理的选择。

含噪声观测

被加性噪声破坏的目标函数的不精确观测。

因此,我们放宽了精确观测的假设,而是假设观测是由取决于目标函数的随机机制产生。即我们假设在某个点 xx 处的观测值 yy 是根据观测模型分布的,而该观测值取决于底层真实目标函数值 ϕ=f(x)\boldsymbol{\phi} = f(x)

p(yx,ϕ)(1.2)p(y | x,\phi) \tag{1.2}

通过观测模型的这种设计,我们可以考虑范围广泛的观测机制。

与优化策略一样,我们不对观测模型的性质做出任何假设。唯一一点是:除非另有说明,在给定一组观测位置 x\mathbf{x} 和目标函数值 ϕ=f(x)\boldsymbol{\phi} = f(x) 的情况下,我们假设其测量值 y\mathbf{y} 之间条件独立,因此条件概率可以分解为乘积的形式:

p(yx,ϕ)=ip(yixi,ϕi)(1.3)p (y | x, \boldsymbol{\phi}) = \prod_i p (y_i | x_i, \phi_i) \tag{1.3}

虽然此假设并非绝对必要,但在实践中会非常普遍,能大大简化文中的各种展示。

在本书中,我们将重点关注一种加性高斯噪声模型。在该模型中,我们将 xx 处的观测值 yy 建模为真实值和高斯噪声之和:

y=φ+εy = φ + \varepsilon

其中 ε\varepsilon 表示测量误差,服从均值为零的高斯分布。该模型意味着如下概率密度的解析形式:

p(yx,φ,σn)=N(y;φ,σn2)(1.4)p(y | x, φ, \sigma_n) = \mathcal{N}(y; φ, \sigma^2_n) \tag{1.4}

其中,σn2\sigma^2_n 为观测噪声方差,可以选择性地依赖于 xx,从而允许我们对同方差或异方差进行建模。

如果将 σn\sigma_n 统一设为零,我们将恢复精确观测的特殊情况,此时简单地有 y=φy = φ 并且观测模型坍缩为 Dirac delta 分布:

p(yφ)=δ(yφ)p (y | φ) = \delta (y − φ)

虽然不是普遍适用,但许多设置确实具有精确的观测结果,例如在对确定性计算机模拟的输出进行优化时。我们有时会单独考虑精确的情况,因为在没有测量误差的情况下,某些结果会大大简化。

我们将专注于加性高斯噪声,因为它是许多系统的相当忠实的模型,并提供相当大的数学便利。在接下来的三章中我们对高斯过程的讨论以及在第 8 章中使用该模型类显式计算贝叶斯优化策略时,这种观测模型将是最普遍的。然而,我们将在本书其余部分构建的通用方法是不取决于这种选择,我们偶尔会解决替代观测机制。

2.3 终止

我们在每次优化迭代中做出的最终决定是立即终止还是继续进行另一次观测。与优化策略一样,我们不假设做出此决定的任何特定机制。终止可能是确定性的——例如在达到某个优化目标或用尽预先分配的观测预算后停止——或随机性的,并且可以选择性地取决于观测到的数据。在许多情况下,终止时间实际上可能根本不受优化例程的控制,而是由外部代理决定。但是,我们还将考虑优化过程可以根据对可用数据的检查动态选择何时返回的场景。

3 贝叶斯方法

贝叶斯优化不是指一种特定的算法,而是指一种基于贝叶斯推断的优化哲学方法,从中衍生出广泛的算法系列。尽管这些算法在细节上表现出显着差异,但它们在设计中都受到共同主题的约束。

优化基本上是一系列决策:在每次迭代中,我们必须选择在哪里进行下一次观测,然后根据结果是否终止。由于这些决策的结果由正在研究的系统控制且不在我们的控制范围内,因此优化的成功完全取决于有效的决策制定。

增加这些决定的难度在于它们必须在不确定的情况下做出,因为在做出观测之前不可能知道观测的结果。因此,优化策略必须以一定程度的信念来设计每个观测结果,即结果最终将被证明是有益的,并证明获得它的成本是合理的。优化的顺序性质进一步加重了这种不确定性的影响,因为每次观测的结果不仅具有直接影响,而且构成了所有未来决策的基础。制定有效的政策需要以某种方式解决这种不确定性。

贝叶斯方法系统地依赖概率和贝叶斯推断来推断优化过程中出现的不确定量。这关键地包括目标函数本身,它被视为一个随机变量,根据我们先前的预期和任何可用数据进行推断。在贝叶斯优化中,这种信念通过指导优化策略在决策制定中发挥积极作用,优化策略可以根据我们对可能观测到的值的信念来评估建议观测位置的优点。我们通过下面的例子介绍这个过程的关键思想,首先回顾一下贝叶斯推断。

3.1 贝叶斯推断

为了构建以下讨论,我们提供了贝叶斯推断的快速概述,以提醒读者。此介绍远未完成,但有许多优秀的参考资料可供使用。

贝叶斯推断是一种框架,用于从基于概率定律的观测中推断感兴趣系统的不确定特征。为了说明基本思想,我们可以从确定我们希望推断的给定系统的一些未知特征开始。在优化的上下文中,这可能表示,例如,目标函数在给定位置的值,或全局最优 式 (1.1) 的位置 xx^* 或值 ff^*。我们将以其中的第一个作为运行示例:推断目标函数在任意点 xx 处的值,φ=f(x)φ = f(x)。我们将很快扩展这个例子来推断整个目标函数。

在贝叶斯推断方法中,所有未知量都被视为随机变量。这是一个强大的约定,因为它允许我们用反映其合理值的概率分布来表示对这些量的信念。然后,推断采用归纳过程的形式,在该过程中,通过求助于概率身份,根据观测到的数据迭代地完善这些信念。

通过诉诸概率身份来提供数据。与任何归纳法一样,我们必须从某个地方开始。在这里,我们从所谓的先验分布(或简称先验)p(φx)p (φ|x) 开始,它在观测任何数据之前对我们认为合理的 ϕ\phi 值进行编码。先验分布允许我们注入关于和将感兴趣的系统经验带入推断过程,使我们不必“从头开始”或接受明显荒谬的可能性。图 1.1 的左子图说明了我们示例的先验分布,表明对一系列值的支持。

fig1.1

图 1.1:未知函数值 φ=f(x)φ = f (x) 的贝叶斯推理。左:先验分布在 φφ 上;中间:根据加性高斯噪声观测模型 式 (1.4) 标记观测值 yy 的可能性(之前显示以供参考);右:根据观察和先验的后验分布(显示先验和似然以供参考)。

例如,我们在 xx 处观测目标函数,揭示测量 yy。在我们的优化模型中,假设此测量的分布由通过观测模型 p(yx,φ)p (y | x, φ) 式 (1.2) 的感兴趣值 ϕ\phi 确定。在贝叶斯推断的上下文中,根据感兴趣的值(此处为 φφ)解释观测值(此处为 yy)的分布被称为似然函数或简称为似然。图 1.1 的中间子图显示了似然– 作为 ϕ\phi 的函数 – 对于给定的测量值 yy,这里假定它是由加性高斯噪声 式 (1.4) 生成的。

最后,给定观测值 yy,我们可以通过求助于贝叶斯定理推导出 ϕ\phi 的更新后验分布(或简称后验分布):

p(φx,y)=p(φx)p(yx,φ)p(yx)(1.5)p (φ | x, y) = \frac{p (φ | x) p (y | x, φ) }{p (y | x) } \tag{1.5}

后验与由观测值的可能性加权的先验成正比。分母是关于 ϕ\phi 的常数,可确保归一化:

p(yx)=p(yx,φ)p(φx)dφ(1.6)p (y | x) = \int p (y | x, φ) p (φ | x) dφ \tag{1.6}

图 1.1 的右子图显示了中间子图中测量结果的后验。后验代表我们的经验(编码在先验中)和数据中包含的信息(编码在可能性中)之间的折衷。

在本书中,我们将使用包罗万象的符号 D\mathcal{D} 来表示影响后验信念的所有信息;这里的相关信息是 D=(x,y)\mathcal{D} = (x, y),然后后验分布是 p(φD)p (φ | \mathcal{D})

如前所述,贝叶斯推断是一个归纳过程,我们可以通过额外的观测继续完善我们的信念。在这一点上,归纳是微不足道的:为了合并一个新的观测,我们的后验在新信息的上下文中充当先验,然后乘以可能性并重新归一化产生一个新的后验。我们可以根据需要以这种方式继续。

后验分布通常不是贝叶斯推断的最终结果,而是支持后续任务(例如预测或决策制定)的跳板,这两者都是贝叶斯优化的组成部分。为了解决前者,假设在推导后验 式 (1.5) 之后,我们希望预测在 xx 处的独立重复含噪声观测的结果 yy'。将结果视为随机变量,我们可以通过将我们关于 ϕ\phi 的后验信念与观测模型 式 (1.2) 相结合来推导出它的分布:

p(yx,D)=p(yx,φ)p(φx,D)dφ(1.7)p (y′ | x, \mathcal{D}) = \int p (y′ | x, φ) p (φ | x, \mathcal{D}) dφ \tag{1.7}

这被称为 yy' 的后验预测分布。通过对所有可能的 ϕ\phi 值进行积分,这些值由它们的合理性加权,后验预测分布自然地解释了未知目标函数值的不确定性;见边缘的数字。

贝叶斯决策方法还依赖于对影响我们决策结果的未知特征的后验信念,我们将在稍后讨论。

3.2 目标函数的贝叶斯推断

任何贝叶斯优化程序的核心都是对目标函数的概率信念。这采用随机过程的形式,即无限集合随机变量的概率分布——这里是每个点的目标函数值。这一推论背后的推断本质上与我们上面的单点示例相同。

我们首先在先验过程 p(f)p(f) 中编码我们可能对目标函数的任何假设,例如平滑度或其他特征。方便地,我们可以通过对应于任意有限位置集 xx 的函数值 ϕ\boldsymbol{\phi} 的分布来指定随机过程:

p(ϕx)(1.8)p (\boldsymbol{\phi} | x) \tag{1.8}

高斯过程族——其中这些有限维分布是多元高斯分布——在贝叶斯优化中特别方便和广泛使用。我们将在接下来的三章中深入探讨这个模型类;在这里,我们提供了一个激励人心的例子。

图 1.2 显示了一个基于一维目标函数的先验高斯过程,其构造反映了我们将在本书后面详细阐述的一组最小假设:

• 目标函数是平滑的(即无限可微),

• 函数值之间的相关性具有特征尺度,

• 函数的预期行为不依赖于位置(即,先验过程是静止的)。

Fig1.2

图 1.2:在区间上定义的目标的先验过程示例。我们用其均值和 95%95\% 的可信区间来说明每个位置的边缘置信度,还展示了从先前过程中采样的三个示例函数。

我们总结了模型的边际信念,对于域中的每个点,显示先验均值和相应函数值的 95%95\% 可信区间。我们还展示了从先前过程中采样的三个函数,每个函数都展示了假设的行为。我们鼓励读者熟悉这种绘图惯例,因为我们将在整本书中使用它。我们特别避免使用轴标签,因为它们总是相同的:水平轴代表域 X\mathcal{X},垂直轴代表函数值。此外,我们没有在轴上标记单位来强调相对行为而不是绝对行为,因为在此图中比例是任意的。

我们可以将大量信息编码到先前的过程中,并且可以对比这个简单示例中复杂得多的结构进行建模。我们将在第 3 章探索可能性世界,包括不同尺度的交互、非平稳性、低内在维度等等。

有了前面的过程,假设我们现在在某些位置 xx 进行一组观测,揭示相应的值 yy;我们将这些信息聚合到数据集 D=(x,y)\mathcal{D} = (x, y) 中。贝叶斯推断通过形成后验过程 p(fD)p (f | \mathcal{D}) 来解释这些观测结果。

后验过程的推导可以理解为一个两阶段的过程。首先我们单独考虑数据对相应函数值 ϕ\boldsymbol{\phi} 的影响 式 (1.5)

p(ϕD)p(ϕx)p(yx,ϕ)(1.9)p (\boldsymbol{\phi} | \mathcal{D}) \propto p (\boldsymbol{\phi} | x) p (y | x, \boldsymbol{\phi}) \tag{1.9}

右侧的数量是已知的:第一项由先验过程 式 (1.8) 给出,第二项由观测模型 式 (1.3) 给出,它起到似然的作用。我们现在将 ϕ\boldsymbol{\phi} 上的后验扩展到所有 ff :

p(fD)=p(fx,ϕ)p(ϕD)dϕ(1.10)p(f | \mathcal{D}) = \int p (f | x, \boldsymbol{\phi}) p (\boldsymbol{\phi} | \mathcal{D}) d\boldsymbol{\phi} \tag{1.10}

后验包含了我们根据数据对目标的信念,结合了先验过程的假设和观测中包含的信息。

我们在图 1.3 中展示了一个后验示例,其中我们根据三个精确的观测结果对图 1.2 中的先验条件进行了调节。由于假定观测值是准确的,因此目标函数后验会折叠到观测值上。后验均值通过数据进行插值,后验可信区间反映了观测位置附近函数的确定性增加。此外,后验继续反映在先验中编码的结构假设,通过比较从后验过程中提取的样本的行为与从先验中提取的样本的行为来证明。

Fig1.3

图 1.3:图 2.1 中示例场景的后验过程以三个精确观察为条件。

3.3 不确定性感知优化策略

贝叶斯推断提供了一种对不确定的目标函数进行推断的优雅方法,但优化的成功与否不是由我们信念的忠诚度而是由我们行动的结果来衡量的。这些操作由优化策略决定,该策略检查可用数据以设计每个连续的观测位置。这些决定中的每一个都充满了不确定性,因为我们必须在知道其结果之前对每一个观测做出承诺,这将构成所有后续决定的背景。贝叶斯推断使我们能够表达这种不确定性,但有效的决策制定还需要我们建立对结果的偏好并采取行动最大化这些偏好。

为了继续进行,我们需要建立一个在不确定性下进行决策的框架,这是一个具有无限可能性的广泛主题。一个自然而普遍的选择是贝叶斯决策理论,这是第 5-6 章的主题。我们将在第 7 章中详细讨论这种和其他策略构建方法,并从第一性原理中推导出流行的优化策略。

忽略策略设计中的细节,贯穿所有贝叶斯优化策略的主线是通过贝叶斯推断统一处理目标函数中的不确定性和观测结果。后验预测分布 式 (1.7) 有助于将我们对目标函数的信念与决策联系起来,它代表了我们对建议观测结果的信念。贝叶斯优化策略是参考这个分布设计的,它指导策略区分潜在的动作。

在实践中,贝叶斯优化策略是通过优化所谓的获取函数间接定义的,该函数为潜在的观测位置分配一个与其感知的有利于优化过程的能力相称的分数。使用分析上易于处理的梯度来评估采集函数往往很便宜,从而允许使用现成的优化器来有效地设计每个观测值。已经为贝叶斯优化提出了许多采集函数,每个采集函数都来自不同的考虑。然而,所有显着的采集函数都解决了利用(目标函数预计较高的抽样)和我们不确定目标函数以告知未来决策的探索抽样之间的经典紧张关系。为了有效的全局优化,必须仔细平衡这些对立的问题。

Fig1.4

图 1.4:对应于图 1.3 后验示例的原型采集函数。

图 1.4 显示了一个示例采集函数,对应于图 1.3 中的后验函数。对开发探索权衡的考虑是显而易见的:这个示例采集函数在后均值的局部最大值附近和具有显着边际不确定性的区域都获得了相对较大的值。获取函数的局部最大值代表这些问题之间的最佳折衷。请注意,获取函数在当前观测的位置消失:这些位置的目标函数值已经知道,因此在那里观测将毫无意义。最大化获取函数决定策略;这里的策略选择在右侧搜索局部最优值。

图 1.5 演示了贝叶斯优化的整个过程,从图 1.4 的信念和初始决策开始,并按照算法 1.1 迭代进行。还显示了真实(未知)的目标函数以供参考;它的最大值在域的中心附近。每个后验下方的运行标记显示了每次测量的位置,从上到下按顺序进行,我们在四个路点处显示目标函数后验。

Fig1.5

图 1.5:贝叶斯优化策略示例指定步数后的后验,从图 1.4 中的后验开始。标记显示策略选择的点,从上到下进行。足够接近最佳值的观察值以粗体标记;最优位于迭代 7

在算法的行为中,对开发-探索权衡的动态考虑是显而易见的。前两个观测绘制出最初最佳观测点的邻域,展示了剥削。一旦充分探索,该策略将继续围绕第二个最佳观测点进行开发,在第 7-8 次迭代中发现并完善全局最优值。最后,策略在第 13-19 次迭代中切换到探索,系统地覆盖领域以确保没有遗漏任何内容。在终止时,收集的数据明显偏向于更高的目标值,并且所有剩余的不确定性都位于可信区间表明不太可能存在最佳值的区域。

贝叶斯优化的“魔力”在于,这种优化策略的直观行为不是临时设计的结果,而是通过我们将在接下来的章节中发展的高斯过程和贝叶斯决策理论的机制自动出现的。在此框架中,构建优化策略归结为:

  • 选择目标函数的模型,
  • 决定我们寻求获得什么样的数据
  • 系统地将这些信念和偏好转化为优化策略。

在接下来的章节中,我们将开发实现这些目标的工具:高斯过程(第 2-4 章)用于表达我们对目标函数的看法,效用函数(第 6 章)用于表达我们在数据中的价值,以及贝叶斯决策理论(第 5 章),用于构建优化策略,了解模型中编码的不确定性并受效用函数中编码的偏好的指导。在第 7 章中,我们将结合这些基本组件来实现完整的贝叶斯优化策略,届时我们将有能力从第一原理复制这个例子。