AI 教学改革实践研究计划AI 教改实践研究计划 全国高等院校计算机基础教育研究会 ×实战云


AI 课件库 › 机器学习基础 › 模型评估与验证

交叉验证:把数据轮着用

MLU-Explain · Cross-Validation · 亚马逊机器学习大学(MLU-Explain)

从「划一个验证集」的毛病讲到 K 折交叉验证与留一法:拖动 K 值,看每一折训练出的回归线和验证误差怎么变,以及 K 大 K 小各有什么代价。

适用
人工智能导论、机器学习基础、统计学基础、数据分析
概念
训练集验证集测试集、K 折交叉验证、留一交叉验证、测试误差估计、重采样
课时
入门 · 建议 20 分钟
网络
离线可用(不依赖外网,需能打开本站)

全屏打开实验 ↗ 原作源代码 ↗

交互实验(可直接投屏)

原作是一个完整的网页应用,下面直接嵌入;屏幕小或要投影时,点「全屏打开实验」更清楚。

动手三步

  1. 先读「我们此前的做法」:训练集、验证集、测试集各管什么
  2. 看 K 折轮换示意图,注意测试集自始至终不动
  3. 拖动 K 值滑块,看每一折的最佳拟合直线和各自的验证误差,以及最后估计出的测试误差
  4. 读「选 K 值时要注意什么」:为什么实践中常取 5 或 10

课堂怎么用

  • 让学生把 K 拖到 2 和 10 各看一次,报出拟合直线的摆动幅度,直观理解「估计的方差」
  • 提问「为什么不干脆每次只留一个样本」,引出训练很多次的算力代价
  • 强调测试集只用一次这条纪律,联系课程实验里常见的「拿测试集调参」错误

思考题

  1. K 折和单划一个验证集相比,为什么估计的方差更小?
  2. K 增大时训练集变大、模型更接近最终模型,那为什么 K 不是越大越好?
  3. 为什么测试集在整个交叉验证过程中一次都不能碰?

已知限制

  • 正文里指向本次未镜像主题的链接仍指向原作站点,课堂断网时点不开
  • 演示用的是合成数据上的简单线性回归,误差数值只作示意

原作 MLU-Explain · Cross-Validation(Jared Wilber、Jasper Croome(亚马逊机器学习大学),亚马逊机器学习大学(MLU-Explain)),CC BY-SA 4.0 (文) + MIT-0 (码) 许可(原文),界面已中文化。中文译文与改编内容采用 CC BY-SA 4.0,保留原作署名并注明改动。

← 精确率与召回率:为什么不能只看准确率 偏差方差权衡 →

使用与数据说明 · 来源与许可