贝叶斯优化器是一种黑盒子优化器,用来寻找最优参数。与遗传算法类似,它使用了上一次迭代的较好结果来进行下一次迭代。
这里采用python包bayes_opt 来调用。
安装
pip install bayes_opt
导入模块
from bayes_opt import BayesianOptimization
定义待优化的函数
def evalfn(param1, param2):
...
return score
定义优化器
opt = BayesianOptimization(evalfn, {'param1': (0.1, 1000),
'param2': (0.0001, 1) })
优化(较长时间)
opt.maximize(n_iter=15, init_points=3)
print(opt.max)
结果(C和gamma是我这里要优化的两个参数)