过拟合:在训练数据上表现良好,在未知数据上预测时表现差。太过于刻画细节,泛化能力差。

欠拟合:在训练数据和未知数据上表现都很差。模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

过拟合会出现高方差问题(预测的稳定性差,波动大)

欠拟合会出现高偏差问题(偏离正确结果更远)

过拟合:

产生过拟合的原因:

(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反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即演算法本身的拟合能力


推荐阅读:
相关文章