偏差-方差分解:测试误差为什么随复杂度先降后升

模型越灵活,训练误差越小,可测试误差为什么会先降后升?测试误差里多少是方差、多少是偏差、多少是去不掉的噪声?

SOA SRMSOA PACAS MAS-IIIFoA CS2按输入的参数计算
对过的标准答案
3 条
覆盖的考试公式
1 个
参数
7 个
开源库
1 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • James、Witten、Hastie、Tibshirani:An Introduction to Statistical Learning(第 2 版)2.2 评估模型的精度:偏差-方差权衡、贝叶斯分类器、K 近邻
  • Hastie、Tibshirani、Friedman:The Elements of Statistical Learning(第 2 版)2.9、7.3 偏差-方差分解

覆盖的考试公式

  • SML-001偏差-方差分解与测试误差SRMPAMAS-IICS2

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

设定真实的函数 f 和噪声 σ,训练集的 x 固定、y 重新抽。多项式回归和 K 近邻都是线性平滑器 f̂ = Sy,所以在每个测试点上方差 σ²‖s(x₀)‖² 和偏差 s(x₀)ᵀf − f(x₀) 都有闭式解。按复杂度画出平均的方差、偏差²、噪声和期望测试误差,并用模拟重复抽训练集核对。

说明和限制

  • 训练集的 x 在 [0, 1] 上等距、固定不变(ESL 7.3 的"固定 X"),只是 y 的噪声重新抽。测试点取 [0, 1] 上 101 个等距点,误差按测试点平均。
  • 多项式回归在 u = 2x − 1 上拟合(数值更稳)。次数不能超过 n − 1。K 近邻的 K 不能超过 n,两边距离相同时按 x 的顺序取。
  • 闭式解只需要 f、σ 和平滑矩阵;模拟用来核对:模拟的方差、偏差² 和闭式解的差别随模拟次数按 1/√R 缩小。

数据

模拟的数据:x 在 [0, 1] 上等距,y = f(x) + ε

开源库和版本

  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

统计学习,还有 9 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“模型越灵活,训练误差越小,可测试误差为什么会先降后升?测试误差里多少是方差、多少是偏差、多少是去不掉的噪声?”