什么是机器学习模型的过拟合?

欢迎关注数据超市微信公众号

过拟合简单来说就是训练出来的模型在训练集上表现很好,但是在测试集上表现较差的一种现象!

从模型选择的层面来说,我们的模型在拟合数据的过程,其实就是在模型的假设空间不断选择合适参数(包括参数个数和参数值)的过程,如果假设空间存在“真模型”,那么所选择的模型应该逼近真模型。具体地,所选择的模型要与真模型的参数个数相同,所选择的模型参数向量与真模型的参数向量相近。但是如果一味的追求提高对训练数据的预测能力,所选模型的复杂度往往会比真实模型更高,这种现象称为过拟合。

上图分别对机器学习中的回归模型和分类模型这种模型的过拟合现象做了一个图形化的解释。其中上下两行图形中最右的两张图都代表了过度拟合。中间的两张图代表了模型对数据拟合的刚刚好,最左边两个图代表了模型的拟合能力比较差,属于欠拟合的范畴。

好,我们再从理论层面上再总结下为什么会产生过拟合?如何避免过拟合?

1

为什么会产生过拟合

1)样本数据的问题:

A. 样本数量太少,数据不规范。

B. 抽样方法错误,抽出的样本数据不能有效足够代表业务逻辑或业务场景。比如样本符合正态分布,却按均分分布抽样,或者样本数据不能代表整体数据的分布。

C. 样本里的噪音数据干扰过大。

2)模型问题:

A. 模型复杂度高 、参数太多。

B. 决策树模型没有剪枝。

C.权值学习迭代次数足够多(即过训练,Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

2

解决方案

1) 样本数据方面:将数据规范化,处理缺失值,增加样本数据量,清洗适当的噪声数据 ,样本特征降维,抽样方法符合业务场景。

2)模型方面:

控制模型复杂度,优先选择简单的模型,或者用模型融合技术。采用stacking或blending方式。

利用先验知识,添加正则项,控制模型复杂程度。L1正则更加容易产生稀疏解、L2正则倾向于让参数w趋向于0。

earlystoping,减少迭代次数,也即不要过度训练,最优化求解时,收敛之前停止迭代。

决策树相关模型减少树的深度,注意剪枝。

学习率调大/小点,防止陷入局部最小值。

或许上面总结了这么多,有些过于理论化,你可能还是没看懂。

这里举个小例子:比如你在读书的时候每次班级测验总是得分很高,但一到期末考试,出的题型和测验的题目不一致,就考的非常不理想,甚至是不及格。这就说明你对平时学的知识,老师出的题过拟合了~~

如果还是不懂,别急,这里还有知乎大神疯癫的A兵者在什么是过拟合问题下的图片回答。

Data

Normal fitting

overfitting

serious overfitting

END

科学研究是希望发现这个世界的奥秘

而数据就是这个世界的底牌

-- 数 据 超 市 --

http://BigData711.com/

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180122A02F6P00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励