模型参数的一般设定:
epoch迭代几十到几百次。
mini batch size从几十到几百,为了更好的利用硬件加速,通常取8的倍数,例如128,256。
learning rate取0.1(数据集越大,模型越复杂,应取值越小),weight decay取0.005,momentum取0.9。dropout加ReLu。
weight用高斯分布初始化,bias全初始化为0。
最后,输入特征和预测目标都做好归一化。
超参数:
用 网格搜索(grid search),验证集去训练,通常用1 10 0.1 等这些数去寻找一个大致范围,如需更精确,可在找到范围后,更细粒度的调整。
防止过拟合:
L1,L2正则化 ,数据增广,dropout
参考:
http://chenrudan.github.io/blog/2015/08/04/dl5tricks.html深度学习大牛 Bengio 的paper:《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》在附录处给了一些关于dropout的一些建议
当然,还有Yoshua Bengio 《Practical Recommendations for Gradient-Based Training of Deep Architectures》总结了很多tricks.