基于高斯过程的贝叶斯优化(二)AC函数

上节介绍过acquistion function(AC函数)是用来利用之前的信息寻找下一个$x_{t+1}$。下面介绍AC函数的具体形式:

目前主流的AC函数主要有三种Probability of Improvement(PI),Excepted Improvement(EI),GP Upper Confidence Bound(GP-UCB)三种。

首先介绍下最基本的数学背景。

记$\mathcal { D } _ { 1 : t } = \left\{ \mathbf { x } _ { 1 : t } , f _ { 1 : t } \right\}$为已经探索过得到的历史信息,其中$f_{t+1}=f(x_{t+1})$,假定我们所需搜寻的下一个值维$x_{t+1}$,且有$f_{t+1}=f(x_{t+1})$。记协方差矩阵K为:

\[\mathbf { K } = \left[ \begin{array} { c c c } { k \left( \mathbf { x } _ { 1 } , \mathbf { x } _ { 1 } \right) } & { \dots } & { k \left( \mathbf { x } _ { 1 } , \mathbf { x } _ { t } \right) } \\ { \vdots } & { \ddots } & { \vdots } \\ { k \left( \mathbf { x } _ { t } , \mathbf { x } _ { 1 } \right) } & { \dots } & { k \left( \mathbf { x } _ { t } , \mathbf { x } _ { t } \right) } \end{array} \right]\]

根据高斯过程的性质,$f_{1:t}$与$f_{t+1}$服从联合高斯分布:

\[\left[ \begin{array} { c } { \mathbf { f } _ { 1 : t } } \\ { f _ { t + 1 } } \end{array} \right] \sim \mathcal { N } \left( \begin{array} { c c } { \mathbf { K } } & { \mathbf { k } } \\ { \mathbf { k } ^ { T } } & { k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { t + 1 } \right) } \end{array} \right)  \]

这里有:

\[\mathbf { k } = \left[ k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { 1 } \right) \quad k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { 2 } \right) \quad \cdots \quad k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { t } \right) \right]\]

通过求其边缘密度函数,可以得到:

\[ f _ { t + 1 } | \mathcal { D } _ { 1 : t } , \mathbf { x } _ { t + 1 } = \mathcal { N } \left( \mu _ { t } \left( \mathbf { x } _ { t + 1 } \right) , \sigma _ { t } ^ { 2 } \left( \mathbf { x } _ { t + 1 } \right) \right)\]

其中:

\[\mu _ { t } \left( \mathbf { x } _ { t + 1 } \right) = \mathbf { k } ^ { T } \mathbf { K } ^ { - 1 } \mathbf { f } _ { 1 : t }\]

\[\sigma _ { t } ^ { 2 } \left( \mathbf { x } _ { t + 1 } \right) = k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { t + 1 } \right) - \mathbf { k } ^ { T } \mathbf { K } ^ { - 1 } \mathbf { k }\]

(该推导可以参见Gaussian Processes for machine learning,Williams,2006 附录A2)

有了上面的准备,就可以估计出$x_{t+1}$在任意取值处所服从的正态分布,从而可以设定特定的目标函数去定位下一步最优的$x_{t+1}$

Probability of Improvement(PI)

PI的思想在于基于最大可能概率改进,即假设当前已有的最优采样为$x_+$,满足$\mathbf { x } ^ { + } = \operatorname { argmax } _ { \mathbf { x } _ { i } \in \mathbf { x } _ { 1 : t } } f \left( \mathbf { x } _ { i } \right)$,则

\[\begin{aligned} \mathrm { PI } ( \mathbf { x } ) & = P \left( f ( \mathbf { x } ) \geq f \left( \mathbf { x } ^ { + } \right) \right) \\ & = \Phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \right) \end{aligned}\]

其中$\Phi ( \cdot )$表示标准正态分布的分布函数。

需要注意的是以上对于$x_{t+1}$的求解仅利用了已有信息,并没有很好权衡探索-利用之间的矛盾(对于探索-利用矛盾如果不了解可以阅读强化学习的一些基础内容),因此PI函数还具有以下变形:

\[\begin{aligned} \mathrm { PI } ( \mathbf { x } ) & = P \left( f ( \mathbf { x } ) \geq f \left( \mathbf { x } ^ { + } \right) + \xi \right) \\ & = \Phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) - \xi } { \sigma ( \mathbf { x } ) } \right) \end{aligned}\]

其中$\xi \geq 0$,一种建议的做法是刚开始训练时$\xi$可以较大,加强探索,随算法迭代,$\xi$应该逐渐减少,加强利用。

Excepted Improvement(EI)

EI的思想在于寻找具有最大改善期望的$x_{t+1}$,记选取$x_{t+1}$后,被改进的函数为$I(x)$,

