贝叶斯优化
本文主要依据与论文 1 来写,虽然这篇论文主要是提出了 SMBO 方法,但是一般认为该方法是 BO 的标准实现。
Sequential Model-based Global Optimization
作为一个优化方法,我们的目标是最优化其目标函数,并假设有函数:
例如在深度学习中,其 就是模型的参数, 就是任务的损失函数;
但是这样一个函数一般高度非凸,无法求解解析解,所以一般我们是使用梯度下降等方法迭代求解。并且该函数 评估十分耗时,所以基于模型的算法会使用评估成品更低的代替项来近似 。即有算法如下图:
这里的 Fit a new model 比较特殊,如果我们展开写这个 ,则是:
即一个条件概率模型,关于这个模型可以见 高斯过程。
但是这里的问题是,高斯随机过程有两个特征,一个是均值函数 ,一个是方差函数 。他们两个分别代表的是:探索exploitation以及开发exploration。均值小的地方意味着其损失函数会更低,它附近存在全局最优点。而方差高的地方更具有探索价值 (即该区间 Uncertainty 更大)。探索该区域有利于减少我们猜测的方差。
为了实现以上探索和开发的平衡 (exploration-exploitation trade-off),贝叶斯优化使用了采集函数 (acquisition function),它能平衡 好全局最小值的探索和开发。采集函数有很多选择,其中最常见的是 Expected of improvement(EI),我们先看一个 utility function:
是目前观察到的最小值, 是超参数,我们希望上述 utility function 输出越大越好 (即找到的 能获得比当前最小值还小),基于 ,EI 采集函数如下所示:
EI 有两部分:
-
减少均值函数 ,提高 EI。
-
增加方差 ,提高 EI。
所以 EI 的提高是建立在均值和方差的 trade-off,也是 exploration 和 exploitation 的 trade-off2。
相关链接
Footnotes
-
Algorithms for Hyper-Parameter Optimization ↩