主要内容

贝叶斯优化算法

算法概述

贝叶斯优化算法试图最小化一个标量目标函数f(x)x在一个有限的领域。函数可以确定性或随机的,意味着它可以返回不同的结果评估时相同的点x。的组件x可以持续的实数,整数,或直言,意思是一组离散的名字。

请注意

在整个讨论中,D代表组件的数量x

最小化的关键要素是:

  • 的高斯过程模型f(x)

  • 修改高斯过程模型的贝叶斯更新过程在每一个新的评价f(x)

  • 一个获取函数一个(x)(高斯过程模型的基础上f)最大化来确定下一个点x进行评估。有关详细信息,请参见<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">获取函数类型和<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">获取函数最大化。

算法概述:

  • 评估y=f(x)NumSeedPointsx范围内,随机变量。NumSeedPoints是一个bayesopt设置。如果有评价错误,直到有更多随机点NumSeedPoints成功的评估。每个组件的概率分布均匀或对数,这取决于变换价值optimizableVariable

然后重复以下步骤:

  1. 更新的高斯过程模型f(x)获得后验分布函数(f|x,y= 1,…,t)。(在内部,bayesopt使用<一个href="//www.tianjin-qmedu.com/de/de/help/stats/fitrgp.html">fitrgp适合一个高斯过程模型的数据。)

  2. 找到新的点x最大化获取函数一个(x)

算法停止在达到下列:

  • 固定数量的迭代(默认30)。

  • 一个固定的时间(默认是没有时间限制)。

  • 你供应停止准则<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-output-functions.html" class="a">贝叶斯优化输出功能或<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-plot-functions.html" class="a">贝叶斯优化情节功能。

并行算法的差异,看到<一个href="//www.tianjin-qmedu.com/de/de/help/stats/parallel_bayesian_optimization.html" class="a">平行的贝叶斯算法。

高斯过程回归拟合模型

底层的概率模型的目标函数f是一个高斯过程之前添加高斯噪声的观测。因此,先验分布f(x)是一个高斯过程,意味着什么μ(x;θ)和协方差内核函数k(x,x′;θ)。在这里,θ是一个向量的内核参数。为特定的内核函数bayesopt使用,请参阅<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">核函数。

在更多的细节,表示一组点X=x与相关的目标函数值F=f。之前的联合分布函数的值F多元正态,意味着什么μ(X)和协方差矩阵K(X,X),Kij=k(x,xj)

不失一般性,之前的意思是给定的0

同时,观察认为添加高斯噪声方差σ2。因此,先验分布的协方差K(X,X;θ)+σ2

拟合高斯过程回归模型的观察包括发现的噪声方差值σ2和内核参数θ。这个配件是计算密集型过程执行的<一个href="//www.tianjin-qmedu.com/de/de/help/stats/fitrgp.html">fitrgp

有关安装一个高斯过程的观察,看看<一个href="//www.tianjin-qmedu.com/de/de/help/stats/gaussian-process-regression.html" class="a">高斯过程回归。

核函数

内核函数k(x,x′;θ)可以极大地影响一个高斯过程回归的质量。bayesopt使用ARD Matern 5/2内核中定义<一个href="//www.tianjin-qmedu.com/de/de/help/stats/kernel-covariance-function-options.html" class="a">内核(协方差)函数的选择。

看到杖鱼,Larochelle,亚当斯<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">[3]。

获取函数类型

六个收购功能可供选择bayesopt。有三种基本类型expected-improvement也修改了每秒+:

  • “expected-improvement-per-second-plus”(默认)

  • “expected-improvement”

  • “expected-improvement-plus”

  • “expected-improvement-per-second”

  • “lower-confidence-bound”

  • “probability-of-improvement”

