前言
这篇文章是关于调参中常遇到的欠拟合与过拟合问题,通过将四个概念: 偏差,方差,欠拟合,过拟合连接起来,能够更好的理解这个问题。 最后,针对该问题,我提出了几点建议。
泛化能力[1]
机器学习演算法的目的是使得我们的演算法能够在先前未预测的新输入上表现良好,而不只是在训练集上表现良好。 而这种在新数据上表现良好的能力被称为演算法的泛化能力。
简单来说, 如果说一个模型在测试集上表现的与训练集一样好,我们就说这个模型的泛化能力很好;如果模型在训练集上表现良好,但在测试集上表现一般,就说明这个模型的泛化能力不好。
从误差的角度来说,泛化能力差就是指的是测试误差比训练误差要大的情况,所以我们常常采用训练误差,测试误差来判断模型的拟合能力,这也是测试误差也常常被称为泛化误差的原因。
欠拟合与过拟合
我们在训练模型的时候有两个目标:
- 降低训练误差,寻找针对训练集最佳的拟合曲线。
- 缩小训练误差和测试误差的差距,增强模型的泛化能力。
这两大目标就对应机器学习中的两大问题: 欠拟合与过拟合。 具体来讲:
- 欠拟合是指模型在训练集与测试集上表现都不好的情况,此时,训练误差,测试误差都很大。
- 过拟合是指模型在训练集上表现良好,但在测试集上表现不好的情况,此时,训练误差很小,测试误差很大, 模型泛化能力不足。