过拟合、欠拟合、高方差、高偏差
过拟合:在训练数据上表现良好,在未知数据上预测时表现差。太过于刻画细节,泛化能力差。
欠拟合:在训练数据和未知数据上表现都很差。模型没有很好地捕捉到数据特征,不能够很好地拟合数据。
过拟合会出现高方差问题(预测的稳定性差,波动大)
欠拟合会出现高偏差问题(偏离正确结果更远)
过拟合:
产生过拟合的原因:
(1) 模型的复杂度太高。比如:网路太深
(2)过多的变数(特征)
(3)训练数据非常少。
解决方法:
(1)尽量减少特征的数量(特征选择)
(2)early stopping
(3)数据集扩增
「有时候不是因为演算法好赢了,而是因为拥有更多的数据才赢了。」
(4)dropout
在训练开始时,我们随机地「删除」0.2--0.5的隐层单元,视它们为不存在,经过多次迭代, 直至训练结束,每次都删除0.2--0.5的隐层单元。
(5)正则化包括L1、L2
正则化会保留所有的特征变数,但是会减小特征变数的数量级。正则化就是使用惩罚项,通过惩罚项,我们可以将一些参数的值变小。通常参数值越小,对应的函数也就越光滑,也就是更加简单的函数,因此不容易发生过拟合问题。
(6)清洗数据。
欠拟合:
产生欠拟合的原因:
因为模型不够复杂而无法捕捉数据基本关系,导致模型错误的表示数据。
解决办法:
1)添加其他特征项
2)添加多项式特征
例如将线性模型通过添加二次项或者三次项使模型泛化能力更强
3)减少正则化参数
正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。
方差:
Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。反应预测的波动情况。
偏差:
Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即演算法本身的拟合能力
推荐阅读: