- 一类是模型无法得到较低的训练误差,我们将这一现象称作欠拟合
- 一类是模型的训练误差远小于它在测试数据集上的误差,我们称该现象为过拟合,(把噪声也拟合了)
影响因素之一:训练数据集大小
影响欠拟合和过拟合的另一个重要因素是训练数据集的大小。一般来说,如果训练数据集中样本数过少,特别是比模型参数数量(按元素计)更少时,过拟合更容易发生。此外,泛化误差不会随训练数据集里样本数量增加而增大。因此,在计算资源允许的范围之内,我们通常希望训练数据集大一些,特别是在模型复杂度较高时,例如层数较多的深度学习模型。
过拟合解决方案:
(若在训练集表现非常好,在测试集表现很差,这可能是过拟合导致)
增加数据;
正则化;(yolo给loss加正则化项)
- 保留所有特征值,但是减小参数θ_j的值或数量级。
- 当我们有许多特征时,效果较好。其中每一个特征值都会对y造成影响
- weight_decay,降低超参数即为降低网络复杂度
减少特征维度;
- 人工选择哪些特征需要保留。
- 使用模型选择算法。
优化超参数;
降低模型复杂度;(可以选相对小的模型)
用Bagging方法
欠拟合解决方案:
(机器学习中一个重要的话题便是模型的泛化能力,泛化能力强的模型才是好模型,对于训练好的模型,若在训练集表现差,在测试集表现同样会很差,这可能是欠拟合导致, 这是泛化能力太强, 训练集上和测试集上误识别比较高.)
尝试更复杂模型,如二次函数拟合不够,用三次函数拟合;
用更多特征,features;(增加样本数量和训练次数)
优化参数
用boosting方法
降低正则化