偏差-方差权衡是什么?模型太简单和太复杂之间的平衡
偏差-方差权衡(Bias-variance Tradeoff)是机器学习中的一个核心概念,它描述了模型的复杂程度与预测误差之间的关系:模型的预测误差主要来自偏差和方差两个方面,而降低其中一个,往往会导致另一个上升,因此需要在两者之间找到一个平衡点。
什么是偏差和方差
可以用射箭来打个比方。假设一个射手射了很多支箭:偏差描述的是箭的平均落点离靶心有多远,偏差大说明射手的瞄准系统本身有问题,总是偏向某一侧;方差描述的是箭与箭之间散得有多开,方差大说明射手的手不稳,每一箭都落在不同的地方。最理想的情况是箭都密集地落在靶心附近,也就是偏差和方差都小。
在机器学习中,偏差是指模型的预测与真实规律之间的系统性差距,它来自模型的假设过于简单,无法捕捉数据中真实的规律。比如真实的关系是一条曲线,却用一条直线去拟合,无论有多少数据,都拟合不好。方差是指模型对训练数据的变化有多敏感:如果换一批训练数据,模型的预测会不会发生很大的变化。方差大的模型过于复杂,不仅学到了数据中的规律,还把数据中偶然的噪声也当成了规律记住了。
欠拟合和过拟合
高偏差对应欠拟合:模型太简单,在训练数据上的表现就不好,在新数据上的表现也不好。就像一个学生只学了皮毛,平时的练习题和考试都做不好。高方差对应过拟合:模型太复杂,在训练数据上表现得非常好,甚至能完美地记住每一个样本,但在新数据上的表现却很差。就像一个学生只会死记硬背练习题的答案,练习题做得全对,题目稍微一变就不会了。
为什么是“权衡”
一般来说,随着模型变得越来越复杂,比如增加更多的参数、使用更高次的多项式、让决策树更深,偏差会逐渐下降,因为模型有能力拟合更复杂的规律;但方差会逐渐上升,因为模型越来越容易受到训练数据中噪声的影响。模型的总误差可以分解为偏差的平方、方差和不可避免的噪声三部分之和。因此,总误差随模型复杂度的变化通常呈现一条 U 形曲线:太简单和太复杂都不好,最佳的模型复杂度在中间的某个位置。
如何应对
降低偏差:使用更复杂的模型,增加更多有用的特征,减少正则化的强度。降低方差:收集更多的训练数据;使用正则化,比如 L1、L2 正则化和 Dropout,限制模型的复杂度;使用集成方法,比如随机森林通过对多棵决策树取平均来降低方差;以及早停、特征选择、交叉验证等方法。
深度学习带来的新认识
有趣的是,现代深度学习的一些现象似乎挑战了经典的偏差-方差权衡:参数量远远超过训练样本数量的超大神经网络,按照经典理论应该严重过拟合,实际上却往往泛化得很好。研究者发现了“双下降”现象:当模型的规模继续增大、超过某个临界点之后,测试误差在上升之后又会再次下降。这说明在超大模型的情况下,经典的偏差-方差理论需要补充和修正,这也是当前机器学习理论研究的一个热点。