\[\mathrm { I } ( \mathrm { x } ) = \max \left\{ 0 , f _ { t + 1 } ( \mathrm { x } ) - f \left( \mathrm { x } ^ { + } \right) \right\}\]

我们做需寻找的$x_{t+1}$应满足

\[\mathbf { x } = \underset { \mathbf { x } } { \operatorname { argmax } } \mathbb { E } \left( \max \left\{ 0 , f _ { t + 1 } ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) \right\} | \mathcal { D } _ { t } \right)\]

期望改进的计算公式还可以进行如下变形:

\[\begin{aligned} \mathbb { E } ( \mathrm { I } ) & = \int _ { \mathrm { I } = 0 } ^ { \mathrm { I } = \infty } \mathrm { I } \frac { 1 } { \sqrt { 2 \pi } \sigma ( \mathbf { x } ) } \exp \left( - \frac { \left( \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) - \mathrm { I } \right) ^ { 2 } } { 2 \sigma ^ { 2 } ( \mathbf { x } ) } \right) d \mathrm { I } \\ & = \sigma ( \mathbf { x } ) \left[ \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \Phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \right) + \phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \right) \right] \end{aligned}\]

最终化简结果为:

\[\operatorname { EI } ( \mathbf { x } ) = \left\{ \begin{array} { l l } { \left( \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) \right) \Phi ( Z ) + \sigma ( \mathbf { x } ) \phi ( Z ) } & { \text { if } \sigma ( \mathbf { x } ) > 0 } \\ { 0 } & { \text { if } \sigma ( \mathbf { x } ) = 0 } \end{array} \right.\]

其中$Z = \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) }$,并且$\phi ( \cdot )$为标准正态分布的概率分布函数(pdf),$\Phi ( \cdot )$为标准正态分布的分布函数(cdf)。

EI算法同样可以加入探索-利用的权衡标量$\xi$,满足$\xi \geq 0$,此时有

\[\operatorname { EI } ( \mathbf { x } ) = \left\{ \begin{array} { l l } { \left( \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) - \xi \right) \Phi ( Z ) + \sigma ( \mathbf { x } ) \phi ( Z ) } & { \text { if } \sigma ( \mathbf { x } ) > 0 } \\ { 0 } & { \text { if } \sigma ( \mathbf { x } ) = 0 } \end{array} \right.\]

GP Upper Confidence Bound(GP-UCB)

Upper Confidence Bound是Condidence bound criteria的一种,同样的还可以将准则设置为Lower Confidence Bound,这两个准则的效果是一样的,形式分别为:

Lower Confidence Bound:\[\mathrm { LCB } ( \mathbf { x } ) = \mu ( \mathbf { x } ) - \kappa \sigma ( x )\]

Upper Confidence Bound:\[\mathrm { UCB } ( \mathbf { x } ) = \mu ( \mathbf { x } ) + \kappa \sigma ( x )\]

其中$\kappa \geq 0$一种选取$\kappa$的方法来自于Srinivas(2010),采用后悔值进行计算,建议采用$\kappa _ { t } = \sqrt { \nu \tau _ { t } }$,

其中超参数$\nu > 0$,这样则有$\mathrm { GP } - \mathrm { UCB } ( \mathrm { x } ) = \mu ( \mathrm { x } ) + \sqrt { \nu \tau _ { t } } \sigma ( \mathrm { x } )$

记$x_*$为全局最优解,在$\nu = 1,\tau _ { t } = 2 \log \left( t ^ { d / 2 + 2 } \pi ^ { 2 } / 3 \delta \right)$时,可以证明当协方差函数(核函数)相当平滑时有

\[\lim _ { T \rightarrow \infty } R _ { T } / T = 0\]

其中,$R _ { T } = \sum _ { t = 1 } ^ { T } f \left( \mathbf { x } ^ { \star } \right) - f \left( \mathbf { x } _ { t } \right)$为后悔值的累计值。

上图给出了上述三种方法的求解示例,不同颜色的线代表不同超参数下贝叶斯框架估计出的AC函数值,阴影部分则表示估计出的方差大小,PI方法趋向于选择概率上最大可能改进现有最好情况的点,EI方法则寻找的是带来改善效果期望值最大的点,GP-UCB则是将均值加方差作为目标函数。

原文地址:https://www.cnblogs.com/statruidong/p/10558089.html

时间: 2024-08-29 16:49:47

基于高斯过程的贝叶斯优化(二)AC函数的相关文章

基于贝叶斯优化的超参数tuning

https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ 贝叶斯优化:使用高斯过程作为代理函数,并且通常优化提升幅度的期望Expected Improvement(新试验相对当前最好观测的提升的期望).高斯过程是一组函数的分布.高斯过程中的一个样本包括一组函数.训练高斯过程会拟合训练数据的分布,因此能产生和观测数据相近的函数.使用高斯过程,我们可以计算搜索空间中任意点的期望提升.然后将期望提升

