规范是使用您喜欢的任何全局优化器。问题是EI面高度多模态且不连贯;优化这个采集函数本身就是一个不平凡的问题。
我在各种论文中看到的一个常见选择是DIRECT算法。有时我看到CMA-ES是非线性优化中最先进的方法。根据我对其他形式优化的经验,MCS(多级坐标搜索)往往效果相对较好。您可以在此处找到对无衍生全局优化器的评论:
- Rios 和 Sahinidis,“无导数优化:算法回顾和软件实现比较”,《全球优化杂志》(2013 年)。
顺便说一句,EI 是解析的,所以如果你愿意,你也可以计算它的梯度来指导优化,但这不是必需的。一种有效的技术是首先运行全局优化器以找到有希望的解决方案,然后运行局部优化器来改进它(例如,准牛顿方法,如 BFGS,在 MATLAB中为fminunc ;如果有约束,则为fmincon )。
最后,如果采集函数的优化速度是一个因素(这不是“传统”的 BO 场景),我从拉丁超立方设计或准随机 Sobol 序列设计开始,发现了不错的结果,然后用从最佳点开始的局部优化器的几个步骤;另见@user777 评论。由于这不是标准的 BO 方案,因此我没有任何实际使用此方法的具体参考。
引用 DIRECT 或 CMA-ES 的论文示例:
- Calandra, R.、Seyfarth, A.、Peters, J. 和 Deisenroth, MP (2015)。不确定性下学习步态的贝叶斯优化。数学和人工智能年鉴,1-19(链接)。
- Mahendran, N.、Wang, Z.、Hamze, F. 和 Freitas, ND (2012)。具有贝叶斯优化的自适应 MCMC。在人工智能和统计国际会议上(第 751-760 页)(链接)。
- Gunter, T., Osborne, MA, Garnett, R., Hennig, P., & Roberts, SJ (2014)。在具有快速贝叶斯正交的概率模型中进行采样以进行推理。在神经信息处理系统的进展中(第 2789-2797 页)(链接)。
你可以谷歌“贝叶斯优化”+所需的全局优化算法,你会找到一堆论文。另外,在几乎所有其他关于 BO 的论文中,您都会找到这样的句子:
[...] BO 通常在每次迭代中都需要一个辅助全局优化器来优化采集功能。在 BO 文献中习惯使用 DIvided RECTangles (DIRECT) 来完成这样的任务。也可以应用其他全局优化算法,如 CMA-ES。