代理函数是比评估目标函数更简单的函数。采集功能用于建议采样点。
在贝叶斯优化和高斯过程的背景下,采集函数和代理函数背后的直觉是什么?这些功能有什么关系?
代理函数是比评估目标函数更简单的函数。采集功能用于建议采样点。
在贝叶斯优化和高斯过程的背景下,采集函数和代理函数背后的直觉是什么?这些功能有什么关系?
我认为采集函数描述了贝叶斯优化框架中接下来要评估的点的效用。
为了提供更多细节,让我们考虑一下贝叶斯优化的一般概念及其通常应用的设置。考虑一个黑盒函数,它的评估成本很高,我们希望在搜索空间上以最少的函数评估次数的最佳点。由于是黑盒,我们基于一些假设(在内核类型(rbf、周期性等)中捕获)使用高斯过程 (GP) 对 ) 评估迭代更新 GP。的廉价替代品。
以下是完整过程的伪代码:
初始化 GP 模型
对于允许的最大迭代次数:
找到下一个要评估的点( )
基于
返回最佳评估点作为最佳点
除了“查找下一个要评估的点()”之外的所有部分在这里都很简单。现在,我们应该如何选择这一点来在每次迭代中评估函数。一个想法是从搜索空间中随机选择它,但这似乎并不是很有见地。请记住,当我们评估更多点时,我们的 GP 会越来越多地了解函数。因此,我们应该以某种方式利用 GP 中包含的这些信息来选择下一个点。采集功能来了!获取功能利用 GP 的信息来查找在上述过程中接下来要评估的点的效用。直观地说,我们可以想象一个获取函数试图找出作为基于 GP 中包含的信息的“潜在最佳点”。
让我们自己尝试想出一个采集函数。GPs 允许我们计算搜索空间中点。那么我们应该继续选择最大的点吗?不,这会导致对我们全科医生当前状态的过度自信。请记住,当我们评估更多点时,我们的 GP 会更多地了解该功能。我们应该考虑这样一个事实,即当前的可能是某些点值的错误近似值。这由 GP 给出的预测方差因此,我们也应该让我们的采集功能探索一下。之间进行权衡和与参数 。我们有了它,一个获取函数,给出为。这是 BO 中最受欢迎的采集功能之一,称为 GP-UCB[1]。
这里的一些论点可能是手摇的,但它们主要是为了直觉而不是技术上的严谨性。
[1]。Srinivas 等人,强盗设置中的高斯过程优化:无遗憾和实验设计 ( https://arxiv.org/pdf/0912.3995.pdf )