赞
踩
转载:https://blog.csdn.net/qq_34218078/article/details/108892853
https://blog.csdn.net/weixin_43283397/article/details/103699028
1)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。
3)采用正则化方法。正则化方法包括L0正则、L1正则和L2正则,而正则一般是在目标函数之后加上对于的范数。但是在机器学习中一般使用L2正则,下面看具体的原因。
过拟合定义:模型在训练集上的表现很好,但在测试集和新数据上的表现很差。
训练集上的表现 测试集上的表现 结论
不好 不好 欠拟合
好 不好 过拟合
好 好 适度拟合
原因
训练数据集太小,过拟合出现的原因:
模型复杂度过高,参数过多
数量数据比较小
训练集和测试集分布不一致
样本里面的噪声数据干扰过大,导致模型过分记住了噪声特征,反而忽略了真实的输入输出特征
训练集和测试集特征分布不一样(如果训练集和测试集使用了不同类型的数据集会出现这种情况)
解决方案
1、降低模型复杂度
处理过拟合的第一步就是降低模型复杂度。为了降低复杂度,我们可以简单地移除层或者减少神经元的数量使得网络规模变小。与此同时,计算神经网络中不同层的输入和输出维度也十分重要。虽然移除层的数量或神经网络的规模并无通用的规定,但如果你的神经网络发生了过拟合,就尝试缩小它的规模。
2、增加更多数据
使用大数据集训练模型
3、数据增强
使用数据增强可以生成多幅相似图像。这可以帮助我们增加数据集规模从而减少过拟合。因为随着数据量的增加,模型无法过拟合所有样本,因此不得不进行泛化。计算机视觉领域通常的做法有:翻转、平移、旋转、缩放、改变亮度、添加噪声等等
4、正则化
在损失函数后面加一个正则化项,常见的有L1正则化和L2正则化
L1惩罚项的目的是使权重绝对值最小化。公式如下:
L2惩罚项的目的是使权重的平方最小化。公式如下:
以下表格对两种正则化方法进行了对比:
L1正则化 L2正则化
5、dropout
dropout 是一种避免神经网络过拟合的正则化技术。像L1和L2这样的正则化技术通过修改代价函数来减少过拟合。而丢弃法修改神经网络本身。它在训练的每一次迭代过程中随机地丢弃神经网络中的神经元。当我们丢弃不同神经元集合的时候,就等同于训练不同的神经网络。不同的神经网络会以不同的方式发生过拟合,所以丢弃的净效应将会减少过拟合的发生。
如上图所示,丢弃法被用于在训练神经网络的过程中随机丢弃神经网络中的神经元。这种技术被证明可以减少很多问题的过拟合,这些问题包括图像分类、图像切割、词嵌入、语义匹配等问题。
6、早停
如上图所示,在几次迭代后,即使训练误差仍然在减少,但测验误差已经开始增加了。
7、重新清洗数据
把明显异常的数据剔除
8、使用集成学习方法
把多个模型集成在一起,降低单个模型的过拟合风险
重点参考: https://blog.csdn.net/weixin_41146894/article/details/113202404
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。