机器学习基础--过拟合和欠拟合

过拟合和欠拟合

  1)欠拟合:机器学习模型无法得到较低训练误差。
  2)过拟合:机器学习模型的训练误差远小于其在测试数据集上的误差。

  我们要尽可能同时避免欠拟合和过拟合的出现。虽然有很多因素可能导致这两种拟合问题,在这里我们重点讨论两个因素:模型的选择和训练数据集的大小。

1)模型选择

  拿多项式函数举例,一般来说,高阶多项式函数(拟合能力较强)比低阶多项式函数(拟合能力较弱)更容易在相同的训练数据集上得到较低的训练误差。需要指出的是,给定数据集,过低拟合能力的模型更容易欠拟合,而过高拟合能力的模型更容易过拟合。
  模型拟合能力和误差之间的关系如下图:
机器学习基础--过拟合和欠拟合

2)训练数据集的大小

  一般来说,如果训练数据集过小,特别是比模型参数数量更小时,过拟合更容易发生。除此之外,泛化误差不会随训练数据集里样本数量增加而增大。
机器学习基础--过拟合和欠拟合

通俗解释

  1)学渣:模型复杂度低(笨人),训练量小(不努力),训练误差大,泛化误差大,(训练集表现不好,测试集表现也不好,严重欠拟合)
  2)学痞:模型复杂度高(聪明人),训练量小(不努力),训练误差小,泛化误差大,(训练集表现好,测试集表现不好,有些过拟合)
  3)学痴:模型复杂度较低(笨人),训练量大(努力),训练误差大,泛化误差大,(训练集表现一般,测试集表现也一般,这种应该属于欠拟合,太笨)
  4)学霸:模型复杂度较高(聪明人),训练量大(努力),训练误差小,泛化误差小,(模型复杂度和训练量结合的很好,既不欠拟合,也不过拟合)

结论

  训练误差的降低并不一定意味着泛化误差的降低。欠拟合和过拟合都是需要尽量避免的。我们要注意模型的选择和训练量的大小。