投稿
← 学习路线第一单元 / 06 · 共 7 节

实验 06 / 约 55 分钟

发现过拟合,而不是庆祝高分

为什么练习做得好,换个问题就不行?

未开始
你正在理解:评测:记住样本还是掌握可迁移规律

这和大模型有什么关系?

模型在训练数据上表现好,不自动保证它在新问题上也好。本节让复杂曲线贴近训练点,再用另一批点检查,这能帮助理解泛化。

这个实验能解释到哪里:过拟合不等于幻觉的全部原因。大模型生成不实内容还与知识缺口、上下文、训练目标和生成方式等有关;这条曲线不能诊断一个聊天模型为何答错。

动手时带着这个问题:把阶数从 2 改成 8,对照训练和验证误差。不要只看“做过的题”得分。

还没建立全貌?先看一次回答的完整过程 ↗
浏览器内实时计算LAB / GENERALIZE

寻找刚刚好的复杂度

试一试依次比较 1、2、8 阶:8 阶几乎穿过训练点,但验证误差会上升。

○ 训练数据◇ 验证数据━ 拟合曲线
1 · 更简单8 · 更复杂
训练 MSE
验证 MSE
可学习参数3

同一个原理 · 两种讲法

先理解,再往深处走。

01

过于简单会漏掉规律

这批数据整体呈弯曲形状。用一条直线去拟合,会错过弯曲趋势,这叫欠拟合。

02

过于复杂会记住噪声

不断提高曲线阶数,它能越来越贴近训练点。但这些点带有扰动,精确穿过它们不一定代表学到了真正规律。

03

用另一批点检查

白点用于拟合,橙色点用于验证。拖动阶数,对比训练和验证误差。这里是真正解方程拟合曲线;这组固定数据只是一个演示,不保证所有数据都在同一个阶数最好。

Python / 只用标准库 / 无需 GPU

在自己的电脑上复现

运行 generalize 实验。解释为什么应选验证误差更低的模型;再指出“在训练集上 100% 正确”这个说法缺少哪些信息。

下载实验代码 ↓

保存为 ai_lab.py,在 Python 3.10 或以上运行。本单元使用人造数据,不调用外部服务。Python 练习与在线实验采用各自的小数据例子,练习相同原理,不要求数值逐项相同。

python ai_lab.py --lesson generalize

程序包含结果断言;如果不满足预期会报错。第 7 节会在运行目录生成 report.json。运行后,回到笔记写下你的观察与改动。

继续读原始资料

本站提供原创导读;以下链接前往资料原站。仅本成人学习栏目提供这些精选来源。

scikit-learn · 欠拟合与过拟合 ↗英文 · 观察多项式次数与测试误差核对日期 2026-09-21scikit-learn · 常见陷阱与数据泄漏 ↗英文 · 阅读数据泄漏与一致预处理核对日期 2026-09-21

只对你可见

我的学习记录

未开始

登录后可保存笔记、打卡和学习进度。

“通过验证”仅由下方三题检验产生,不是手动勾选。

只能关联自己投稿的编号;不会公开笔记或自动发布作品。

同一节每天一条,再次提交会更新今天的记录。
    删除本节的私密记录

    删除本节进度、笔记、关联与打卡;其他课程和原作品保留。

    验证方式 / 本节三题知识检验 v1

    合上导读,检验一下

    全部答对后记录“通过验证”。这表示通过本节知识小测,不等同于独立完成代码、人工评阅或能力认证。