文章目录

  1. 1. 欠拟合
  2. 2. 过拟合
  3. 3. 如何发现欠拟合和过拟合问题
  4. 4. 如何解决欠拟合和过拟合问题
    1. 4.1. 避免欠拟合
    2. 4.2. 避免过拟合
  5. 5. 参考资料


微信公众号

阅读完《TensorFlow 学习摘要(三) 深度学习 - 手写数字识别入门 - MNIST机器学习》,我们现在来了解一些核心概念与优化方案。这篇文章,我们接着来梳理下欠拟合和过拟合

在这张图中,第一个情况,使用一条直线来作为模型,很明显无论如何调整起始点和斜率都不可能很好的拟合给定的训练样例,这种情况就是欠拟合。而第三个情况,使用了高阶的多项式,过于完美的拟合了训练样例,当给出新数据时,很可能会产生较大误差。而中间的模型则刚刚好,既较完美的拟合训练样例,又不过于复杂。

欠拟合

欠拟合,指的是模型在训练和预测时,表现都不好的情况。欠拟合通常不被讨论,因为给定一个评估模型表现的指标的情况下,欠拟合很容易被发现。

过拟合

过拟合,在训练数据上表现良好,但在未知数据上表现差。事实上,当某个模型过度的学习训练数据中的细节和噪音,以至于模型在新的数据上表现很差,我们称过拟合发生了。这意味着训练数据中的噪音或者随机波动也被当做概念被模型学习了。而问题就在于这些概念不适用于新的数据,从而导致模型泛化性能的变差。

如何发现欠拟合和过拟合问题

这里,我们需要提到偏差方差

偏差,描述的是预测值的期望与真实值之间的差距。偏差越大,越偏离真实数据。

方差,描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。

一般情况下,我们可以通过偏差方差发现欠拟合和过拟合问题。如果偏差大,就发生欠拟合了。如果方差大,很可能出现了过拟合。

如何解决欠拟合和过拟合问题

避免欠拟合

欠拟合问题,根本的原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大。因此,避免欠拟合,可以寻找更好的特征或增多数据特征数。

避免过拟合

过拟合问题,根本的原因则是特征维度过多,导致拟合的函数完美的经过训练集,但是对新数据的预测结果则较差。因此,避免过拟合,可以减少数据特征,或通过正则化方法。

参考资料

文章目录

  1. 1. 欠拟合
  2. 2. 过拟合
  3. 3. 如何发现欠拟合和过拟合问题
  4. 4. 如何解决欠拟合和过拟合问题
    1. 4.1. 避免欠拟合
    2. 4.2. 避免过拟合
  5. 5. 参考资料