收购功能评估点的“善良”x基于后验分布函数。当有耦合约束,包括误差约束(见<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-objective-functions.html" class="a">目标函数的错误),所有收购功能修改他们的估计“善良”巴特的建议后,杖鱼和亚当斯<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">[2]。“善良”乘以估计的概率约束得到满足,到达收购功能。

预期改善

“expected-improvement”家族收购功能评估预期的改善目标函数,忽视价值观导致增加的目标。换句话说,定义

  • x最好的在最低的位置后的意思。

  • μ(x最好的)的最小值后的意思。

然后预期的改进

E ( x , ) = E ( 马克斯 ( 0 , μ ( x 最好的 ) f ( x ) ) ]

改进的概率

“probability-of-improvement”获取函数类似,但更简单、计算“expected-improvement”。在这两种情况下,bayesopt第一次计算x最好的μ(x最好的)。然后“probability-of-improvement”,bayesopt计算的概率π一个新的观点x导致一个更好的目标函数值,修改“保证金”参数:

P ( x , ) = P ( f ( x ) < μ ( x 最好的 ) )

bayesopt需要估计噪声标准差。bayesopt计算这个概率

P = Φ ( ν ( x ) ) ,

在哪里

ν ( x ) = μ ( x 最好的 ) μ ( x ) σ ( x )

在这里Φ(·)是单位正常运作,σ后标准差的高斯过程x

低信心绑定

“lower-confidence-bound”收购看着曲线函数G下面两个标准差后意味着每一点:

G ( x ) = μ ( x ) 2 σ ( x )

G(x)是2σ降低了目标函数模型的信封的信心。bayesopt然后最大化的负面G:

l C B = 2 σ ( x ) μ ( x )

每秒

有时候,时间来评估目标函数可以依赖。例如,许多支持向量机计算不同时间在一万博1manbetx定范围的点。如果是这样,bayesopt可以获得更好的改进每秒通过time-weighting收购功能。cost-weighted采集功能的短语每秒在他们的名字。

这些收购功能工作如下。在目标函数的评价,bayesopt维护另一个贝叶斯模型目标函数评价时间位置的函数x。预期的改善每秒采集函数使用

E p 年代 ( x ) = E ( x ) μ 年代 ( x ) ,

在哪里μ年代(x)的后意味着时机高斯过程模型。

+

逃离当地的目标函数最小值,采集功能+在他们的名字修改他们的行为当他们估计overexploiting一个地区。要理解overexploiting,让σF(x)的标准偏差后的目标函数x。让σ是后加性噪声的标准差,这

σ2(x)=σF2(x)+σ2

定义tσ的价值ExplorationRatio选择,一个正数。的bayesopt+采集功能,在每次迭代之后,评估是否下一个点x满足

σF(x)<tσσ

如果是这样,该算法宣称xoverexploiting。然后获取函数修改它<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">核函数乘以θ的迭代次数,所显示的公牛<一个href="//www.tianjin-qmedu.com/de/de/help/stats/bayesian-optimization-algorithm.html" class="intrnllnk">[1]。这一修改提出了方差σ点之间的观察。然后生成一个新的点基于新安装内核函数。如果新观点x再次overexploiting,收购函数繁殖θ通过一个额外的10倍,再次尝试。继续以这种方式多达五次,试图产生一个点x这不是overexploiting。该算法接受新知识x下一个点。

ExplorationRatio因此控制之间的权衡为一个更好的全球性的解决方案,探索新的点对点附近集中已经检查了。

获取函数最大化

在内部,bayesopt最大化收购功能使用下面的一般步骤:

  1. 对算法入手“expected-improvement”“probability-of-improvement”,bayesopt估计的最小可行的后验分布μ(x最好的)抽样几千分在变量范围内,采取一些最好的(低平均值)可行点,并提高他们使用本地搜索,发现表面的最佳可行点。可行的意味着满足约束(见<一个href="//www.tianjin-qmedu.com/de/de/help/stats/constraints-in-bayesian-optimization.html" class="a">约束在贝叶斯优化)。

  2. 对所有算法,bayesopt几千点在变量范围内,样品需要几个最好的(高采集函数)可行点,并提高他们使用本地搜索,发现表面的最佳可行点。获取函数值取决于建模后验分布,不是目标函数的一个示例,它可以快速计算。

引用

[1]牛、a D。有效的全局优化算法的收敛速度。<一个href="https://arxiv.org/abs/1101.3501v3" target="_blank">https://arxiv.org/abs/1101.3501v3,2011年。

[2]基尔巴特,M。,J. Snoek, R. P. Adams.贝叶斯优化与未知的约束。<一个href="https://arxiv.org/abs/1403.5607" target="_blank">https://arxiv.org/abs/1403.5607,2014年。

[3]杖鱼,J。,H. Larochelle, R. P. Adams.实用机器学习贝叶斯优化算法。<一个href="https://arxiv.org/abs/1206.2944" target="_blank">https://arxiv.org/abs/1206.2944,2012年。

另请参阅

|

相关的话题