调优控制类:提供贝叶斯优化必须依赖的接口参数。在最基础的优化类中,一定程度上实现了对于贝叶斯优化算法接口的标准化,包括参数空间,历史数据记录,代理模型,和搜索策略。
参数空间类:参数空间可以灵活定义整型,浮点型,类别型的参数和其取值范围。由于实际的调优场景中,无可能出现真正意义上的连续参数空间,因此每个参数相应的还搭配了可定义的步长。
代理模型类:代理模型的选择可以根据具体需要,灵活的选择经典回归类机器学习模型和基于 pytorch 实现的神经网络类模型。
搜索策略类:具体的搜索策略可以实现经典的贝叶斯优化算法,也可以实现如上所述的“局域”搜索策略,整个类只要求实现具体的 search()方法。
下图 4 中展示了当前 KeenOpt 的支持的部分算法(TPE, LA-MCTS-Bo和LA-MCTS-TuRBO) 在 4 中常见的 synthetic 函数在低维(20)和高维(100)情况下的对比结果,可见“局域”算法确实比经典贝叶斯优化算法有更好的优化结果和更高的收敛效率。