过拟合的含义、出现原因及解决方案

含义

在训练数据上模型表现良好,但是在测试集上不能很好拟合数据。

出现原因

对于数据挖掘模型:

1、建模时的样本抽取错误:训练数据少,抽样方法错误,抽样时没有足够正确考虑业务场景或业务特点,等等导致抽出的样本数据不能有效足够代表业务逻辑或业务场景;
2、建模时的“逻辑假设”到了模型应用时已经不能成立了:任何预测模型都是在假设的基础上才可以搭建和应用的,常用的假设包括:假设业务环节没有发生显著变化,假设建模数据与后来的应用数据的分布是相似的,等等。如果上述假设违反了业务场景的话,根据这些假设搭建的模型当然是无法有效应用的。
3、样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;
4、决策树模型没有合理的限制和修剪:如果我们对于决策树的生长没有合理的限制和修剪的话,决策树的自由生长有可能每片叶子里只包含单纯的事件数据(event)或非事件数据(no event),可以想象,这种决策树当然可以完美匹配(拟合)训练数据,但是一旦应用到新的业务真实数据时,效果是一塌糊涂。
5、参数太多、模型复杂度高

对于深度学习模型:

1、训练数据少
2、模型训练过度,拟合了训练数据中的噪声和训练样例中没有代表性的特征.
3、训练数据和测试数据分布不一致

解决方案

对于数据挖掘模型:

1、增加样本的全面性和数量
2、特征工程,根据业务多多提取特征,当然也不是特征越多越好,要提的准
3、正则化
4、交叉验证 【机器学习】Cross-Validation(交叉验证)详解
5、对模型进行剪枝
6、控制模型的复杂度;
7、模型融合本质上也是一种提高泛化能力的方法

对于深度学习模型:

1、加数据
2、改数据:有些训练数据是造的假数据,将训练数据换成真实数据
3、加正则化
4、用bn层
5、加dropout
6、不要过度训练

参考:
过拟合(原因、解决方案、原理)

猜你喜欢

转载自blog.csdn.net/u011208984/article/details/111509437