过拟合与欠拟合的原因以及解决方案
作者:我执
链接:https://zhuanlan.zhihu.com/p/271727854
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://zhuanlan.zhihu.com/p/271727854
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
有哪些原因会导致过拟合?
数据层面
- 训练集和测试集的数据分布不一致
- 训练数据集太少,样本单一,模型无法从中学到泛化的规则
- 训练集中的噪音太多,导致模型过分记住了噪音特征
模型层面
- 模型过于复杂,换句话说就是模型把这些数据“死记硬背”了下来,而不是学到了泛化规则。
过拟合如何解决?
数据层面
- 增加数据的量,或者增加数据的多样性,让模型学到更有效的特征。
模型层面
- 降低模型的复杂度,把模型变得更简单。如决策树的剪枝算法、神经网络中的L2/L1正则化等。
训练层面
- 使用验证集,当验证集发生过拟合现象时及早停止模型。
- 在训练过程中使用正则化技术,如神经网络中的Dropout、L2、L1正则化等。
模型融合
- 把多个模型集成在一起,降低模型过拟合的风险,如Bagging方法。
有哪些原因会导致欠拟合?
欠拟合一般是模型表达能力不够或者说数据有问题,导致无法从数据中学到有效的特征与规则。
数据层面
- 数据特征表达能力不强或者现有特征与标签之间的相关性不强。
模型层面
- 假设的模型太简单,导致无论怎么学习都无法学到有效的信息,即模型“先天不足”。
- 模型合适,但是没有训练好,即模型还没有训练到收敛的情况。
解决欠拟合的常见方法有哪些?
- 添加新的数据特征
- 增加模型复杂度,假设一个更复杂的空间
- 减小正则化系数
- 增加模型训练时间,直到模型收敛为止
作者:你的雷哥
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。