一 超参数
超参数就是每次训练中提前设定好的值,在训练过程不会随着data的输入而变化,并且会影响结果的参数。
比如:
网络结构参数:层数,每层宽度,激活函数等
训练参数: batch_size, 学习率等
在深度学习中,超参数众多,逐一调试会很繁琐,所以需要辅助可以迅速定位超参数。
二 超参数搜索策略
超参数搜索意思是调优超参数
1. 网格搜索
把各种超参数离散化成几个值,再将其组合起来。就像网格一样,每个网格都是一种组合。
简单的说就是暴力枚举。但是可以进行并行化计算提升速度。
缺点是无法完全枚举所有可能解,有可能最优解在中间值。
2. 随机搜索
随机生成超参数的组合,可搜索的空间更大,但是相应的样本规模会扩大很多。
3. 遗传算法搜索
模拟自然选择:
a) 初始化候选参数集合,训练得到模型指标作为生存概率(准确率更高的指标会有更大的可能性被保存下来)
b) 根据生存概率进行选择组合
c)将组合进行变异(将某几个值进行微调)
d)训练得到生存概率,返回a进行循环
4. 启发式搜索(AutoML研究热点)
神经网络结构搜索。
主要思路:使用循环神经网络生成参数,使用强化学习进行反馈,使用模型来训练生成参数。
5 实现随机搜索
手动实现:用for循环产生随机,实现并行化复杂,需要重复运行多次。
可以借用sklearn库Rando