AI 学习笔记

训练集、测试集与过拟合

可复习 · 待写自己的解释

本章材料

Machine Learning Fundamentals: Cross ValidationStatQuest with Josh Starmer · 从 0:00 开始 · 在 YouTube 打开怎样把数据分成几份,轮流用来训练和测试。
Machine Learning Fundamentals: Bias and VarianceStatQuest with Josh Starmer · 从 0:00 开始 · 在 YouTube 打开过拟合与欠拟合背后的偏差和方差。

重点

  1. 数据要分成三份。 训练集让模型学;验证集用来调设置,比如选门槛、比较不同模型;测试集留到最后评估一次。
  2. 必须分开,是因为模型可能只是把训练样本“背”了下来。 这叫过拟合。
  3. 只有在没见过的数据上表现好,才说明模型学到了能推广的规律,也就是泛化。
  4. 反复看测试集的结果再回去调模型,测试集也会被“背”下来,分数会虚高。
  5. 交叉验证把数据分成几份,轮流当测试集。数据不多时,它能更可靠地估计模型的表现。
由 Claude 根据 StatQuest 的 Cross Validation、Bias and Variance 两集和本仓库的监督学习自学材料 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

难点

  1. 训练集上 100% 正确,什么都说明不了。
  2. 测试集只代表收集它时的情况。 上线后真实数据会变(比如出现新的诈骗类型),需要重新评估、持续监控。
  3. 验证集和测试集容易混用。 小项目常常省掉验证集,直接在测试集上调参数,这时测出来的结果会偏乐观。
由 Claude 根据 本仓库的监督学习自学材料 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

用例子看

AI Product Design Lab 的投诉分级数据集是一个真实的例子:用 20 条带标签的投诉训练一个小模型,再拿 12 条模型没见过的投诉去测试。

条数判对
训练集2020(100%)
测试集126(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 根据该仓库的监督学习自学材料整理。

On this page