什么是过拟合、欠拟合 overfitting、underfitting
理解1:
最下面天鹅的例子特别好,我再补充一个。
上学考试的时候,有的人采取题海战术,把每个题目都背下来。但是题目稍微一变,他就不会做了。因为他非常复杂的记住了每道题的做法,而没有抽象出通用的规则。
所以过拟合有两种原因:
- 训练集和测试机特征分布不一致(白天鹅黑天鹅)
- 或者模型太过复杂(记住了每道题)而样本量不足
解决过拟合也从这两方面下手,收集多样化的样本,简化模型,交叉检验。
最后配个图,看图最清楚了。
(反之第一个就是 underfitting 欠拟合 最后一个是过拟合,中间的结果才是有效的)

理解2:郑昆
考虑到越来越多的人看到这个答案,所以有必要说明一下,这里的“局部特征”和“全局特征”,是为了方便说明问题,临时取的说法,并不是机器学习里已有严格定义的概念,大家阅读时,将其用于辅助对于“过拟合”这一现象的理解便好,切勿将其用于正式场合下对相关理论研究的阐述中,也切勿将其当作一个正式的概念(评论区中有人指出,说成“训练集和测试集数据分布不一致”可能会更准确专业一些)。
————————————————————————–
原答案:其实不完全是噪声和假规律会造成过拟合。
(1)打个形象的比方,给一群天鹅让机器来学习天鹅的特征,经过训练后,知道了天鹅是有翅膀的,天鹅的嘴巴是长长的弯曲的,天鹅的脖子是长长的有点曲度,天鹅的整个体型像一个“2”且略大于鸭子.这时候你的机器已经基本能区别天鹅和其他动物了。
(2)然后,很不巧你的天鹅全是白色的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅.
(3)好,来分析一下上面这个例子:
(1)中的规律都是对的,所有的天鹅都有的特征,是全局特征;然而(2)中的规律:天鹅的羽毛是白的.这实际上并不是所有天鹅都有的特征,只是局部样本的特征。机器在学习全局特征的同时,又学习了局部特征,这才导致了不能识别黑天鹅的情况
————————————————–理论总结分割线—————————————-
(1)对于机器来说,在使用学习算法学习数据的特征的时候,样本数据的特征可以分为局部特征和全局特征,全局特征就是任何你想学习的那个概念所对应的数据都具备的特征,而局部特征则是你用来训练机器的样本里头的数据专有的特征.
(2)在学习算法的作用下,机器在学习过程中是无法区别局部特征和全局特征的,于是机器在完成学习后,除了学习到了数据的全局特征,也可能习得一部分局部特征,而习得的局部特征比重越多,那么新样本中不具有这些局部特征但具有所有全局特征的样本也越多,于是机器无法正确识别符合概念定义的“正确”样本的几率也会上升,也就是所谓的“泛化性”变差,这是过拟合会造成的最大问题.
(3)所谓过拟合,就是指把学习进行的太彻底,把样本数据的所有特征几乎都习得了,于是机器学到了过多的局部特征,过多的由于噪声带来的假特征,造成模型的“泛化性”和识别正确率几乎达到谷点,于是你用你的机器识别新的样本的时候会发现就没几个是正确识别的.
(4)解决过拟合的方法,其基本原理就是限制机器的学习,使机器学习特征时学得不那么彻底,因此这样就可以降低机器学到局部特征和错误特征的几率,使得识别正确率得到优化.
(5)从上面的分析可以看出,要防止过拟合,训练数据的选取也是很关键的,良好的训练数据本身的局部特征应尽可能少,噪声也尽可能小.
理解3:
如果给出上图的6个点, 该如何选择上图曲线才能更好的反映实际的数据情况?
红色: 直线, 可以表示一定的数据, 但会造成大量数据丢失, 产生数据无法代表实际情况, 叫做underfitting。
蓝色:一元四次方程, 可以表达数据中所有的点, 但过于复杂,并且无法达到真实的数据预测, 最下面一个点可能是较大的人为误差,或则记录数据错误, 并不能反映真实的数据模型, 叫做overfitting。
绿色:虽然无法代表模型数据中的所有点, 但介于红色和蓝色之间, 可以更好的表达模型。实际中数据的获取可能有noise, 这样可以消除noise, 并能够避免模型太过复杂。noise是指在测量数据时, 比如读取温度计的温度, 测量的距离, 秒表测量时间都无法避免的误差。
总结于 https://www.zhihu.com/question/32246256