当前位置:   article > 正文

神经网络的调参方法以及验证集(开发集)的概念_神经网络中的校准集和验证集是什么意思

神经网络中的校准集和验证集是什么意思

1, 验证集(开发集)的概念

  • 训练集(Training set)——用来训练算法的数据集,亦即用来确定W、b参数,训练集就是用来训练参数的,说准确点,一般是用来梯度下降的。
  • 开发集(development set)——用来对学习算法调整参数,选择特征或者做其他的决策的数据集。亦即用来选择超参数(网络层数,网络节点数,迭代次数,学习率这些).也叫做交叉验证集(hold-out cross validation set)
  • 测试集——既 不参与参数的学习过程,也 不参与参数的选择过程,仅仅用来评估算法表现(验证泛化性能)的数据集
  • 注意训练集、验证集和测试集应该服从同一数据分布

keras学习-基础部分 - 简书

机器学习中的验证集的作用和如何使用_Patience-CSDN博客_验证集的作用

验证集和测试集的区别?_yaoyz105-CSDN博客_验证集和测试集的区别

机器学习:样本集、验证集(开发集)、测试集 - 闲汉 - 博客园

神经网络中需要调的参数很多,如何正确地调参至关重要,需要调节的参数大概有如下几个:

hyperparameter is a parameter whose value is set before the learning process begins.

By contrast, the values of other parameters are derived via training the data.

Anything that is not updated by gradient descent to be a hyper-parameter. So numbers of units, numbers of layer, learning rate, regularization weight, etc. all count as hyper-parameters.

神经网络的层数
每层神经元的个数
如何初始化Weights和biases
loss函数选择哪一个
选择何种Regularization?L1,L2
Regularization parameter lambda 选择多大合适
激励函数如何选择
是否使用dropout
训练集多大比较合适
mini-batch选择多大
学习率多少合适
选择何种梯度下降算法
何时停止Epoch训练

【keras】神经网络调参_XYZ-CSDN博客_神经网络调参

 2,如何根据验证集开发集调参

How to Perform Hyperparameter Tuning with Keras Tuner | Sicara

Keras Tuner: Lessons Learned From Tuning Hyperparameters of a Real-Life Deep Learning Model - neptune.aihttps://medium.com/analytics-vidhya/automated-hyperparameter-tuning-with-keras-tuner-and-tensorflow-2-0-31ec83f08a62

https://www.justintodata.com/hyperparameter-tuning-with-python-keras-guide/

Hyperparameter Tuning Of Neural Networks using Keras Tuner

Hyperparameter tuning - GeeksforGeeks

Hyperparameter Tuning Of Neural Networks using Keras Tuner

 3,神经网络的调参方法

必看:Radar Based Object Detection

 关于神经网络的调参经验技巧和调参顺序_Running Snail-CSDN博客

神经网络炼丹术:神经网络调参_yilyil的博客-CSDN博客

【keras】神经网络调参_XYZ-CSDN博客_神经网络调参

神经网络如何调参,自己的一些心得和实战经验_一个nlp探险者的博客-CSDN博客_神经网络如何调参 神经网络调参经验总结_Stephanie的博客-CSDN博客

33 个神经网络「炼丹」技巧 - 知乎

深度学习中的验证集和超参数简介_网络资源是无限的-CSDN博客

 卷积层输出尺寸计算、卷积核大小选择、网络层数问题 - MO_JOJOJO - 博客园

3,神经网络训练中loss不下降

loss损失不下降的原因_小Aer的博客-CSDN博客_loss不下降

val_loss先下降后上升或不下降只上升_浪里摸鱼的博客-CSDN博客_loss先下降后上升

loss非常大一直不下降,val_loss几十徘徊是为什么? - 知乎

深度学习 - 理解loss和val_loss变化情况 - E-CorE - 博客园

 train loss 不断下降,test loss(其实是val_loss)不断下降,说明网络仍在学习;
train loss 不断下降,test loss趋于不变,说明网络过拟合; 解决办法:①数据集没问题:可以向网络“中间深度”的位置添加Dropout层;或者逐渐减少网络的深度(靠经验删除一部分模块)。②数据集有问题:可将所有数据集混洗重新分配,通常开源数据集不容易出现这种情况。
train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或增大批量数目;可能造成的原因,数据集噪声过多,label标记大量错误或者不规范,数据读取错误,类别不平衡
train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题。
train loss不断下降,dev(或test)loss不断上升:说明网络过拟合

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/424200
推荐阅读
相关标签
  

闽ICP备14008679号