我目前正在研究Bengio和Bergsta的用于超参数优化 的随机搜索[1],作者声称随机搜索比网格搜索更有效地实现近似相等的性能。
我的问题是:这里的人是否同意这种说法?在我的工作中,我之所以一直使用网格搜索,主要是因为缺少可轻松执行随机搜索的工具。
人们使用网格搜索与随机搜索的体验如何?
our Optunity
应如此);正如行为方面的帮助所言,“如果某些……恰好与您的产品或网站有关,那没关系。但是,您必须披露您的隶属关系”
我目前正在研究Bengio和Bergsta的用于超参数优化 的随机搜索[1],作者声称随机搜索比网格搜索更有效地实现近似相等的性能。
我的问题是:这里的人是否同意这种说法?在我的工作中,我之所以一直使用网格搜索,主要是因为缺少可轻松执行随机搜索的工具。
人们使用网格搜索与随机搜索的体验如何?
our Optunity
应如此);正如行为方面的帮助所言,“如果某些……恰好与您的产品或网站有关,那没关系。但是,您必须披露您的隶属关系”
Answers:
随机搜索的概率为95%,仅需60次迭代即可找到5%最优值内的参数组合。与其他方法相比,它也不会陷入局部最优状态。
请参阅Alice Zheng 在Dato撰写的这篇很棒的博客文章,特别是Hyperparameter Tuning Algorithms部分。
我喜欢失败者获胜的电影,也喜欢机器学习的论文,这些论文证明简单的解决方案非常有效。这是Bergstra和Bengio撰写的“随机搜索超参数优化”的故事情节。[...]之前没有非常认真地进行随机搜索。这是因为它不会搜索所有网格点,因此它不可能超过通过网格搜索找到的最佳点。但是随后出现了伯格斯特拉和本吉奥。他们表明,在令人惊讶的许多情况下,随机搜索的性能与网格搜索差不多。总而言之,尝试从网格中采样60个随机点似乎已经足够了。
。因此,其中至少有一个成功达到间隔的概率为1减去该数量。我们希望成功的机率至少为0.95。要计算出我们需要的抽奖次数,只需在方程式中求解n:
这个故事的寓意是:如果超参数的接近最佳区域至少占据了网格表面的5%,那么通过60次试验的随机搜索将发现该区域的可能性很高。
您可以通过进行更多次尝试来提高机会。
总而言之,如果您要调整的参数太多,则网格搜索可能变得不可行。那是我尝试随机搜索的时候。
如果您可以为网格搜索编写函数,那么编写函数进行随机搜索甚至可能会更容易,因为您不必预先指定和存储网格。
抛开这些,诸如LIPO,粒子群优化和贝叶斯优化之类的方法可以明智地选择哪些超参数可能会更好,因此,如果您需要将模型数量保持在绝对最小值,例如,因为拟合一个模型的成本很高。模型),这些工具是有前途的选择。它们还是全局优化器,因此很有可能找到全局最大值。BO方法的某些获取功能具有可证明的后悔界限,这使其更具吸引力。
在以下问题中可以找到更多信息:
默认情况下,除非满足以下条件之一,否则随机搜索和网格搜索是糟糕的算法。
大多数人声称随机搜索比网格搜索更好。但是,请注意,当预定义功能评估的总数时,网格搜索将导致良好的搜索空间覆盖范围,这并不比具有相同预算的随机搜索差,并且两者之间的差异可以忽略不计。如果您开始添加一些假设,例如您的问题是可分离的或几乎可分离的,那么您将找到支持网格搜索的参数。总体而言,除非在极少数情况下,否则两者都相当糟糕。因此,除非考虑到有关该问题的一些其他假设,否则无需区分它们。
在只有一个最大值的2D地形中找到最大值的95%以内的点需要100%/ 25 = 25%,6.25%,1.5625%或16个观测值。只要前四个观测值正确确定最大值(极值)在哪个象限中即可。一维地形需要100/2 = 50、25、12.5、6.25、3.125或5 * 2。我猜人们在搜索多个遥远的局部最大值时会使用较大的初始网格搜索,然后进行回归或其他预测方法。60个观测值的网格应在极值的100/60 = 1.66%内具有一个观测值。我仍然认为,全局优化总是比随机性更好的方法。