超参数调整:随机搜索与贝叶斯优化


14

因此,我们知道随机搜索比网格搜索更好,但是最近的方法是贝叶斯优化(使用高斯过程)。我查找了两者之间的比较,却一无所获。我知道,在斯坦福大学的cs231n中,他们只提及随机搜索,但是他们可能想使事情保持简单。

我的问题是:哪种方法通常更好,并且如果答案是“有时是随机搜索,有时是贝叶斯方法”,那么我何时应该优先使用一种方法呢?


2
Google现在正在出售其深度学习云服务,并推出了一项功能,该功能可通过贝叶斯优化自动调整您的超参数...当然,它声称它的性能最佳,而且速度也更快(更有效地搜索超空间)。有几篇论文对BO与RS进行了评估,同时表明BO的性能略好。从我所看到的IMO来看,差异是您在Kaggle竞赛中比实际生活更关心的事情。
JPJ

Answers:


9

我认为这里的答案与数据科学中的每个地方都相同:它取决于数据:-)

一种方法可能胜过另一种方法(在这里https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/人们比较贝叶斯超参数优化并在旧金山犯罪问题的挑战上取得了比其他方法更好的结果随机搜索),但是我对此是否存在一般规则表示怀疑。您可以在此处(http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html)上看到漂亮的gif图像,那里的人们展示了贝叶斯优化在景观中的“路径”特别是在超参数方面,它似乎似乎并不胜过一般的随机搜索...

我认为人们倾向于使用贝叶斯超参数优化的原因是,与具有足够大量实验的随机搜索相比,只需较少的训练步骤即可获得可比的结果。

总结一句话:

*当训练时间很关键时,请使用贝叶斯超参数优化,如果时间不成问题,请选择两者之一... *

如果我可以通过随机搜索获得相同的结果,通常我都不愿意用高斯过程来实现贝叶斯方法。我只是在“少量”数据上训练Gradient Bossting合奏,所以对我来说,时间不是问题。


5

贝叶斯优化更好,因为它可以做出更明智的决策。您可以查看本文以了解更多信息:神经网络的超参数优化。本文还提供了有关这两种方法的优缺点的信息,以及一些额外的技术,例如网格搜索和树形结构的parzen估计器。即使它是为了显示神经网络不同方法的优缺点而编写的,其主要知识仍可推广到任何其他机器学习领域


1
我只是想指出的是,你的第一句话,为什么贝叶斯优化是更好的实际原因是不是正在作出的决定是聪明的,它是关于被决定不惜一切做出
亚历山大·罗萨

1

值得注意的是,贝叶斯超参数优化是一个顺序过程,因此它可能比其他一些能够搜索或并行进行的方法花费的时间更长。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.