发布时间: 2020-07-08 10:23:39
机器学习—超参数调优
模型中的参数与超参数
在模型中不仅有参数,还有超参数的存在。超参数存在的目的是为了让模型能够学习到最佳的参数
两者的区别:
1、参数是有模型自动学习得到的
2、超参数需要我们自己手动设置
模型中的超参数,模型中的超参数是模型外部的配置
1、模型超参数常应用于估计模型参数的过程中。
2、模型超参数通常由实践者直接指定。
3、模型超参数通常可以使用启发式方法来设置。
4、模型超参数通常根据给定的预测建模问题而调整
常见的模型超参数:
1、Lasso/Ridge回归当中的
2、训练神经网络的学习速率,迭代次数,批次大小,激活函数,神经元的数量。
3、 支持向量机的C和O超参数。
4、KNN中的K。
5、随机森林当中的树的棵数
超参数需要我们手动进行设置,那么我们该怎么去选出一个合适的最优超参数呢?这个问题的解决就涉及到了超参数调优。
这里我们来看一下其中的两个超参数调优方法网格搜索和随机搜索
网格搜索
网格搜索尝试穷举法去搜索范围内的所有的点来确定最优值,如果采用较大的搜索范围和较小的步长,网格搜索有很大的概率找到全局最优值。
但是网格搜索是一种昂贵且非常耗时的一种方法。随着超参数的增加这种搜索方法十分消耗计算资源和时间
1、这种方法在超参数数目相对较少的情况下工作良好。因此一般机器学习算法中可行,但在神经网络等情况下就行不通了
随机搜索
随机搜索的思想和网格搜索的比较相似,只是不再测试上界和下界之间的所以值了,而是在这个范围内随机选取超参数样本。
在超参数搜索空间较大的情况下,采用随机搜索,会优于网格搜索的效果
随机搜索实现了对超参数的随机搜索, 其中每个设置都是从可能的参数值的分布中进行取样,试图找出最佳的超参数子集
注意:
1、首先在一个粗范围内搜索,然后根据最佳结果出现的位置,缩小范围。
2、某些超参数比其他的更加重要,随机搜索过程中会影响搜索的偏向。