- Author: MaXiao
- E-Mail: maxiaoscut@aliyun.com
- surrogate model
- Gaussian Process
- Tree-structured Parzen Estimators (TPE)
- acquisition function
- PI(Probability of Improvement)
- EI(Expected Improvement)
- UCB(upper confidence bound)
- 梯度下降法 / 牛顿法 / 拟牛顿法
- Adam / AdaDelta / RMSProp...
- Logloss(cross entropy) / HingeLoss / ExpLoss etc.
- L1 / L2 Regularization
-
优化目标: 运用尽可能少的搜索次数找到连续函数的全局最优解(Global Optimum)
-
搜索空间: 典型的搜索空间是超矩形(hyper-rectangle),形如
-
更适用于不高于20维的连续搜索空间: It is best-suited for optimization over continuous domains of less than 20 dimensions
-
对随机噪声具备一定的容忍度: tolerates stochastic noise in function evaluations
- expensive to evaluate: f(x)有较高的计算成本;
- black box: f(x)的凹凸性、线性与否等函数性质均未知;
- derivative-free: f(x)不一定可微,从而无法运用梯度下降法、牛顿法、拟牛顿法等基于梯度的优化算法;
- continuous: f(x)连续型函数,从而可以用高斯过程等模型来拟合;
- i.i.d noise: 默认噪音独立于参数评估与高斯过程,同时方差恒定;What is the difference between i.i.d noise and white noise?
- Surrogate Model: 作为先验分布,近似拟合参数点与优化函数之间的函数关系;
- Acquisition Function: 基于后验分布评估可行域内的候选点,并确定下一轮的最佳搜索点;
- 贝叶斯优化用于求解黑盒、不可微函数的全局最优化问题;
- BayesOpt is designed for black-box derivative free global optimization
- 贝叶斯优化是“基于序列模型的优化方法”,它根据历史信息迭代模型后,再决定下一次的搜索点;
- BayesOpt is a sequential model-based optimization (SMBO) approach
- SMBO methods sequentially construct models to approximate the performance of hyperparameters based on historical measurements, and then subsequently choose new hyperparameters to test based on this model
- 作为先验分布函数,用于拟合参数点与优化目标之间的函数关系
- Surrogate Model确定之后,就能生成函数在候选点处取值f(x)的后验分布
- 例如,当高斯过程作为Surrogate Model时,对于新的候选点x_{n+1},基于贝叶斯公式,生成后验概率分布
-
Gaussian Process
- Theoretical analysis : 高斯过程-理论概述(by MaXiao)
- Python Package : Bayesian Optimization
- Recommended Paper : Gaussian processes in machine learning [Carl Edward Rasmussen]
-
Tree Parzen Estimator
- Theoretical analysis : TPE-理论概述(by MaXiao)
- Python Package : Hyperopt
- Recommended Paper : Algorithms for Hyper-Parameter Optimization [Bergstra et.al.]
- Code Test : hyopt.py
-
SMAC
- Python Package : Auto-Sklearn
- Recommended Paper : Efficient and Robust Automated Machine Learning [Feurer et al.]
-
exploitation(开发)
- 倾向于选取后验分布中期望均值较大的点,期望均值与模型最终指标成正比;
- 对当前已知的、表现良好的点附近进行更细致的寻优;
-
exploration(探索)
- 倾向于选取后验分布中方差较大的点;
- 对未知领域进行更进一步的探索;
- 核心**——衡量上升的概率
- 缺点
- 过于关注增长的概率,对增长幅度有所忽略;
- 更关注exploitation,对exploration缺乏关注
- [参考文献:Paper_02]
- [参考文献:Paper_02]
- 选择替代模型作为先验函数,用于构建参数与优化目标之间的函数关系
- 先验函数在每一轮搜索之后都会进行迭代,表现为先验函数的参数得到更新
- 后验分布会随着先验函数的更新而同步发生改变,进一步使得AF函数进行更新
- 基于AF函数最大化,进行下一轮的最优参数的选取
- 基于高斯过程,确定函数f的先验分布
- 基于初始空间填充设计,确定n个初始观测点,并计算函数f在对应观测点上的取值
- 若寻优的累计次数不超过设定的最大次数阈值N,则重复以下过程:
- 基于所有观测点更新f的后验分布
- 基于上述后验分布,更新acquisition function,并将极大值点x_n作为下一次的观测点
- 计算y_n = f(x_n),将(x_n, y_n)添加至已知数据集
- 上传迭代完成之后,函数取最大值时对应的x_n即为贝叶斯优化得到的最佳参数
-
[03] Gaussian Processes in Machine Learning [Carl Edward Rasmussen]
-
[04] How priors of initial hyperparameters affect Gaussian process regression models [Chen et.al.]
-
[05] An Intuitive Tutorial to Gaussian Processes Regression [Jie Wang]
-
[06] Algorithms for Hyper-Parameter Optimization [Bergstra et.al.]