来自:https://www.zhihu.com/question/32246256

其实不完全是噪声和假规律会造成过拟合。

(1)打个形象的比方,给一群天鹅让机器来学习天鹅的特征,经过训练后,知道了天鹅是有翅膀的,天鹅的嘴巴是长长的弯曲的,天鹅的脖子是长长的有点曲度,天鹅的整个体型像一个“2”且略大于鸭子.这时候你的机器已经基本能区别天鹅和其他动物了。

(2)然后,很不巧你的天鹅全是白色的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅.

(3)好,来分析一下上面这个例子:(1)中的规律都是对的,所有的天鹅都有的特征,是全局特征【这里的全局特征不是机器学习中的严格定义的全局特征,而是为了便于理解;下面的局部特征也一样道理。】;然而,(2)中的规律:天鹅的羽毛是白的.这实际上并不是所有天鹅都有的特征,只是局部样本的特征。机器在学习全局特征的同时,又学习了局部特征,这才导致了不能识别黑天鹅的情况.

--------------------------------------------------理论总结分割线----------------------------------------

(1)对于机器来说,在使用学习算法学习数据的特征的时候,样本数据的特征可以分为局部特征和全局特征,全局特征就是任何你想学习的那个概念所对应的数据都具备的特征,而局部特征则是你用来训练机器的样本里头的数据专有的特征.

(2)在学习算法的作用下,机器在学习过程中是无法区别局部特征和全局特征的,于是机器在完成学习后,除了学习到了数据的全局特征,也可能习得一部分局部特征,而习得的局部特征比重越多,那么新样本中不具有这些局部特征但具有所有全局特征的样本也越多,于是机器无法正确识别符合概念定义的“正确”样本的几率也会上升,也就是所谓的“泛化性”变差,这是过拟合会造成的最大问题.

(3)所谓过拟合,就是指把学习进行的太彻底,把样本数据的所有特征几乎都习得了,于是机器学到了过多的局部特征,过多的由于噪声带来的假特征,造成模型的“泛化性”和识别正确率几乎达到谷点,于是你用你的机器识别新的样本的时候会发现就没几个是正确识别的.

(4)解决过拟合的方法,其基本原理就是限制机器的学习,使机器学习特征时学得不那么彻底,因此这样就可以降低机器学到局部特征和错误特征的几率,使得识别正确率得到优化.

(5)从上面的分析可以看出,要防止过拟合,训练数据的选取也是很关键的,良好的训练数据本身的局部特征应尽可能少,噪声也尽可能小.

-----------------------------------------------------------------------------------------------------------

再补充一个。

上学考试的时候,有的人采取题海战术,把每个题目都背下来。但是题目稍微一变,他就不会做了。因为他非常复杂的记住了每道题的做法,而没有抽象出通用的规则。

所以过拟合有两种原因:

  1. 训练集和测试机特征分布不一致(白天鹅黑天鹅)
  2. 或者模型太过复杂(记住了每道题)而样本量不足

解决过拟合也从这两方面下手,收集多样化的样本,简化模型,交叉检验。

overfitting过拟合-LMLPHP

--------------------------------------------------------------------------------------------------------

好比你想学习追妹子。
先找你表妹问喜欢什么,表妹说她喜欢干净帅气的男生,还说她喜欢周杰伦,喜欢火锅,喜欢酸菜鱼,合计一百条规矩。你规规矩矩地按照要求学习,终于符合表妹的一切要求,0 Error,训练完成,超级自信准备出去试试追个妹子。
可是换了个妹子,发现学到的似乎没想象中有用。第二个妹子只要你干净帅气。后面的九十八条她都不care,她甚至讨厌吃火锅,那后面98条只会增加误差。这就过拟合了。

怎么防止过拟合呢?应该用cross validation,交叉比对。
解释起来就是,你在你表妹那儿学到的东西,在你表姐那儿测试一下对不对。在你表姐那儿学到的,在你二姐那测试一下。来来回回用不同的测试对象和训练对象做交叉比对。这样学到规律就不会过拟合啦~

---------------------------------------------------------------------------------------------------------

我们观测到的结果,可以理解为是“真相”(普遍具有的属性)和“噪声”(输入样本具有的、不普遍的属性)叠加而成的。
Overfitting是将部分噪声当作真相,而underfitting则是将部分真相当作噪声。

---------------------------------------------------------------------------------------------------------

总结:overfitting就是一个人从当前所见所得,总结出太多没有用的道理,学傻了。

过拟合就是没有从带干扰的观察中找到事物真正的规律,而且是想复杂了的那种情况。貌似这句话不够通俗易懂啊。再简单点,我们所看到的世界都是受到干扰的,当我们试图描绘干扰背后的真实世界的时候,却不小心把干扰也一起搅和进去了,这就是overfitting.

也就是说,过拟合是考虑了所有的因素,而忽视了这些因素中很多可能是噪声。

过拟合:明明就这么几颗星星,非要说这是一匹马的样子……

04-29 03:55