关于贝叶斯优化、高斯过程和获取函数的理解问题

机器算法验证 贝叶斯 高斯过程 贝叶斯优化
2022-04-08 12:13:15

我正在尝试理解贝叶斯优化,并且对所有涉及的方法都进行了很多努力。因此,我有一些简短的问题:

  • 我们从一个先验函数开始,它是一个高斯过程。
  • 高斯过程类似于正态分布,但具有函数,而不是变量。
  • 高斯过程主要由期望函数和协方差函数一起描述。m(x)k(x,x)
  • 高斯过程用于优化采集功能。
  • 采集功能的最大值决定了在哪里检查下一个样本。
  • 我们将下一个样本与 a-priori/gaussian 过程(两者一起形成所谓的 a-postterior 函数)一起使用,以获得“新的”a-priori 函数。

这个对吗?我错过了什么?

这只是一个随机图,因此更容易做出响应和/或充分掌握答案:

图片1: 图像

图片2: 图像

2个回答

你是对的。高斯过程是函数的分布与其他贝叶斯方法一样,您从先验开始,然后通过可能性将其与数据(观察到的结果)相结合以获得后验。后验可用于进行预测,并可用作进一步分析(贝叶斯更新)的先验。贝叶斯优化中的后验分布用于猜测下一步,或者通过使用它来找到给定最优性定义的最优移动,或者通过从中采样。在贝叶斯优化中,您优化由高斯过程(或其他模型)近似的函数,而不是像许多其他优化形式那样直接优化函数。

如果您想了解更多信息,我推荐Carl Rasmussen 和 Christopher Williams的书,Carl RasmussenNeil LawrenceMichael Osborne的演讲录音, Katherine BaileyMartin Krasser的博客文章,包括关于贝叶斯优化的附加文章,以及Johen Görtler 等人的视觉指南。当我第一次了解高斯过程时,我发现符号和语言有点令人困惑,实现这些东西并玩弄代码有很大帮助。在你觉得你理解它之后,我建议你再读一遍拉斯穆森和威廉姆斯的书。

除了蒂姆的回答之外,这里还有一些细微的挑剔/澄清,可能有助于您直观地理解/防止将来可能出现的混淆:

我们从一个先验函数开始,它是一个高斯过程。

这里的高斯过程 (GP) 被用作我们认为作为目标函数建模候选者的函数的先验,即,我们使用 GP 作为我们想要优化的函数的代理。这通常是因为该功能是“昂贵的”(在某种意义上)查询,但也因为 GP 提供了预测不确定性的良好量化,用于(由采集功能)通知搜索策略。换句话说,GP/代理预测的不确定性被用来通知搜索策略。

高斯过程类似于正态分布,但具有函数,而不是变量。

是的,有点。另一种思考方式是,它是在连续空间上“懒惰地”定义的多元正态分布:您可以选择空间中的任意两个点,高斯过程将通过方式“告诉您这些点的值有多相似”的平均向量和协方差矩阵。GP 是惰性的,因为它提供了一种方法,可以在需要时为任何给定的点组合计算平均向量和协方差矩阵。通过选择哪些值具有相似的值(以及多少),从业者可以将“结构”强加到他们正在建模的空间上。

高斯过程主要由期望函数𝑚(𝑥)和协方差函数𝑘(𝑥,𝑥′)描述。

GP完全由均值函数和协方差函数(“内核”)定义(“参数化”)。

高斯过程用于优化采集功能。

不完全的。采集函数是GP 预测分布的函数,即要评估点的采集函数,首先得到 GP 在该点的(后)预测分布,然后得到预测分布(边缘分布GP 在的预测分布,如果你愿意的话)进入采集函数,告诉你点有多“有用”(在某种意义上) 。采集函数通常(但不总是)使用一些基于梯度的方法进行优化,因为大多数采集函数的解析导数很容易计算。xxx

采集功能的最大值决定了在哪里检查下一个样本。

是的。根据上述,我们选择由采集函数确定的“最有用的点”。

我们将下一个样本与 a-priori/gaussian 过程(两者一起形成所谓的 a-postterior 函数)一起使用,以获得“新的”a-priori 函数。

这里发生的是您查询原始的“昂贵”目标函数(您正在使用贝叶斯优化优化的函数),将该点添加到您拥有的“数据”中,然后重复该过程。