经验误差与过拟合

概念:

  • 在分类问题中,我们把分类错误的样本数占样本总数的比例成为“错误率”(error rate)。
  • 相对应的 1-(error rate)称为”精度“(accuracy)。
  • 我们把分类器/学习器的预测输出与样本的真实输出之间的差异称为”误差“(error),在训练集(training set)上的误差称为“训练误差”(training error)或者叫做”经验误差“(empirical error),在新的样本(我的理解是学习器在训练没有见过的样本)的误差称为”泛化误差“,显然我们是希望获得泛化误差比较小的学习器。
  • 我们往往能够在训练集中能获得精度非常高的结果,但是往往拿到测试集上进行测试的时候发现精度远远低于在训练集中的效果。通俗点理解,我们让它在训练集上训练得“太好了”,以致它过度“自信”,把训练集中的一些比较隐藏的特征特当作了整个数据集中普遍存在的特征。举个例子,就好比给用树叶去学习,恰好训练集的树叶都是有锯齿的,因此当它在训练集上训练得非常好的时候就会认为所以的叶子应该具有锯齿,拿到测试集上的时候它发现有些叶子并没有锯齿,它就非常果断地认为这些不是叶子。这样子就导致了模型的泛化性能下降,这一种现象在MachineLearning中成为”过拟合“.
  • 和过拟合恰恰相反,当模型并没有对训练样本中的一般性质学习好的时候,进而在训练集中泛化性能低下的现象称为”欠拟合“”,可以理解为我们平时所说的学渣。(比如我咯ˊ_>ˋ)

分析:

有多种原因会导致过拟合的现象。

  • 其中比较常见的情况就是学习能力过于强大,把一些不具有一般性的性质也给学习进去了。往往过拟合比较棘手难以解决
  • 欠拟合则通常是学习能力比较差导致的,欠拟合往往比较容易解决,比如在神经网络中增加每层神经元的数量或者层数,或者增加学习器的训练迭代次数。