过度拟合与欠拟合-理解偏差-方差权衡
过度拟合与欠拟合:理解偏差-方差权衡
在本文中,我们将深入探讨模型开发中最常见的两个陷阱:过度拟合和欠拟合。无论你是训练你的第一个模型还是调整你的第一百个模型,保持这些概念的控制是构建在实际世界中真正起作用的模型的关键。
过度拟合
什么是过度拟合?
过度拟合是数据科学模型中常见的问题。它发生在模型从训练数据中学习得太好时,这意味着它从特定于训练数据和噪声的模式中学习。因此,它无法根据未见过的数据进行良好的预测。
为什么过度拟合是一个问题?
-
性能不佳:模型无法很好地泛化。它在训练期间检测到的模式不适用于其余数据。你可能会觉得模型基于训练错误工作得很好,但实际上测试或现实世界的错误并不那么乐观。
-
高方差预测:模型性能不稳定,预测不可靠。对数据的微小调整会导致正在做出的预测的高方差。
-
训练复杂且昂贵的模型:在生产环境中训练和构建复杂模型是一项昂贵且资源密集型的工作。如果更简单的模型表现同样出色,那么使用它会更有效率。
-
丢失商业信任的风险:数据科学家在实验新模型时过于乐观,可能会向商业利益相关者过度承诺结果。如果过度拟合是在模型展示后才被发现,这可能会严重损害信誉,并使恢复对模型可靠性的信任变得困难。
如何识别过度拟合
-
交叉验证:在交叉验证过程中,输入数据被分成几个折叠(训练和测试数据的集合)。不同折叠的输入数据应该给出类似的测试错误结果。折叠之间性能的巨大差距可能表明模型不稳定或数据泄露,这两者都可能是过度拟合的症状。
-
跟踪训练、测试和泛化错误。模型部署时的错误(泛化错误)不应与您已经知道的错误有太大偏差。如果您想更进一步,可以考虑在部署的模型性能与验证集错误显著偏差时实施监控警报。
如何减轻/预防过度拟合
-
移除特征:过多的特征可能会“引导”模型过多,因此导致模型无法很好地泛化。
-
增加训练数据:提供更多学习例子,模型学会更好地泛化,并且对异常值和噪声的敏感性降低。
-
增加正则化:正则化技术通过惩罚已经膨胀的系数来协助。这保护模型不会过于紧密地拟合数据。
-
调整超参数:某些拟合过多的超参数可能会导致模型无法很好地泛化。
欠拟合
什么是欠拟合?
当模型的本质或特征过于简单,无法很好地捕捉潜在数据时,就会发生欠拟合。它也会导致在未见过的数据上预测不佳。
为什么欠拟合是问题?
-
性能差:模型在训练数据上的表现不佳,因此也在测试和真实世界数据上表现不佳。
-
高偏差的预测:模型无法做出可靠的预测。
如何识别欠拟合
-
训练和测试误差将会很差。
-
泛化误差将会很高,并且可能接近训练误差。
如何解决欠拟合问题
-
增强特征:引入新的特征,或添加更复杂的特征(例如:添加交互效应/多项式项/季节性项),这将捕捉潜在数据中的更复杂模式。
-
增加训练数据:提供更多学习例子,模型学会更好地泛化,并且对异常值和噪声的敏感性降低。
-
减少正则化强度:当应用过于强大的正则化技术时,特征变得过于均匀,模型不会优先考虑任何特征,阻止它学习重要模式。
-
调整超参数:一个本质上复杂的模型如果超参数设置不当,可能无法捕捉到所有复杂性。更加关注调整它们可能是有价值的(例如,向随机森林中添加更多树)。
-
如果所有其他选项都不能解决根本问题,那么丢弃模型并用一个能够捕捉数据中更复杂模式的模型替换它可能是值得的。
摘要
机器学习不是魔法,它是在过多和过少之间的平衡行为。过度拟合你的模型,它就会成为一个完美主义者,无法处理新情况。欠拟合它,它就会完全错过要点。
最好的模型存在于最佳区域:泛化良好,学习足够,但不过度。通过理解和管理过拟合和欠拟合,你不仅是在提高指标,你是在建立信任,降低风险,并创建超越训练集的解决方案。
资源
[1] medium.com/@SyedAbbasT/what-is-overfitting-underfitting-regularization-371b0afa1a2c
[2] 什么是过拟合

浙公网安备 33010602011771号