过拟合与欠拟合
通AI之路 2024-09-05 15:31:03 阅读 97
一,什么是过拟合和欠拟合
打个比方,一个小学生学习数学,刚开始可能什么也不会,慢慢开始学。对于学习较慢的同学,练习题都还没学懂就考试了,结果当然没考好。对于学习能力非常强的同学,才刚开始,所有的题都做会了,之后没事干,天天重复看以前做过的题,最后导致看到原题不用算就能背出答案,由于天天看原来的题,导致思维固化,原题稍微一改就想不出解决方法了。
上面这个例子就深度阐述了过拟合和欠拟合的关系,即
欠拟合:该学的没学会,要做的没做对。(训练集和测试集表现都不好)
过拟合:学的太猛,思维固化,只会做过的。(训练集表现很好,测试集表现不好)
两者的共同点是: 要做的做不对,即在测试集上表现不佳(如果表现好就不是问题了,就变成方法了)
二,过拟合出现的原因以及解决方法
1. 训练时间太久 -> 减少训练时间
2. 数据质量很差。
一个是数据噪声大,一个有错误数据,一个是数据类型单一。 需要进行数据清洗或增加数据。
可能会过度捕捉数据的细节,导致过拟合。
3. 模型太大太复杂。
比如用GPT-3.5来学习论语,那就太小题大作了。数据集的大小应该与模型的大小相匹配。
方法:
4. Dropout。
随机丢弃一些参数不用去训练,这可以理解成一种特殊的集成学习,即每批数据都对应不同的一组参数,这组参数可以认为是一个子网络,每批数据都有一个子网络来进行学习,这样可以让不同的神经元不是很依赖其他的神经元,能够去学到更加鲁棒的特征表示。
5. 集成学习方法bagging。
通过用多个模型去学习数据,从而学习到不同方面的特征,来提高泛化能力,减小方差,降低过拟合的风险。
6. 交叉验证,如K折交叉验证。
通过循环学习,能够防止对特定的数据集过度拟合。
三,欠拟合出现的原因及解决方法
1. 训练时间太短 -> 加长训练时间
2. 模型太简单学不会 -> 模型变大,变深
3. 数据质量。
数据噪声过多,有错误。
可能会因噪声多无法捕捉数据的潜在特征,包括被噪声覆盖的特征。
4. 集成学习方法boosting。
通过顺序学习,能够尽可能的降低偏差,从而降低欠拟合的风险。
四,误差的推导,方差,偏差
其中消去的交叉项, 交叉项三项之间认为是独立的,那么E[XY] = E[X]E[Y], 其中
可得到最后三个交叉项消除
参考链接
欠拟合的原因以及解决办法(深度学习)_欠拟合的原因及解决办法-CSDN博客
dwnlpinterview/BasicAlgorithm/过拟合和欠拟合.md at main · hrwleo/dwnlpinterview (github.com)
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。