过拟合
过拟合的表现
模型在训练集上的表现非常好,但是在测试集、验证集以及新数据上的表现很差,损失曲线呈现一种高方差状态。(高方差指的是训练集误差较低,而测试集误差比训练集大较多)
过拟合的原因
从两个角度去分析:
- 模型的复杂度:模型过于复杂,把噪声数据的特征也学习到模型中,导致模型泛化性能下降
- 数据集规模大小:数据集规模相对模型复杂度来说太小,使得模型过度挖掘数据集中的特征,把一些不具有代表性的特征也学习到了模型中。
过拟合的解决方法
-
获得更多的训练数据:使用更多的训练数据是解决过拟合问题最有效的手段,因为更多的样本能够让模型学习到更多更有效的特征,减少噪声的影响。
① 数据增强:平移、旋转、裁剪、mosaic、cutmix (# TODO...)
② GAN:生成数据
③迁移学习:用在其他任务上训练好的模型进行微调,如COCO预训练->UADetrac微调 -
降低模型复杂度:在深度学习中我们可以减少网络模块的堆叠深度,改用参数量更少的模型;在机器学习的决策树模型中可以降低树的高度、进行剪枝等。
-
正则化方法:为什么正则化可以减轻过拟合这个问题可以看看