过拟合在表现上是:低偏差 高方差 在训练集上的偏差低 在测试集上的偏差比较高
引起过拟合的原因:
1.从模型的复杂度来说:
①模型过于复杂
②数据比较少,导致模型学习的过程中,只学习到了很少的数据构成的模型,导致模型学简单了,不能在测试集上有很好的表现
2.从数据的的角度来说
①数据中的噪声比较多,使得模型学到的很复杂(模型本身就来拟合数据,但是有噪声,使得数据的规律性大大降低,只能用更复杂的模型来学习,来达到训练集中较低的偏差),从而导致过拟合
②训练集和测试集的数据分布不同,这样就很容易导致过拟合(模型学习的是训练集的分布,然后用来预测不同分布的测试集,肯定不准)
那么如何分析出过拟合是因为 数据不足 还是 模型复杂度不够呢?
控制变量法!!!!(我猜的)
关于样本数量,可以绘制学习曲线,可以逐步增加数据,如果最终的学习曲线并没有收敛,说明数据的量是有问题的
当模型复杂度比较大,从而造成过拟合
欠拟合的学习曲线