贝叶斯优化算法
算法概述
贝叶斯优化算法试图最小化一个标量目标函数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我)为
NumSeedPoints
点x我范围内,随机变量。NumSeedPoints
是一个bayesopt
设置。如果有评价错误,直到有更多随机点NumSeedPoints
成功的评估。每个组件的概率分布均匀或对数,这取决于变换
价值optimizableVariable
。
然后重复以下步骤:
更新的高斯过程模型f(x)获得后验分布函数问(f|x我,y我为我= 1,…,t)。(在内部,
bayesopt
使用<一个href="//www.tianjin-qmedu.com/de/de/help/stats/fitrgp.html">fitrgp
适合一个高斯过程模型的数据。)找到新的点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最好的)的最小值后的意思。
然后预期的改进
改进的概率
的“probability-of-improvement”
获取函数类似,但更简单、计算“expected-improvement”
。在这两种情况下,bayesopt
第一次计算x最好的和μ问(x最好的)。然后“probability-of-improvement”
,bayesopt
计算的概率π一个新的观点x导致一个更好的目标函数值,修改“保证金”参数米:
bayesopt
需要米估计噪声标准差。bayesopt
计算这个概率
在哪里
在这里Φ(·)是单位正常运作,σ问后标准差的高斯过程x。
低信心绑定
的“lower-confidence-bound”
收购看着曲线函数G下面两个标准差后意味着每一点:
G(x)是2σ问降低了目标函数模型的信封的信心。bayesopt
然后最大化的负面G:
每秒
有时候,时间来评估目标函数可以依赖。例如,许多支持向量机计算不同时间在一万博1manbetx定范围的点。如果是这样,bayesopt
可以获得更好的改进每秒通过time-weighting收购功能。cost-weighted采集功能的短语每秒
在他们的名字。
这些收购功能工作如下。在目标函数的评价,bayesopt
维护另一个贝叶斯模型目标函数评价时间位置的函数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
最大化收购功能使用下面的一般步骤:
对算法入手
“expected-improvement”
和“probability-of-improvement”
,bayesopt
估计的最小可行的后验分布μ问(x最好的)抽样几千分在变量范围内,采取一些最好的(低平均值)可行点,并提高他们使用本地搜索,发现表面的最佳可行点。可行的意味着满足约束(见<一个href="//www.tianjin-qmedu.com/de/de/help/stats/constraints-in-bayesian-optimization.html" class="a">约束在贝叶斯优化)。对所有算法,
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年。