强大而精致的机器学习调参方法:贝叶斯优化

一.简介 贝叶斯优化用于机器学习调参由J. Snoek(2012)提出,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布.简单的说,就是考虑了上一次参数的信息**,从而更好的调整当前的参数. 他与常规的网格搜索或者随机搜索的区别是: 贝叶斯调参采用高斯过程,考虑之前的参数信息,不断地更新先验:网格搜索未考虑之前的参数信息 贝叶斯调参迭代次数少,速度快:网格搜索

贝叶斯优化(Bayesian Optimization)深入理解

目前在研究Automated Machine Learning,其中有一个子领域是实现网络超参数自动化搜索,而常见的搜索方法有Grid Search.Random Search以及贝叶斯优化搜索.前两者很好理解,这里不会详细介绍.本文将主要解释什么是体统(沉迷延禧攻略2333),不对应该解释到底什么是贝叶斯优化. I Grid Search & Random Search 我们都知道神经网络训练是由许多超参数决定的,例如网络深度,学习率,卷积核大小等等.所以为了找到一个最好的超参数组合,最直观的

基于搜索的贝叶斯网络结构学习算法-K2

基于搜索的贝叶斯网络结构学习算法-K2 2018-04-05 19:34:18 ItsBlue 阅读数 3172更多 分类专栏: 贝叶斯网络 网络结构学习 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u012558945/article/details/79828434 部分内容取自:[Cooper and Herskovits, 1991] Cooper, G. and Hersko

基于的朴素贝叶斯的文本分类(附完整代码(spark/java)

本文主要包括以下内容: 1)模型训练数据生成(demo) 2 ) 模型训练(spark+java),数据存储在hdfs上 3)预测数据生成(demo) 4)使用生成的模型进行文本分类. 一.训练数据生成 spark mllib模型训练的输入数据格式通常有两种,一种叫做 LIBSVM 格式,样式如下: label index1:value1 index2:value2 label为类别标签,indexX为特征向量索引下标,value为对应的那维的取值. 另一种格式样式如下: label f1,f2

NeurIPS 2018 中的贝叶斯研究

NeurIPS 2018 中的贝叶斯研究 WBLUE 2018年12月21日 雷锋网 AI 科技评论按:神经信息处理系统大会(NeurIPS)是人工智能领域最知名的学术会议之一,NeurIPS 2018 已于去年 12 月 3 日至 8 日在加拿大蒙特利尔市举办.来自 Zighra.com 的首席数据科学家在参加完此次会议之后,撰写了一篇关于贝叶斯研究的参会总结,雷锋网 AI 科技评论编译整理如下. 此次会议支持现场直播,所有讲座的视频内容均可以在 NeurIPS 的 Facebook 主页上找

我理解的朴素贝叶斯模型

我理解的朴素贝叶斯模型 我想说:"任何事件都是条件概率."为什么呢?因为我认为,任何事件的发生都不是完全偶然的,它都会以其他事件的发生为基础.换句话说,条件概率就是在其他事件发生的基础上,某事件发生的概率. 条件概率是朴素贝叶斯模型的基础. 假设,你的xx公司正在面临着用户流失的压力.虽然,你能计算用户整体流失的概率(流失用户数/用户总数).但这个数字并没有多大意义,因为资源是有限的,利用这个数字你只能撒胡椒面似的把钱撒在所有用户上,显然不经济.你非常想根据用户的某种行为,精确地估计一

我理解的朴素贝叶斯模型【转】

转自:http://www.cnblogs.com/nxld/p/6607943.html 我想说:"任何事件都是条件概率."为什么呢?因为我认为,任何事件的发生都不是完全偶然的,它都会以其他事件的发生为基础.换句话说,条件概率就是在其他事件发生的基础上,某事件发生的概率. 条件概率是朴素贝叶斯模型的基础. 假设,你的xx公司正在面临着用户流失的压力.虽然,你能计算用户整体流失的概率(流失用户数/用户总数).但这个数字并没有多大意义,因为资源是有限的,利用这个数字你只能撒胡椒面似的把钱

基于朴素贝叶斯的定位算法

1 定位背景介绍 一说到定位大家都会想到gps,然而gps定位有首次定位缓慢(具体可以参考之前的博文<LBS定位技术>).室内不能使用.耗电等缺陷,这些缺陷大大限制了gps的使用.在大多数移动互联网应用例如google地图.百度地图等,往往基于wifi.基站来进行定位. 一般APP在请求定位的时候会上报探测到的wifi信号.基站信号.以wifi为例,手机会探测到周围各个wifi(mac地址)对应的信号强度(RSSI),即收集到信号向量(<WF1, RSSI1> <WF2, R