CONCEPT / learning-theory

过拟合与泛化:训练集之外的误差从何而来

区分训练误差、验证估计、泛化间隙与分布偏移,并用容量、集中界和偏差方差分析解释模型选择。

尚未开始仅保存在此浏览器
先修supervised-learningloss-functions

本页目标

  1. 区分经验风险、总体风险、泛化间隙、选择偏差与分布偏移。
  2. 在明确条件下解释固定假设集中界、有限假设类联合界和容量作用。
  3. 用偏差方差分解与学习曲线诊断欠拟合、过拟合及数据问题。
本页目录

训练成功不等于部署成功

学习算法直接接触有限训练集,实际目标却是对未来或未见样本作出可靠预测。设随机输入为 XX、标签为 YY,训练集为 SS,损失被缩放到 [0,1][0,1],模型 hh 的训练经验风险为

R^S(h)=1ni=1n(h(xi),yi),\widehat R_S(h)=\frac1n\sum_{i=1}^n\ell(h(x_i),y_i),

目标分布 PP 上的总体风险为

RP(h)=E(X,Y)P[(h(X),Y)].R_P(h)=\mathbb E_{(X,Y)\sim P}[\ell(h(X),Y)].

泛化间隙常写成 RP(h)R^S(h)R_P(h)-\widehat R_S(h)。过拟合描述模型或整个选择流程过度适应训练数据的偶然特征,表现为训练风险明显低于与部署一致的独立数据风险。它是数据、假设空间、算法和选择过程共同产生的现象,不能只凭“参数多”或“训练准确率高”判定。

总体风险本身依赖目标分布。若上线用户、设备、季节或标签规则发生变化,测试数据所代表的 PtestP_{\text{test}} 与部署分布 PdeployP_{\text{deploy}} 不同,即使模型没有对训练样本过拟合,部署误差也可能上升。这属于分布偏移问题。把所有训练与线上差距都称为过拟合,会掩盖应采取的数据更新、监测或重新定义任务等措施。

误差来源的分层

分析结果时可以区分至少四类差距。第一,表示或近似误差来自假设空间无法表达目标关系;只用直线拟合明显弯曲的条件均值便属于此类。第二,估计误差来自有限样本,模型选择会受样本波动影响。第三,优化误差来自算法没有充分降低既定训练目标。第四,分布差异来自训练、评估和部署环境不一致。

这些来源可能同时出现。训练风险很高且验证风险也高,可能是模型太简单、特征缺失、优化未收敛或标签噪声大;训练风险很低但验证风险高,可能是过拟合、数据泄漏被纠正后的落差、预处理不一致或验证分布变化。诊断要结合学习曲线、分组误差、数据审计和优化日志,不应依据单一差值给出唯一原因。

训练损失、经验风险和正则化目标也要分开。经验风险是样本损失的平均;训练日志可能显示的是经验风险加参数惩罚;训练误差率可能又是阈值后的分类指标。只有定义一致时,数值大小才可比较。

固定模型的集中现象

先考虑一个在观察训练数据之前已经固定的模型 hh。若样本独立同分布,且损失落在 [0,1][0,1],Hoeffding 不等式给出

P(R^S(h)RP(h)>ε)2e2nε2.P\left(\left|\widehat R_S(h)-R_P(h)\right|>\varepsilon\right) \le 2e^{-2n\varepsilon^2}.

它说明样本量增加时,固定模型的经验风险偏离总体风险很多的概率快速降低。把失败概率记为 δ\delta,可改写为:以至少 1δ1-\delta 的概率,

R^S(h)RP(h)log(2/δ)2n.\left|\widehat R_S(h)-R_P(h)\right| \le \sqrt{\frac{\log(2/\delta)}{2n}}.

这个界较保守,但清楚展示 1/n1/\sqrt n 尺度。它需要有界损失与独立同分布样本。平方损失没有天然上界,时间依赖样本也不满足直接使用的条件,必须采用相应尾部或依赖假设下的工具。

更关键的限制是“模型预先固定”。训练后的 hSh_S 正是根据 SS 选择,不能把固定模型界原样套上并忽略选择。学习理论需要同时控制整个候选集合,使数据驱动选择后的模型也被覆盖。

有限假设类与容量代价

若假设空间 H\mathcal H 有限,对每个 hh 使用固定模型界,再应用联合界,可得

P(hH:R^S(h)RP(h)>ε)2He2nε2.P\left(\exists h\in\mathcal H: |\widehat R_S(h)-R_P(h)|>\varepsilon\right) \le 2|\mathcal H|e^{-2n\varepsilon^2}.

等价地,以至少 1δ1-\delta 的概率,对所有 hHh\in\mathcal H 同时成立

R^S(h)RP(h)log(2H/δ)2n.|\widehat R_S(h)-R_P(h)| \le \sqrt{\frac{\log(2|\mathcal H|/\delta)}{2n}}.

因为结论同时覆盖每个候选,之后用训练集选择经验风险最小的模型仍在界内。候选数通过对数进入复杂度项:假设类更大能降低近似误差,也提高有限样本下的选择自由度。无限假设空间需要 VC 维、Rademacher 复杂度、覆盖数、算法稳定性或压缩等更精细工具。

