Loading...
墨滴

algolearn

2021/10/27  阅读:27  主题:默认主题

过拟合与欠拟合

1 过拟合与欠拟合

机器学习中一个重要的话题便是模型的泛化能力,泛化能力强的模型才是好模型,对于训练好的模型,若在训练集表现差,不必说在测试集表现同样会很差,这可能是欠拟合导致;若模型在训练集表现非常好,却在测试集上差强人意,则这便是过拟合导致的,过拟合与欠拟合也可以用 Bias 与 Variance 的角度来解释,欠拟合会导致高 Bias ,过拟合会导致高 Variance ,所以模型需要在 Bias 与 Variance 之间做出一个权衡。

使用简单的模型去拟合复杂数据时,会导致模型很难拟合数据的真实分布,这时模型便欠拟合了,或者说有很大的 Bias,Bias 即为模型的期望输出与其真实输出之间的差异;有时为了得到比较精确的模型而过度拟合训练数据,或者模型复杂度过高时,可能连训练数据的噪音也拟合了,导致模型在训练集上效果非常好,但泛化性能却很差,这时模型便过拟合了,或者说有很大的 Variance,这时模型在不同训练集上得到的模型波动比较大,Variance 刻画了不同训练集得到的模型的输出与这些模型期望输出的差异。

2 欠拟合解决

1、增加新特征,可以考虑加入特征组合、高次特征,来增大假设空间;

2、尝试非线性模型,比如核SVM 、决策树、DNN等模型;

3、如果有正则项可以较小正则项参数 ;

4、Boosting 往往会有较小的 Bias,比如 Gradient Boosting 等

3 过拟合解决

1、交叉检验,通过交叉检验得到较优的模型参数;

2、特征选择,减少特征数或使用较少的特征组合,对于按区间离散化的特征,增大划分的区间;

3、正则化,常用的有 L1、L2 正则。而且 L1正则还可以自动进行特征选择;

4、如果有正则项则可以考虑增大正则项参数 ;

5、增加训练数据可以有限的避免过拟合;

6、Bagging ,将多个弱学习器Bagging 一下效果会好很多,比如随机森林等.

7、早停策略。本质上是交叉验证策略,选择合适的训练次数,避免训练的网络过度拟合训练数据。

8、DropOut策略。

欢迎关注微信公众号(算法工程师面试那些事儿),本公众号聚焦于算法工程师面试,期待和大家一起刷leecode,刷机器学习、深度学习面试题等,共勉~

算法工程师面试那些事儿
算法工程师面试那些事儿

algolearn

2021/10/27  阅读:27  主题:默认主题

作者介绍

algolearn