如何解决训练网络过拟合的问题?

前言

如何解决网络过拟合的问题?
判断一个训练模型过拟合,主要依据来自于,该模型在训练集上的表现很好。但是在测试集合和新数据上的表现都不太好的情况。

可以从以下的三个角度去解决训练网络过拟合的问题。

一、数据

从数据入手,获得更多的训练数据。使用更多的训练数据是解决过拟合问题的有效手段。因为更多的样本能够让我们的模型学习到更多的特征,减小数据的影响。

获得更多的训练数据可以有以下三种手段:

1.直接采集更多的数据。

2.数据增强

(1)图像的旋转、平移、缩放、随机剪切、填充、左右反转等,这些数据增强来自于对应着同一个目标在不同角度的观察结果。
(2)图像加入噪声。比如高斯白噪声和椒盐噪声。
(3)颜色变换。
(4)改变图像的亮度、清晰度、对比度、锐度等等。

3.数据生成

可以考虑用生成对抗网络来生成数据。

二、降低模型复杂度

在数据比较少的时候,模型过于复杂是产生过拟合的主要因素,适当降低模型复杂度可以避免模型拟合过多的采样噪声。

1.削减参数

例如在神经网络里可以削减层数,神经元个数,卷积核个数。决策树可以减少树的深度和剪枝。

2.网络修改

比如14年中的Inception结构,设置瓶颈层,能够大量削减通道参数。

三、正则化方法

给模型的参数加上一定的正则化约束。

1.损失函数正则化

将模型参数的大小加入到损失函数中,比如L1、L2正则化。这样优化目标函数的同时,也能够避免参数权值过大带来的过拟合风险。

2.Dropout

随机选取神经元失活。

3.增加BN层(主要用于加快模型收敛)

BN有轻微的正则化作用,可以适当缓解过拟合效果。

四、训练

可以设置训练时间 Early stopping。及时停止我们的网络训练。也可以每一个epoch都保存模型。

五、集成方法

将多个模型集成在一起,降低单一模型的过拟合方法。

补充:降低“欠拟合”风险的方法

(1)添加新特征
(2)增加模型复杂度
(3)减小正则化系数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值