目录
贝叶斯优化
高斯过程
采集函数
贝叶斯优化
贝叶斯优化 | 黑盒优化+全局最优方法 | Bayesian Optimization_哔哩哔哩_bilibili
贝叶斯优化用于解决寻找某个函数的最大值/最小值,在自变量维度比较小时(<20)表现的非常好。
适用于观测目标函数非常昂贵的时候,比如每次观测需要大量时间、成本或者机会成本。如在选择学习率之后,训练一次神经网络需要很长时间。
适用于不知道目标函数,目标函数是个黑盒子,不知道它的公式和性质,不知道目标函数的一阶和二阶导数
贝叶斯优化有两个模块:1.用贝叶斯统计模型建模目标函数。2.用采集函数找下一个采样点在哪儿。
贝叶斯优化(原理+代码解读) - 知乎 (zhihu.com)
优化命题:如在某个区间内去最大化某个函数
贝叶斯优化属于无梯度优化算法中的一种,它希望在尽可能少的试验情况下去尽可能获得优化命题的全局最优解。
由于我们要优化的这个函数计算量太大,一个自然的想法就是用一个简单点的模型来近似 𝑓(𝑥) ,这个替代原始函数的模型也叫做代理模型,贝叶斯优化中的代理模型为高斯过程,假设我们对待优化函数的先验(prior)为高斯过程,经过一定的试验我们有了数据(也就是evidence),然后根据贝叶斯定理就可以得到这个函数的后验分布。
在贝叶斯学派中,先验分布+数据(似然)= 后验分布
2.概率论基础 - 六、先验分布与后验分布 - 《AI算法工程师手册》 - 书栈网 · BookStack
有了这个后验分布后,我们需要考虑下一次试验点在哪里进一步收集数据,因此就会需要构造一个acquisition函数用于指导搜索方向(选择下一个试验点),然后再去进行试验,得到数据后更新代理模型的后验分布,反复进行。
优化过程:
1.根据截止到t-1次试验得到的数据D,选择第t次试验的数据x,使得采集函数(价值函数)最大;
2.根据x_t得到y_t;
3.把t次试验的x和y加入到数据中,并且更新GP。
高斯过程
高斯过程(英语:Gaussian process)是观测值出现在一个连续域(例如时间或空间)的统计模型。在高斯过程中,连续输入空间中每个点都是与一个正态分布的随机变量相关联。此外,这些随机变量的每个有限集合都有一个多元正态分布。高斯过程的分布是所有那些(无限多个)随机变量的联合分布,正因如此,它是连续域(例如时间或空间)的分布。
高斯过程是多元高斯分布向无穷维的扩展,如果说高斯分布是随机变量的分布,则高斯过程是函数的分布,它可以由均值函数和协方差函数组成。
可以根据高斯过程的后验分布对这个未知函数在任意位置的值做出预测,均值包括方差。
采集函数
贝叶斯优化选择的搜索方向为预测值大的位置或者不确定性大的位置,这样才有可能搜到目标函数的最优解。