原文:
www.kdnuggets.com/2018/10/intuitions-behind-bayesian-optimization-gaussian-processes.html
作者 Charles Brecque,Mind Foundry
在某些应用中,目标函数的评估成本高或困难。在这些情况下,一般方法是创建一个更简单的目标函数代理模型,该模型更便宜,并用它来解决优化问题。此外,由于评估目标函数的高成本,通常推荐使用迭代方法。迭代优化器通过在域的一系列点上请求函数的评估来工作。贝叶斯优化通过在可能的目标函数空间上结合先验模型,将贝叶斯方法添加到迭代优化器范式中。本文介绍了贝叶斯优化与高斯过程的基本概念和直观理解,并介绍了 OPTaaS,一个用于贝叶斯优化的 API。
优化方法尝试在一个域*** ????中找到一个输入 x**** ,使得一个函数*** f的值在 ????***范围内达到最大(或最小):
一般优化框架
实际上,函数 f代表需要优化的过程的结果,比如交易策略的整体盈利性、工厂生产线上的质量控制指标,或具有许多参数和超参数的数据科学管道的性能。
输入域*** ????表示需要优化的过程的有效参数选择。这些可以是交易策略中使用的市场预测器、工厂过程中的原材料数量,或数据科学管道中机器学习模型的参数。描述输入域 ????以及函数 f的属性共同定义了优化问题。过程域 ????的有效输入可以是离散的、连续的、有约束的或这些的任意组合。同样,结果函数 f***可能是凸的、可微分的、多模态的、嘈杂的、变化缓慢的,或具有其他许多重要属性。
在某些应用中,目标函数的评估代价高(计算上或经济上),或者评估困难(化学实验、石油钻探)。在这些情况下,一般的方法是创建一个目标函数 f 的更简单的替代模型 f ̂,它更便宜进行评估,并将用来解决优化问题。
此外,由于评估目标函数的成本较高,通常推荐使用迭代方法。迭代优化器通过在领域x1, x2, … ∈ ???? 的一系列点上迭代请求函数 f 的评估来工作。通过这些评估,优化器能够构建函数f的图像。对于梯度下降算法,这个图像是局部的,但对于替代模型方法,这个图像是全局的。无论何时,或者在预分配的函数评估预算结束时,迭代优化器都能够给出对x真实值的最佳近似。
替代模型使用N个已知的f评估值进行训练:F =(f1, f2,…,fN ) 以及 XN =(x1,x2,…,xN)。构建替代模型的方法有很多,如多项式插值、神经网络、支持向量机、随机森林和高斯过程。在 Mind Foundry,我们首选的方法是使用高斯过程进行回归。
高斯过程(GP)提供了一类丰富且灵活的非参数统计模型,适用于可以是连续的、离散的、混合的或甚至是层次性的函数空间。此外,GP 不仅提供关于 f 可能值的信息,还重要的是提供关于该值的不确定性的信息。
高斯过程回归的想法是,对于某些点的观察值FN以及点XN,我们假设这些值对应于具有先验分布的多变量高斯过程的实现:
其中 KN 是一个 NxN** 协方差矩阵,其系数以相关函数(或核)Kmn =K(xm,xn,θ) 的形式表达。核的超参数 θ 根据最大似然原则进行校准。KN 的选择旨在反映函数的先验假设,因此核的选择将对回归的正确性产生重大影响。图 2 给出了几种协方差函数的示例。
通过数学变换和使用条件概率规则,可以估计后验分布 p(f N+1|FN, XN+1),并将f ̂N+1 表达为 KN 和 FN 的函数,并带有不确定性。这使我们能够从观察结果中构建一个概率性替代模型,如图 1 所示:
贝叶斯优化是一类迭代优化方法,专注于一般优化设置,其中有描述????,但对f的属性了解有限。贝叶斯优化方法的特征包括两个方面:
-
代理模型f ̂,用于函数f,
-
和一个计算自代理函数的获取函数,用于指导下一个评估点的选择。
BO 通过在可能目标函数f的空间中加入先验模型,将贝叶斯方法学添加到迭代优化器范式中。每次报告函数评估时更新该模型,贝叶斯优化过程保持目标函数f的后验模型。这个后验模型是函数f的代理f ̂。带有 GP 先验的贝叶斯优化程序的伪代码如下:
初始化:
-
在f上设置高斯过程先验
-
根据初始空间填充实验设计,在n0 点观察f。
-
设置n为n0
当n ≤ N**时:
-
使用所有可用数据更新 f 的后验概率分布
-
确定获取函数在????上的最大值点xn,其中获取函数是使用当前后验分布计算的
-
观察yn = f(xn)
-
增量n
结束时
返回评估值最大的f(x)点,或后验均值最大的点。
一个标准的获取函数示例是期望改进准则(EI),对于在x ∈ ????的任何给定点,是f在x处相对于到目前为止看到的f最佳值的预期改进,前提是函数f在x处确实高于到目前为止看到的f最佳值:因此,如果我们正在寻找f的最大值,EI 可以写为:
E I(x) = ????(max(f(x) − f, 0))*
其中f**是目前看到的f*的最大值。
获取函数的额外示例如下:
-
熵搜索,旨在最小化我们对最优值位置的不确定性
-
上置信界
-
期望损失准则
图 3 展示了代理的演变及其与获取函数的交互,随着每次迭代的进行,它对试图最小化的底层函数的知识不断改善。
OPTaaS 是一个通用的贝叶斯优化器,通过网络服务提供最佳的参数配置。它可以处理任何类型的参数,并且不需要了解底层过程、模型或数据。它要求客户端指定参数及其范围,并返回每个 OPTaaS 推荐的参数配置的准确性评分。OPTaaS 利用这些评分来建模底层系统,并更快地搜索最佳配置。
Mind Foundry 在 OPTaaS 中实现了一组代理模型和获取函数,根据所提供的参数的性质和数量,自动选择和配置这些模型和函数,如图 4 所示。这种选择基于深入的科学测试和研究,以确保 OPTaaS 总是做出最合适的选择。此外,Mind Foundry 能够为客户特定的问题设计定制的协方差函数,这将显著提高优化过程的速度和准确性。大多数 OPTaaS 用户需要优化复杂的过程,这些过程运行成本高,并且反馈有限。因此,OPTaaS 的 API 专注于提供一个简单的迭代优化器接口。然而,如果对优化的过程有更多信息,它总是可以被利用以更快地收敛到最优解。因此,OPTaaS 也支持传递关于领域 ??? 的信息,例如对输入的约束,以及对函数 f 的评估,例如噪声、梯度或部分完成的评估。此外,客户通常能够利用本地基础设施来分布优化搜索,OPTaaS 也可以请求批量评估。
优化过程如下:
-
OPTaaS 向客户推荐一个配置
-
客户在他们的机器上评估配置
-
客户发送回一个评分(准确性、夏普比率、投资回报率,……)
-
OPTaaS 使用评分来更新其代理模型,循环重复,直到达到最佳配置。
在整个过程中,OPTaaS 不会访问底层数据或模型。有关 OPTaaS 的更多信息,请参见本页底部。
Mind Foundry 是牛津大学的衍生公司,由斯蒂芬·罗伯茨和迈克尔·奥斯本教授创立,他们在数据分析方面拥有 35 年的经验。Mind Foundry 团队由超过 30 名世界级机器学习研究人员和精英软件工程师组成,其中许多人曾在牛津大学担任博士后。此外,Mind Foundry 通过其衍生公司身份,享有对超过 30 位牛津大学机器学习博士的特权访问。Mind Foundry 是牛津大学的投资组合公司,其投资者包括 牛津科学创新、牛津科技与创新基金、牛津大学创新基金 和 Parkwalk Advisors。
文档
教程:tutorial.optaas.mindfoundry.ai
API 文档:optaas.mindfoundry.ai
研究
www.robots.ox.ac.uk/~mosb/projects/project/2009/01/01/bayesopt/
参考文献
Osborne, M.A. (2010). 贝叶斯高斯过程用于顺序预测、优化和积分(博士论文)。博士论文,牛津大学。
**演示:**[email protected]
简介:Charles Brecque 是 Mind Foundry 的产品经理,负责 OPTaaS,一种通过网络服务部署的通用贝叶斯优化器。Mind Foundry 是牛津大学的衍生公司,由斯蒂芬·罗伯茨和迈克尔·奥斯本教授创立,他们在高级数据分析方面拥有超过 35 年的经验。
原文。经许可转载。
相关:
-
从零开始展开朴素贝叶斯
-
数据科学家优化 101
-
初学者问:“在人工神经网络中使用多少隐藏层/神经元?”
1. Google 网络安全证书 - 快速进入网络安全职业生涯。
2. Google 数据分析专业证书 - 提升您的数据分析技能
3. Google IT 支持专业证书 - 支持您的组织的 IT