容量不是参数数量的简单同义词。参数共享、范数约束、数据几何、优化器偏好和函数不变性都会改变有效函数集合。两个参数量相同的模型可能具有不同容量;过参数化模型也可能在特定算法和数据上泛化良好。理论结论必须连同假设、损失和训练过程表述。

上界也不直接预测某次实验的精确测试误差。它通常给出在一类分布和抽样过程上的高概率保证,数值可能宽松。经验评估与理论界互相补充:界解释哪些量原则上重要,独立测试提供当前任务的观测证据。

模型选择与验证偏差

训练集用于拟合参数,验证集用于选择超参数、结构、特征处理与停止轮次。若在同一验证集上尝试少量预先规划的候选,选择偏差通常比在数千次自适应试验中小;但只要结果影响下一轮尝试,验证集就在被逐步拟合。最终选中的最低验证损失往往带有乐观偏差。

独立测试集应在整个方案固定后使用一次或极少次数。若查看测试结果后修改方案,测试集转变为选择信息,下一份无偏终验需要新数据。交叉验证通过轮换验证折提高数据利用率,可以估计平均选择表现;若外层测试折也参与超参数选择,则仍有泄漏。嵌套交叉验证用内层选择、外层评估来分离职责。

预处理同样属于模型选择。标准化统计量、词表、缺失值填补、特征筛选和降维若使用验证或测试数据拟合,评估便利用了未来信息。正确流程在每个训练折内部拟合全部变换,再作用于对应验证折。

偏差—方差分解的精确含义

对平方误差,可以在固定输入 xx 下作经典分解。设数据满足

Y=f(x)+ε,E[εx]=0,Var(εx)=σ2(x),Y=f(x)+\varepsilon, \qquad \mathbb E[\varepsilon\mid x]=0, \qquad \operatorname{Var}(\varepsilon\mid x)=\sigma^2(x),

训练集随机性使学习结果 f^S(x)\widehat f_S(x) 也成为随机变量。对训练集和新噪声取期望,得到

E[(Yf^S(x))2]=σ2(x)+(ES[f^S(x)]f(x))2+VarS(f^S(x)).\mathbb E[(Y-\widehat f_S(x))^2] =\sigma^2(x) +\left(\mathbb E_S[\widehat f_S(x)]-f(x)\right)^2 +\operatorname{Var}_S(\widehat f_S(x)).

三项分别是不可约噪声、平方偏差和估计方差。简单模型可能在多个训练集上都给出相似但系统偏离的预测,偏差高、方差低;灵活模型可能平均接近真实函数,却随训练样本大幅波动,方差高。

这条分解针对平方损失、固定输入和指定数据生成过程。分类误差或对数损失没有完全相同的三项代数式。日常语言中的“模型偏差”和社会公平中的偏差也不是此处统计偏差。使用该术语时应注明含义。

增加模型复杂度经常降低训练误差和近似偏差,同时可能增加估计方差,但趋势并非每个现代模型上都严格单调。数据增强、参数共享、隐式正则化和优化路径会改变有效复杂度。实际选择应依赖验证设计和重复试验的不确定性,而非只套用一张 U 形示意图。

学习曲线与诊断

学习曲线绘制训练样本量或训练轮次与训练、验证指标的关系。若随样本量增加,训练与验证风险都较高且接近,可能存在表示能力不足、特征信息不足或优化问题。若训练风险低、验证风险明显高,增加数据、降低有效容量或改进正则化可能有帮助。这里的“可能”很重要;分布不一致或实现差异也能形成类似曲线。

训练轮次曲线中,训练损失持续下降而验证损失先降后升,常被视为过拟合信号。早停可在验证表现最佳附近选择检查点,但这个轮次已经由验证集选择。最终测试仍要独立。若频繁查看验证曲线并手工调整架构,选择自由度还会继续增加。

平均指标可能遮蔽子群失效。应按时间、设备、地区、类别、目标尺度或其他与部署相关的切片检查误差,同时保证每组样本量足以支持解释。对多个切片反复寻找最好或最坏结果也会产生多重比较问题,报告应同时给出样本量、置信区间或重复抽样稳定性。

分布偏移与外推边界

泛化通常默认训练和测试样本来自相同或相关分布。协变量偏移指输入分布改变,概念漂移指 P(YX)P(Y\mid X) 改变,标签先验偏移指类别比例改变。不同偏移需要不同检测和校正方法。仅在旧测试集上保持高分,无法证明新环境表现稳定。

数据时间戳、采集设备和标签政策应进入评估设计。上线后监测输入范围、缺失率、预测分布、延迟获得的真实结果和分组表现。检测到偏移后,应先判断是数据管道错误、用户群变化还是目标概念变化,再决定重训练、重校准或暂停自动决策。

模型在训练支持集之外的外推尤其脆弱。线性回归会沿斜率无限延伸,神经网络也没有自动遵守物理或业务边界。评估集应覆盖预期部署范围;超出范围时可以拒绝预测、触发人工复核或采用带结构约束的模型。

