神经网络训练防止过拟合和欠拟合的方法
- 1 过拟合的概念
- 2 欠拟合的概念
- 3 防止过拟合和欠拟合的方法
1 过拟合的概念
如上图所示,模型在训练时表现较好,在验证或测试时,表现较差,即表示过拟合。
过拟合的本质是模型对训练样本过度学习,反而失去泛化能力,当发现过拟合时,一般说明模型的拟合能力没问题,但是泛化能力需要提高。
2 欠拟合的概念
如上图所示,模型在训练时准确率不到30%就开始饱和了,拟合效果很差,在测试时拟合效果同样更差,这种情况称为欠拟合。
3 防止过拟合和欠拟合的方法
- 首先开发一个过拟合的模型,可以采取以下措施:
1.增加模型深度,添加更多层
2.让每一层变得更大,增加每一层的通道数或者神经元个数
3.训练更多轮数
- 当出现过拟合时,可以采取以下措施:
1.减少神经元个数,如采用Dropout,随机丢弃一些神经元
2.批归一化,有助于数据分布均匀分布,设置批归一化后学习率可以加大,对参数初始值不敏感,加快训练速度,使网络更加稳定,类似于Dropout
- 当模型不再过拟合时,再次调节超参数:
1.学习速率。 如果模型训练时,准确率或者损失变化缓慢,则需要调整学习率,越小的学习率,模型的准确率或者损失变化越慢
2.网络深度
3.隐藏层单元数,神经元个数或者卷积层通道数
4.训练轮数
5.增加训练样本,提高模型泛化能力
6.调节其他参数