深度学习过拟合及如何防止过拟合

0.过拟合

深度学习模型的过拟合通常是指针对设计好的深度学习网络,在使用训练数据集训练时,在训练数据集上可以获得很高的识别精度(针对分类问题),或者很低的均方根误差(很对回归问题),但是把训练好的模型应用于测试集进行预测时,预测效果往往不是很理想。我们称这种现象为过拟合。

1.如何防止过拟合

1.1 增加数据量

更多的训练样本通常会使得模型更加稳定,所以训练样本的增加不仅可以得到更有效的训练结果,也能在一定程度上防止模型过拟合,增强网络的泛化能力。,例如在图像的分类任务中,物体在图像中的位置、姿态、尺度、图像的明暗都会影响分类效果,所以可以通过平移、旋转、缩放等手段对数据进行扩充。

1.2 合理的数据分配

将数据集分为训练集train、验证集valid、测试集test,一般按照比例7:1:26:2:28:1:1,但当数据集有几百万甚至上亿的时候,更好的方式是将98%分配为训练集,验证集和测试集分别占比1%,此时既可以保证足够多的样本进行训练,也可以通过验证集来监督网络的学习过程,可以在网络过拟合之前终止网络的训练

1.3 添加正则项

正则化通常是在损失函数上添加对训练参数的惩罚范数,通过添加的范数惩罚对需要训练的参数进行约束,防止模型过拟合。常用的正则化参数有 L 1 L_1 L1 L 2 L_2 L2范数。

正则项目的如何防止过拟合
L 1 L_1 L1将参数的绝对值最小化 L 1 L_1 L1参数趋向于使用更少的参数,从而增加网络的稀疏性,防止模型过拟合
L 2 L_2 L2将参数的平方和最小化 L 2 L_2 L2约束则会选择更多的参数,但是这些参数都会接近于0,防止模型过拟合

1.4 使用dropout

在深度学习过程中,可以通过引入Dropout层,随机丢掉一些神经元,以减轻网络的过拟合现象。

1.5 提前结束训练

防止网络过拟合的最直观的方式就是提前终止网络的训练,通常配合数据集的划分方式,将数据划分为训练集、验证集、测试集,当验证集上的损失值不再减小的时候或精度不再增加的时候,可以停止网络的训练。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王延凯的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值