过拟合与欠拟合
刚开始学习神经网络的时候就接触到了过拟合和欠拟合的概念,包括各种提高模型泛化能力的方法。随着学习内容的增多,反而往往会忽视掉最初的理论
最近在训练目标检测算法时发现模型在训练集上能够得到很好的提高,但是在验证集上没有进步,这就是欠拟合的表现。小结一下关于过拟合与欠拟合的内容
过拟合与欠拟合
- 过拟合:多次迭代,模型在训练集上表现越来越好,在测试集上表现没有提高,或者越来越差
- 欠拟合:多次迭代,模型在训练集和测试集上都没有提高
其原因在于:
- 过拟合:模型学习能力过强,以至于将训练集单个样本自身的特点都能捕捉到,并将其认为是“一般规律”,同样这种情况也会导致模型泛化能力下降
- 欠拟合:模型学习能力较弱,而数据复杂度较高的情况出现,此时模型由于学习能力不足,无法学习到数据集中的“一般规律”,因而导致泛化能力弱
解决方案
对于过拟合:
- 正则化
- 增大数据
- 清洗数据
- 减少模型参数
对于欠拟合:
- 减少正则化参数
- 交叉验证
- 增加新特征
- 提高模型非线性能力