训练集、测试集与过拟合
可复习 · 待写自己的解释本章材料
重点
- 数据要分成三份。 训练集让模型学;验证集用来调设置,比如选门槛、比较不同模型;测试集留到最后评估一次。
- 必须分开,是因为模型可能只是把训练样本“背”了下来。 这叫过拟合。
- 只有在没见过的数据上表现好,才说明模型学到了能推广的规律,也就是泛化。
- 反复看测试集的结果再回去调模型,测试集也会被“背”下来,分数会虚高。
- 交叉验证把数据分成几份,轮流当测试集。数据不多时,它能更可靠地估计模型的表现。
由 Claude 根据 StatQuest 的 Cross Validation、Bias and Variance 两集和本仓库的监督学习自学材料 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。
难点
- 训练集上 100% 正确,什么都说明不了。
- 测试集只代表收集它时的情况。 上线后真实数据会变(比如出现新的诈骗类型),需要重新评估、持续监控。
- 验证集和测试集容易混用。 小项目常常省掉验证集,直接在测试集上调参数,这时测出来的结果会偏乐观。
由 Claude 根据 本仓库的监督学习自学材料 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。
用例子看
AI Product Design Lab 的投诉分级数据集是一个真实的例子:用 20 条带标签的投诉训练一个小模型,再拿 12 条模型没见过的投诉去测试。
| 条数 | 判对 | |
|---|---|---|
| 训练集 | 20 | 20(100%) |
| 测试集 | 12 | 6(50%) |
模型几乎把训练集背了下来,换成新投诉就只对一半。这正是过拟合:训练集上的满分说明不了它学会了什么。
容易混淆的几个概念
| 集合 | 用途 | 类比 | 能拿来调模型吗 |
|---|---|---|---|
| 训练集 | 模型从这里学 | 课本和练习题 | 能,它就是用来学的 |
| 验证集 | 选门槛、比较模型 | 模拟考 | 能 |
| 测试集 | 最后评估一次 | 正式考试 | 不能,只用一次 |
一个记法:测试集是正式考试,考前不能看题。
来源
- 学习材料:StatQuest《Machine Learning Fundamentals: Cross Validation》《Machine Learning Fundamentals: Bias and Variance》。
- 20 / 12 条投诉的数字来自 AI Product Design Lab 仓库的数据集模拟(
research/simulate_module_01.py,标签与银行政策一致时的结果)。 - 重点、难点和测验由 Claude 根据该仓库的监督学习自学材料整理。