过拟合问题?出现原因?怎么解决?

简介: 过拟合问题为了得到一致假设而使假设变得过度复杂称为过拟合(overfitting),过拟合表现在训练好的模型在训练集上效果很好,但是在测试集上效果差。

过拟合问题


  • 为了得到一致假设而使假设变得过度复杂称为过拟合(overfitting),过拟合表现在训练好的模型在训练集上效果很好,但是在测试集上效果差。

出现原因?


  • 训练集的数量级和模型的复杂度不匹配。训练集的数量要小于模型的复杂度;
  • 训练集和测试集特征分布不一致;
  • 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;
  • 权值学习迭代次数足够多(overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

怎么解决?


  1. 数据集扩增(Data Augmentation)


  1. 增加训练数据样本。训练集越多,过拟合的概率越小。


  1. 数据处理-清洗数据


  1. 丢弃一些不能帮助正确预测的特性。纠正错误的label,或者删除错误数据。


  1. dropout方法


  1. 通过修改隐藏层神经元的个数来防止过拟合。


  1. early stepping


  1. 是一种迭代次数截断的方法来防止过拟合。即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合。


  1. 正则化(Regularization) :L1和L2


  1. 保留所有特性,但是减少参数的大小。


  1. L1和L2是正则化项,又叫做罚项,是为了限制模型的参数,防止模型过拟合而加载损失函数后面的一项。

拓展


在 MLlib 中,标准的最小二乘回归不使用正则化。正则化是用于解决过拟合问题的。但是应

用到错误预测值的损失函数会将错误做平方,从而放大损失。这也意味着最小二乘回归对数据中的异常点和过拟合非常敏感。因此对于分类器,我们通常在实际中必须应用一定程度的正则化。

  • 线性回归在应用 L2 正则化时通常称为岭回归( ridge regression ),应用 L1 正则化时称为 lasso( least absolute shrinkage and selection operator )。


  • 当数据集不大或样本很少时,模型过拟合的可能性很大。因此,十分建议使用如 L1 、 L2 或elastic net regularization 这样的正则表达式。


目录
相关文章
|
14天前
|
机器学习/深度学习 算法
【机器学习】过拟合和欠拟合怎么判断,如何解决?(面试回答)
本文介绍了如何通过观察训练误差和验证误差来判断模型是否出现过拟合或欠拟合,并提供了相应的解决方案,包括增加数据、调整模型复杂度、使用正则化技术等。
35 1
|
5天前
预训练模型STAR问题之缓解灾难性遗忘的问题如何解决
预训练模型STAR问题之缓解灾难性遗忘的问题如何解决
|
14天前
|
机器学习/深度学习
|
5天前
|
自然语言处理
预训练模型STAR问题之生成重放灾难性遗忘的问题如何解决
预训练模型STAR问题之生成重放灾难性遗忘的问题如何解决
|
3月前
|
机器学习/深度学习 人工智能 测试技术
【机器学习】R-squared系数有什么缺点?如何解决?
【5月更文挑战第20天】【机器学习】R-squared系数有什么缺点?如何解决?
|
3月前
|
机器学习/深度学习 数据采集 算法
|
3月前
|
机器学习/深度学习 算法
什么是偏拟合和什么是过拟合,解决方法是什么
什么是偏拟合和什么是过拟合,解决方法是什么
33 0
|
算法
线性回归模型异方差解决方法
线性回归模型异方差解决方法
395 0
|
机器学习/深度学习 算法
怎样处理过拟合和欠拟合?
怎样处理过拟合和欠拟合?
|
机器学习/深度学习 人工智能 数据可视化
【Pytorch神经网络理论篇】 14 过拟合问题的优化技巧(一):基本概念+正则化+数据增大
【Pytorch神经网络理论篇】 14 过拟合问题的优化技巧(一):基本概念+正则化+数据增大
429 0