说到超参,不得不先提到参数,这两个是有本质区别的。对于神经网络而言,学习率、batchsize等都是超参,而参数就是网络中所有的weight。可以这样简单的区分超参和参数,在模型训练前需要固定的参数就是超参,而参数受到训练数据和超参的影响,按照优化目标逐步更新,到最后得到该超参下的最优模型。超参的重要性不言而喻,那么如何正确的设定超参呢?
如何选择好的超参
- 手动调超参: 用这个方法,需要人工按照试验过程中得出的经验人工指定各个超参的组合,这个过程冗长且乏味,如果有大量的超参,组合是指数级别增加,手动调是不切实际的。
- 自动调超参: 用这个方法,超参会用一种算法自动优化。
调整超参的方法
Random Search
先给出每个超参可能的值,然后每次迭代使用这些值的随机组合训练模型,参考最终的评估指标,选择最好效果的超参。
Grid Search
网格搜索大家也并不陌生,同随机搜索不同的是,会按照一种特定的顺序选择超参,参考最终的评估指标,选择最好的超参。如下图所示:
贝叶斯优化