过拟合与欠拟合及解决方法

(1)什么是过拟合与欠拟合

过拟合是指模型对于训练数据拟合呈过当的情况,反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差。欠拟合指的是模型在训练和预测时表现都不好的情况。下图描述了过拟合和欠拟合的区别。在这里插入图片描述
可以看出,(a)是欠拟合的情况,拟合的线没有很好地捕捉到数据的特征,不能够很好地拟合数据。©则是过拟合的情况,模型过于复杂,把噪声数据的特征也学习到模型中,导致模型泛化能力下降,在后期应用过程中很容易输出错误的预测结果。

(2)出现过拟合现象的原因

1、参与训练的样本数据不足。
2、模型过于复杂,数据量较少无法充分训练模型。
3、数据中包含的噪声数据过多,模型容易学习到噪声数据的特征。

(3)拟合时会出现的现象

1、训练集与验证集上的准确率或是损失差距不断增大。
2、测试的精度波动较大,不是曲线上升的时候可能是过拟合导致的。
3、如果训练和验证集上的loss曲线没有距离,说明网络的capacity不够,需要增加。可以理解为模型的性能还有待提高,训练集上提升的同时,验证集合上也可能会有提升,然后随着网络逐渐能够拟合直至过拟合,验证集上的性能会逐渐升高然后降低。

(4)解决方法

降低过拟合风险的办法
1、获得更多的训练数据。使用更多的训练数据是解决过拟合问题最有效的手段,因为更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响。当然,直接增加实验数据—般是很困难的,但是可以通过一定的规则来扩充训练数据。比如,在图像分类的问题上,可以通过图像的平移、旋转、缩放等方式扩充数据;更进一步地,可以使用生成式对抗网络来合成大量的新训练数据。
2、降低模型复杂度。在数据较少时,模型过于复杂是产生过拟合的主要因素,适当降低模型复杂度可以避免模型拟合过多的采样噪声。例如,在神经网络模型中减少网络层数、神经元个数等;在决策树模型中降低树的深度、进行剪枝等。
3、正则化方法。给模型的参数加上一定的正则约束,比如将权值的大小加入到损失函数中。
4、集成学习方法。集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险,如Bagging方法。
降低欠拟合风险的方法
1、添加新特征。当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合。通过挖掘“上下文特征”“ID类特征”“组合特征”等新的特征,往往能够取得更好的效果。在深度学习潮流中,有很多模型可以帮助完成特征工程,如因子分解机、梯度提升决策树、Deep-crossing等都可以成为丰富特征的方法。
2、增加模型复杂度。简单模型的学习能力较差,通过增加模型的复杂度可以使模型拥有更强的拟合能力。例如,在线性模型中添加高次项,在神经网络模型中增加网络层数或神经元个数等。
3、减小正则化系数。正则化是用来防止过拟合的,但当模型出现欠拟合现象时,则需要有针对性地减小正则化系数。

猜你喜欢

转载自blog.csdn.net/weixin_45807161/article/details/123693666