Diagnosing bias and variance|诊断偏差和方差

bolin
发布于 2025-07-14 / 2 阅读
0
0

Diagnosing bias and variance|诊断偏差和方差

一、偏差和方差的拟合对比

5DD55C53-5BB7-4A1A-B568-017338F9F120.png

这张图片通过房价预测(Price vs. Size)的回归问题,展示了不同多项式回归模型的拟合情况,重点对比了高偏差(欠拟合)理想拟合高方差(过拟合)的模型表现,并涉及训练误差(Jtrain)和交叉验证误差(Jcv)的变化。


1. 左侧:高偏差(欠拟合)模型

模型方程

C38D442D-B0C3-41A3-84A0-22CE6E8632E8.png

(线性回归,多项式阶数 d=1)

关键观察

  • 训练误差(Jtrain)高:模型过于简单,无法拟合数据的真实趋势(如二次关系)。

  • 交叉验证误差(Jcv)高:在验证集上表现同样差,说明模型泛化能力弱。

尝试调整模型复杂度(提高 d)

  • 当 d=2 时,误差仍然高 → 说明模型仍欠拟合(可能因特征不足或模型选择不当)。

结论:模型欠拟合,需要增加特征或使用更复杂的模型(如 d≥2)。


2. 中间:理想拟合模型

模型方程

7A811DE2-426A-4C08-8D84-25C0DADEA542.png

(二次多项式回归,多项式阶数 d=2)

关键观察

  • 训练误差(Jtrain)低:模型能够较好拟合训练数据。

  • 交叉验证误差(Jcv)低:在验证集上表现良好,泛化能力强。

结论:模型复杂度恰到好处(d=2),平衡了偏差和方差。


3. 右侧:高方差(过拟合)模型

模型方程

5224B4C7-2F32-4A76-B79B-C9F0DAD14573.png

关键观察

  • 训练误差(Jtrain)极低:模型完美拟合训练数据(甚至噪声)。

  • 交叉验证误差(Jcv)很高:泛化能力差,验证集表现大幅下降。

结论:模型过拟合,需要减少特征或使用更简单的模型(如 d≦4)。


总结图示的核心信息

模型类型

多项式阶数 d

训练误差 Jtrain

验证误差 Jcv

高偏差(欠拟合)

1

理想拟合

2

高方差(过拟合)

4

极低


二、偏差与方差:误差曲线诊断

E112BB90-E9CF-44CE-9837-9EA30F2AFC55.png

这张图片展示了训练误差(Jtrain)和交叉验证误差(Jcv多项式阶数(degree of polynomial)变化的趋势,用于诊断模型的偏差(Bias)方差(Variance)

关键元素说明

  1. 横轴(degree of polynomial)

    • 表示模型复杂度(多项式阶数 d),从低(如 d=1)到高(如 d=4 或更高)。

  2. 纵轴(误差值)

    • Jtrain(W,b):训练集误差,反映模型对训练数据的拟合程度。

    • Jcv(W,b):交叉验证集误差,反映模型泛化能力。

  3. 曲线趋势(图中未绘制但隐含)

    • 低阶(如 d=1)

      • Jtrain 和 Jcv 均高 → 高偏差(欠拟合)

    • 中阶(如 d=2)

      • Jtrain 和 Jcv 均较低且接近 → 理想拟合

    • 高阶(如 d≥4)

      • Jtrain 极低,Jcv 显著升高 → 高方差(过拟合)


FED6E6AE-A0EE-4C67-9F73-822DDAF399FE.png

这张图片系统性地展示了如何通过训练误差(J_train)和交叉验证误差(J_cv)来判断算法存在高偏差(欠拟合)还是高方差(过拟合)问题,以及两者的组合情况。

核心诊断逻辑

  1. 高偏差(欠拟合)特征

    • Jtrain 很高(模型无法拟合训练数据)

    • Jcv 也很高(泛化能力差)

    • 典型表现:简单模型(如低阶多项式)

  2. 高方差(过拟合)特征

    • Jtrain 可能很低(完美拟合训练数据)

    • Jcv 显著高于 Jtrain(泛化能力差)

    • 典型表现:复杂模型(如高阶多项式)

  3. 高偏差+高方差特殊情况

    • Jtrain 很高(欠拟合训练数据)

    • Jcv 比 Jtrain 更高(同时存在泛化问题)

    • 典型场景:模型既不够灵活又过度适应噪声

诊断步骤

  1. 比较Jtrain和Jcv的相对大小

  2. 观察两者随模型复杂度变化的趋势

  3. 根据表格中的特征匹配问题类型


评论