例题一:多项式阶数与验证选择

例 1:同一训练点上的不同复杂度

从带噪声的平滑曲线采样二十个训练点。一次多项式可能无法表示弯曲趋势,训练和验证平方误差都较高;十九次多项式可以通过所有互异训练点,使训练误差为零,却可能在点之间剧烈振荡。零训练误差只描述这二十个位置,不能决定新点误差。

可预先规定候选阶数 1,2,3,5,81,2,3,5,8,在训练集拟合系数,在验证集选择阶数,再用独立测试集报告结果。若观察验证曲线后不断加入更有利的新阶数,验证集逐渐参与拟合。此时应记录搜索过程,并使用新的外层评估或嵌套交叉验证。

若高阶模型加入强范数惩罚,它的有效函数波动可能小于无约束的低阶模型。因而“阶数高就必然过拟合”缺少条件;应比较完整训练过程和独立风险。

例题二:反复挑选测试集最高分

例 2:一百个等价模型中的幸运者

假设一百个候选在真实分布上的准确率相同,只因有限测试样本而出现上下波动。若报告其中测试准确率最高者,最高值会系统性偏向乐观,即使每个候选在训练时都没有看到测试样本。选择动作本身利用了测试噪声。

合理流程是用验证集选择候选,把测试集留给最终模型;或者设置外层交叉验证,使每个外层测试折从未参与内层选择。还应报告重复划分的变异或置信区间。候选越多、测试样本越少,幸运波动越容易被当作真实提升。

反例与常见误区

零训练误差既不能证明过拟合,也不能证明泛化

若标签由无噪声线性规则生成,训练样本覆盖充分,线性分类器可能得到零训练误差并在同分布新样本上表现良好。若标签随机且模型能记忆样本,同样可以得到零训练误差,测试表现接近偶然。相同训练现象对应不同数据机制;独立评估和生成假设决定解释。

验证误差高于训练误差的全部差值都是泛化间隙

若两组数据的预处理、损失归约、采样分布或噪声水平不同,差值还包含测量与分布差异。严格泛化间隙比较同一损失下、同一目标分布的经验量与总体量。

更多数据总能修复过拟合

更多来自同一目标分布且标签可靠的数据通常能减少估计波动,但复制重复样本、增加系统性错误标签或收集错人群不会提供同等帮助。数据数量、独立信息量和分布覆盖应分别评估。

练习

练习

在固定模型、有界损失和独立同分布条件下,样本量从 nn 增加到 4n4n,Hoeffding 型偏差上界中的主要尺度怎样变化?

查看解答

在置信度固定时,上界主要按 1/n1/\sqrt n 缩小。样本量变为四倍后,上界约变为原来一半。该比例来自特定界,不能直接当成任意任务测试误差必然减半的预测。

练习

说明为什么先在全数据上做特征筛选,再进行五折交叉验证会产生泄漏,并给出正确流程。

查看解答

全数据筛选使用了每个验证折的标签或统计信息,使训练折已经间接知道验证折。正确流程是在每次折分中仅用四个训练折拟合筛选规则,再把选定特征应用到剩余验证折。若还要选择筛选超参数,可在外层评估中加入内层交叉验证。

练习

某模型训练损失低、验证损失高。分别给出一个过拟合原因、一个分布偏移原因和一个实现原因,并说明如何核查。

查看解答

过拟合原因可以是高容量模型记住训练噪声,可通过不同样本量学习曲线和正则化比较核查;分布原因可以是验证数据来自更新设备,可按设备与时间分组检查特征和误差;实现原因可以是验证阶段标准化方式不同,应审计同一预处理流水线并用小批样本逐项比对。

知识连接

  • 监督学习 定义训练样本与目标分布。
  • 损失函数 决定经验风险和总体风险具体衡量什么。
  • 线性回归 可用多项式特征展示模型容量与投影误差。
  • 逻辑回归 需要区分训练似然、分类阈值与独立概率校准。
  • 正则化 通过参数或函数偏好控制有效复杂度。
  • 感知机与多层感知机 展示大函数族、优化路径和数据规模共同影响泛化。

可信资源

lecture · 年份待核

Stanford CS229 Course Materials

Andrew Ng

用于核对经典机器学习模型的目标函数、推导和适用前提。

打开官方来源

Stanford CS229 官方学习理论与模型选择材料覆盖经验风险、泛化界、偏差方差和正则化。

book · 2016

Deep Learning

Ian Goodfellow, Yoshua Bengio, Aaron Courville

适合作为反向传播和优化章节的完整参考。

打开官方来源

《Deep Learning》官方在线教材第五章讨论容量、过拟合、欠拟合与估计,第七章讨论正则化。

后续学习

继续阅读 正则化,把容量偏好写成惩罚、约束或训练过程,并区分训练目标变化与泛化证据。研究神经网络时,可把这些原则带入 感知机与多层感知机 的架构和优化分析。

作者one-forth-core
最近修订2026-07-11
审阅状态待独立人工审阅