几种机器学习常用调参方式对比(网格搜索,随机搜索,贝叶斯优化)

网格搜索(GridSearchCV): grid search就是穷举,穷举所有得超参组合
Ex:当对决策树调参,若只对一个超参优化,如树的最大深度,尝试[3,5,7],则可表示为
在这里插入图片描述

若还想对分裂标准进行调参,则尝试gini和entropy,那么相当于对2*3=6组参数进行尝试,即
几种机器学习常用调参方式对比(网格搜索,随机搜索,贝叶斯优化)_第1张图片

因此这里叫做gridsearch(网格搜索);grid search就是对网格中每个交点进行遍历,从而找到最好的一个组合。
网格的维度就是超参的个数,若有k个超参,每个超参有m个候选,那么需要遍历k^m个组合,因此它的好处是效果不错,适用于需要对整个参数空间进行搜索的情况,缺陷是计算代价非常非常大,面临维度灾难。

随机搜索(RandomizedSearchCV)
随机搜索顾名思义就是在超参的搜索分布中随机搜索超参进行尝试,其搜索策略为:
1. 对于搜索范围是distribution的超参数,根据给定的distribution进行随机采样
2. 对于搜搜范围是list的超参数,在给定的list中等概率采样

3. 对1,2两步中得到的n_iter组采样结果,进行遍历
注意:若给定的搜索范围均为list,则不放回抽样n_iter次
随机搜索的好处在于搜索速度快,但是容易错过一些重要的信息

HyperOPT
由于网格搜索的计算代价非常大,而随机搜索虽然速度很快,但容易遗漏重要信息,因此我们可以采用贝叶斯优化,即hyperopt模块。贝叶斯优化就是通过在初期进行超参尝试后,会逐步学习(随着从目标函数获得更多的反馈),对初始搜索空间不同部分进行调整和采样,如下图,会发现随着时间的增长,超参的搜索范围逐步集中。因此贝叶斯优化也是借鉴了其思想,即用先验概率来在一定程度上决定后验概率;hyperopt所使用的贝叶斯优化的好处是相比网格搜索,搜索的效率更高,但同时避免了随机搜索会遗漏重要信息的影响。
几种机器学习常用调参方式对比(网格搜索,随机搜索,贝叶斯优化)_第2张图片

你可能感兴趣的:(几种机器学习常用调参方式对比(网格搜索,随机搜索,贝叶斯优化))