AI考满分,为什么还会出错?AI-lab学习笔记

6/7/2026

训练集满分,不等于真实世界可靠。欠拟合是还没学会,过拟合是把旧题背得太死;正则化不是让 AI 少学,而是逼它从记住表面,走向看见结构。

训练集满分,不等于真实世界可靠。欠拟合是不够会,过拟合是太听话;正则化不是让 AI 少学一点,而是给学习加上约束,逼它在复杂世界里学到更能迁移的结构。

① 会做旧题不等于会做新题 → ② 过拟合是学错层次 → ③ L1/L2、Dropout、早停、数据增强 → ④ 大模型的过拟合悖论 → ⑤ 人的学习也需要正则化

开场:训练集满分,不等于真的会

我们总怕 AI 不够聪明。

可在训练模型时,工程师更常防的是另一件事:

AI 太会背。

它能把训练集做得很漂亮。

甚至把每一道旧题都做对。

但一换新题,一进真实世界,就开始出错。

这种错误,不是因为模型完全没学会。

有时是因为它把不该学的东西也学进去了。

太简单,连基本规律都抓不住,叫欠拟合。

太听话,把旧题纹路背得太死,叫过拟合。

中间那条窄路,才叫泛化。

这篇文章的主线,可以压成一对词:

记住,是把答案背下来。看见,是把结构认出来。

模型也好,人也好,能不能从旧例子走到新例子,差的就是这一步。

先看三个学生。

第一种,题做得太少。

公式看过,概念听过,例题跟着抄。

换一道题,就不会了。

这叫欠拟合。

他不是学偏了,而是还没学够,连表面规律都没有抓住。

第二种,题做得很多。

但他只刷同一类原题。

题干一变,数字一换,问法一绕,他就慌。

他不是没努力。

他努力得非常局部。

他记住的是这套卷子的纹路,不是题目背后的结构。

这叫过拟合。

记得越牢,离“看见”反而越远。

第三种,练习也做,但不沉迷原题。

基础题会做。

变式题也做。

做错以后看错因。

看完错因,把例子压成方法。

再拿方法去新题里验证。

他记住的东西更少,看见的东西更多。

这才叫泛化。

AI 学习也一样。

欠拟合是没记住,过拟合是只记住;真正的学习,是从记住表面,走到看见结构。

▲ 记住表面,不等于看见结构

一、把旧题全做对,不等于看见那条线

最经典的过拟合图像,是一堆训练点和三条曲线。

这张图不是在模拟某个具体行业里的真实变量关系。

它是机器学习教材里常见的一维示意图。

横轴只是某个输入特征。

纵轴是模型要预测的结果。

真实关系可能本来就是弯的,甚至会先升后降。

训练点是在这条真实关系附近采样出来的,但每个点都带一点噪声。

第一条曲线太简单。

它只画一条直线。

如果真实关系本来有弯曲,这条直线怎么调都抓不住。

这就是欠拟合。

模型太弱,连主要结构都看不见。

第二条曲线比较平滑。

它不穿过每一个训练点,但大体抓住了趋势。

这通常才是训练者想要的状态。

第三条曲线最“听话”。

它弯来弯去,真的穿过每一个训练点。

训练误差几乎为零。

看上去最厉害。

但它也最危险。

因为训练点里有噪声。

有些点偏高。

有些点偏低。

有些来自测量误差。

有些来自隐藏变量。

有些只是样本里的偶然波动。

如果模型为了贴住每一个点,把这些偶然因素也学进去,它就会在新房子上预测得很差。

这就是过拟合。

▲ 同一批训练点,三种学习结果

图里的红色过拟合曲线用的是插值方式生成。

在训练点上,它不是大概靠近,而是严格穿过。

危险也正在这里:

旧题越贴,新题未必越稳。

scikit-learn 官方文档里有一个经典例子:用多项式去拟合带噪声的余弦函数。

1 次多项式太简单,会欠拟合。

4 次多项式比较合适。

15 次多项式可以在训练点之间疯狂扭动,训练误差很低,但面对新样本反而更差。

它几乎就是机器学习入门课里“欠拟合 / 合适拟合 / 过拟合”的标准画面。

机器学习里最基础的一条经验由此而来:

不要只看训练集表现,要看验证集和测试集表现。

训练集像课堂练习。

验证集像模拟考试。

测试集像真正上场。

课堂练习都错,说明欠拟合。

课堂练习全对,模拟考试崩掉,说明过拟合。

真正会做题,不是把旧题答案记下来。

而是在新题里仍然看见同一个结构。

二、过拟合不是记得太多,而是记错了层次

过拟合常被说成:

模型学太多了。

这只说对了一半。

真正的问题不是“记得多”,而是“记错了层次”。

一份训练数据里,通常混着两种东西:

信号:可以迁移的规律 噪声:偶然、误差、偏差、巧合

学生刷题时,真正应该抓住的是:

这类题的结构是什么? 变量之间有什么关系? 为什么这个方法能用? 换个数字、换个问法,还能不能成立?

Scroll for more