登录
首页大数据时代过拟合是如何产生的?有什么好的解决方法?
过拟合是如何产生的?有什么好的解决方法?
2020-07-23
收藏

机器学习中,相对于欠拟合过拟合出现的频次更高。这是因为,假设某一数据集其对应的模型为‘真’模型,我们通常是采用提高模型的复杂度的方法,来避免欠拟合现象的产生,但与此同时,我们又很难把网络设计成和‘真’模型一样,所以最终网络模型会因为复杂度太高而产生过拟合。今天小编就给大家整理了过拟合产生的原因及一些相应的解决方法,希望对大家机器学习中解决过拟合问题有所帮助。

一、什么是过拟合

过拟合定义:给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。

过拟合(overfiting / high variance)表现为:模型在训练集上表现很好,但是在测试集上表现较差。也就是说模型的泛化能力弱。

简单理解过拟合,就是模型对训练数据的信息提取过多,不仅学习到了数据背后的规律,连数据噪声都当做规律学习了。

对比欠拟合理解起来会更容易:

二、过拟合产生原因


三、过拟合处理办法

1、重新清洗数据,过拟合出现也有可能是数据不纯,这种情况下我们需要重新清洗数据。

2、数据增强,也就是获取和使用更多的数据集。给与模型足够多的数据集,让它在尽可能多的数据上进行“观察”和拟合,从而进行不断修正。但是需要注意的是,我们是不可能收集无限多的数据集的,所以通常的方法,就是对已有的数据进行,添加大量的“噪音”,或者对图像进行锐化、对旋转、明暗度进行调整等。

3、采用正则化方法。加入正则化项就是在原来目标函数的基础上加入了约束。常用的正则化项有L1.L2.当目标函数的等高线和L1.L2正则化损失函数第一次相交时,得到最优解。

L1正则化项约束后的解空间为多边形,这些多边形的角和目标函数的接触机会远大于其他部分。就会造成最优值出现在坐标轴上,因此就会导致某一维的权重为0 ,产生稀疏权重矩阵,进而防止过拟合

L2正则化项约束后的解空间为圆形,图像上的棱角圆滑了很多。一般最优值不会在坐标轴上出现。在最小化正则项时,参数不断趋向于0.最后得到的就是很小的参数。

4、采用dropout方法。

运用了dropout方法,就相当于训练了非常多的,仅仅只有部分隐层单元的神经网络,每一个这种半数网络,都能够给出一个分类结果,这些结果中,有正确的,也有错误的。随着训练的进行,大多数半数网络都能给出正确的分类结果。这样一来,那些少数的错误分类结果对于最终结果就不会哦造成大的影响。而且dropout通过减少神经元之间复杂的共适应关系,从而也提高了模型的泛化能力

5、提前结束训练

也就是early stopping,在模型迭代训练时,对训练精度(损失)和验证精度(损失)进行记录,如果模型训练的效果不能够再提高,例如训练误差一直降低,但是验证误差却不再降低甚至上升的情况,我们可以采用结束模型训练的方法。

6、集成学习

集成学习算法也可以有效的减轻过拟合。Bagging通过平均多个模型的结果,来降低模型的方差。Boosting不仅能够减小偏差,还能减小方差。

数据分析咨询请扫描二维码

客服在线
立即咨询