徐慧志的个人博客

2024-02-03 Bayesian Optimization

发布于 2024年02月03日  •  3 分钟  • 1422 字
Table of contents

贝叶斯优化有重要的两步步:

  1. 构造代理模型(surrogate model)
  2. 由获取函数(acquisition function)来生成采样建议

贝叶斯优化中,因为不知道目标函数的closed-form,所以需要构造一个代理模型(surrogate model)来近似目标函数。记住,代理模型对目标函数的潜在分布进行建模。通常用gaussian process来作为代理模型,也可以用random forest来作为代理模型。(任何模型,只要它为函数提供后验估计,可以用来作为surrogate model)。

有了后验估计之后,就可以用获取函数Acquisition Function来生成采样建议。

获取函数,经典的方法有EI 和 upper confidence bound,新的方法有safe constraint。

获取函数是用来找到全局最优解,好的获取函数会尽可能快地找到全局最优解。

序列决策 Sequential Decision-Making

在贝叶斯优化中,是通过一次又一次地做序列决策来达到优化的目的的。

基于特定的策略,优化器将收集观察到的数据点,更新潜在的函数的后验信念,给出下一个采样点进行探索,不断重复迭代以上过程。通常设置最大值/最小值来寻找最优值。

贝叶斯优化可以看作是一个 sequential decision process under uncertainty的过程。

这个过程具体来说是这样的:

注意,上述过程包含很多东西,每一块都有研究者深入研究。

除此之外,还有外循环和内循环的概念。

外循环:返回最佳点的位置或者最佳值本身。这个额外的点通常可以加入到已有的数据集来迭代下一轮。

内循环:返回采样位置候选。通常通过最大化获取函数来完成。

寻求最佳Policy

获取函数是一个打分器,它对每个候选位置打分,选取最大得分位置。

如果获取函数有解析表达式,可以进行求gradient操作,那么可以将对目标函数的全局优化,转化成对获取函数的优化。

如果获取函数无法微分,可以使用Monte Carlo Approximation来近似计算。

Sein heißt werden, leben heißt lernen.

Der einfache Weg is immer verkehrt.