W1-4为什么一个解释能符合所有数据,却仍然不可靠?

2026 年 10 月 15 日 · 星期四

假设你在研究一个小弹簧。依次挂上不同的砝码,测量伸长量,得到几个大致沿直线排列的点。

你画了一条直线。它没有经过每一个点,有些点略高,有些略低。

另一位同学画出一条弯弯曲曲的线,精确穿过全部测量点。他指着图说:“我的误差是零,你的还有误差,所以我的模型更好。”

如果评分标准只有“离已知数据多近”,他的确赢了。但下次换一个砝码,谁能预测得更准?

穿过每个点,其实不难

先离开弹簧,看看一个更小的数学例子。

我们只有三组数据:输入是 1、2、3,输出分别是 2、4、6。很自然的规则是:

输出 = 2 × 输入。

但下面这个规则也符合全部数据:

输出 = 2x + 10(x−1)(x−2)(x−3)。

当 x 等于 1、2、3 时,后面三个括号中总有一个为零,所以新增的部分完全消失。可当 x 等于 4 时,第一个规则给出 8,第二个给出 68。

这是教学构造。它没有说明第二个规则必定错误,而是说明:对有限的已知数据完全一致,可以与对新数据的判断截然不同同时成立。

甚至把系数 10 换成其他任意数,我们还能制造许多同样符合这三个点的规则。已知数据没有自动替我们选出唯一的规律。

模型可能连波动也一起学走

回到弹簧。假设它工作在近似线性的范围内,测量又存在小幅波动,那么数据点偏离直线,未必意味着真实关系在那里拐了一个弯。

足够灵活的曲线,却可能为每次波动都安排一次转折。它既追随了稳定关系,也追随了这批样本特有的偶然变化。换一批测量,波动的位置变了,原来的转折便可能帮倒忙。

这种在已有样本上表现很好、对未见样本表现较差的情况,叫作过拟合。高阶多项式拟合带噪声数据,是展示它的经典例子。scikit-learn:欠拟合与过拟合示例

第三天的照片分类器也可能遇到同样的问题:它有能力利用训练图片中非常具体的细节,把训练答案做得越来越好,却没有相应提高对新图片的识别能力。

不过,过拟合和依赖背景的“捷径”不能简单画等号。捷径也可能在同样偏差的测试样本上奏效,直到使用环境改变才暴露。前者关注对样本的过度适应,后者提醒我们检查判断依据及环境变化。Geirhos 等:捷径学习

那就永远选最简单的?

也不行。

如果真正的关系有弯曲,硬用直线可能连主要趋势都抓不住。这叫欠拟合。简单模型可以忽略噪声,也可能忽略信号;复杂模型可以追逐噪声,也可能表达简单模型无法表达的真实结构。scikit-learn:欠拟合与过拟合示例

因此,判断并非只看曲线是否平滑、公式是否短。我们要问:现有样本、背景知识和独立检验,能够支持多复杂的关系?

对于弹簧,已有的物理知识能帮助我们限制候选关系,并提醒我们注意适用范围。如果拉伸超过原来的范围,就算先前的直线预测一直很好,也不能据此保证它继续成立。

模型的可靠程度,总要连同使用条件一起讨论。

留一些数据,暂时不让模型看

检验预测的一个直接办法,是先拿出一部分数据,不参与拟合。模型确定后,再预测它们,比较预测与实际结果。

问题是,我们通常还要比较许多模型。如果不断查看同一份测试数据,哪里表现差就回去改哪里,这份数据便逐渐参与了选择。它虽然没有直接用于调整参数,也不再是一场完全独立的考试。

因此,常见做法把训练、方案选择和最终评估分开:训练集用于拟合,验证集用于选择,测试集用于最后的评估。交叉验证则让用于开发的数据轮流承担训练与验证的角色,帮助比较候选方案。时间序列、同一对象的多次记录等数据,还需要匹配其结构的划分方法。scikit-learn:交叉验证

这不只是机器学习的软件操作。它守住了一条容易被忽略的边界:用来帮我们形成解释的材料,与用来检验解释的材料,各自承担什么工作。

给灵活性加一点约束

除了留出数据,还可以在训练时限制模型对样本细节的追随。例如,正则化会在拟合目标中加入约束或惩罚,让某些复杂的参数配置付出代价;也可以根据验证表现决定何时停止训练。

这些方法改变了模型如何在“贴近训练数据”和“接受约束”之间取舍,但不能保证任何数据、任何环境下都有效。约束太强也可能妨碍学习真实关系。《深度学习》:正则化

它们的意义在于:我们不再把训练误差越小,当成唯一的目标。

下次看到一条完美曲线

你可以先问三个问题:

  1. 这条曲线用了多少调整自由,数据又有多少?
  2. 它的表现是在参与拟合的数据上算出来的,还是在真正留出的数据上检验的?
  3. 换一个时间、对象或测量条件,原来的关系还有什么理由继续成立?

第一天,我们发现读数有波动;第二天,我们看到一种现象可能有不同原因;第三天,我们让机器从例子中学习。走到这里,一个新的困难出现了:有能力把已有材料讲得滴水不漏,还不等于有能力应对下一份材料。

对已知数据的贴合,是评估模型的一部分。它能否在事先没有照顾过的地方继续有效,才让我们多了一份相信它的理由。

如果新测量真的来了,而且与原来的预测不一致,我们又该怎样调整判断?一次反例足以推翻全部想法,还是应该看它究竟有多意外?


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注