作为Optunity的首席开发人员,我将加两分钱。
我们已经针对现实世界的问题将Optunity与最受欢迎的贝叶斯求解器(例如hyperopt,SMAC,bayesopt)进行了比较广泛的基准测试,结果表明,在许多实际情况下,PSO的效率并不低。在我们的基准测试(包括在各种数据集上调整SVM分类器)中,Optunity实际上比hyperopt和SMAC更有效,但比BayesOpt效率稍低。我想在这里分享结果,但是我要等到Optunity 最终在JMLR中发布(正在审查一年多,所以请不要屏住呼吸……)。
正如您所指出的,提高效率是贝叶斯优化的常用卖点,但实际上,只有在基本替代模型的假设成立的情况下,提高效率才是可行的。在我们的实验中,就功能评估的数量而言,Optunity的非常简单的PSO求解器通常与复杂的贝叶斯方法具有竞争优势。如果贝叶斯解算器具有良好的先验条件,则其工作效果很好,但是在没有先验信息的情况下,就效率而言,与PSO等元启发式方法相比,实际上没有结构上的好处。
PSO的一大卖点是它令人尴尬地平行。贝叶斯优化由于其固有的顺序特性(hyperopt的实现是唯一的实际例外),通常很难并行化。有了分发的机会(这已成为一种常态),Optunity迅速在挂钟时间中取得领先,以获得良好的解决方案。
Optunity与大多数其他专用超参数优化库之间的另一个主要区别是目标受众:Optunity具有最简单的界面,并且针对非机器学习专家,而大多数其他库需要对贝叶斯优化有一定的了解才能有效使用(即,它们是针对专家)。
我们创建该库的原因是,尽管存在专用的超参数优化方法,但它们在实践中仍未得到采用。大多数人还是根本不调整,手动调整或通过诸如网格或随机搜索之类的幼稚方法进行调整。我们认为,这样做的一个关键原因是,在开发Optunity之前,现有的库在安装,文档,API方面太难使用,并且通常仅限于单个环境。