网格搜索与贝叶斯优化

对于超参数的搜索,最常用的方法叫作网格搜索 (Grid Search),就是在可选的空间里,把每一种可能性逐一去尝试,也是工业界里最常用的方法。
网格搜索相当于把每一个组合都作一个评估,然后找到其中最好的组合
网格搜索的最大优点在于可以做并行化处理。所以只要有足够多的计算资源,都不成问题。

问题:一个模型有3个超参数a, b, c, 对于这三个超参数我们去搜索最好的一种组合。对于参数a, 使用np.linspace(1, 10, 10)来搜索,对于参数b, 使用np.linspace(1,10,5)来搜索,对于参数c, 使用np.logspace(0.01, 100, 5)来搜索。请问: 对于此网格搜索,总共要考虑多少个组合?
10×5×5=250

但理想情况下,我们还是希望有个更加智能的搜索方法,然后在更短的时间内能够找出最合适的超参数组合,这类的搜索算法我们可以归类为启发式算法:

  • 遗传算法
  • 贝叶斯优化

启发式算法有一个假设:好的超参数组合具有聚集的效果,好的点的周围有更大概率存在更好的点,基于一个这样的假设不断的去做启发式的搜索

你可能感兴趣的:(机器学习)