吴恩达机器学习 笔记六 模型选取、偏差和方差诊断、学习曲线

1. 阶次与偏差/方差

1.1 用交叉验证来选取模型

  假设模型要在10个不同阶次的二次型之间选取,主要有几个要点:(1)在训练集和测试集之外再增加交叉验证集(2)使用训练集训练模型(3)使用交叉验证机确定模型(4)使用训练集评价模型

  • 数据分集:将60%的数据作为训练集,20%作为交叉验证集,剩下的20%作为测试集
  • 训练模型:使用训练集训练出10个模型
  • 确定模型:使用交叉验证集分别对10个模型计算交叉验证误差(代价函数),并选取验证误差最小的那个(原因可以参照下一部分中的图)
  • 评价模型:用选取的模型在验证集中计算推广验证误差
1.2 偏差和方差诊断

  误差是由偏差和方差造成的。现有测试集X,我们用y表示测试集X的真实值,f¯(X)表示模型预测输出的期望,f(X;D) 为训练集D上学得模型f在测试集X上的预测输出

  期望输出真实值的差别称为偏差

bias2(X)=(f¯(X)y)2
显然,偏差过大时欠拟合
  期望输出数据变动后的预测输出的差别称为方差
var(X)=E[(f(X;D)f¯(X))2]
显然,方差过大时过拟合

  下图中,左侧代表欠拟合,右侧代表过拟合。训练集的误差随着阶次的增大会不断降低,这个毋庸质疑。需要注意的是交叉验证集的误差,随着阶次的增大,在下降到一个最低点(中庸点)之后,之后方差不断增大,导致误差又不断上升。

吴恩达机器学习 笔记六 模型选取、偏差和方差诊断、学习曲线

2. 正则化与偏差/方差

2.1 用交叉验证模型选取λ
  • 数据分集:将60%的数据作为训练集,20%作为交叉验证集,剩下的20%作为测试集
  • 训练模型:使用训练集训练出10个不同λ对应的模型
  • 确定模型:使用交叉验证集分别对10个模型计算交叉验证误差(代价函数),并选取验证误差最小的那个(原因可以参照下一部分中的图)
  • 评价模型:用选取的模型在验证集中计算推广验证误差
2.2 偏差与方差诊断

  其实下图本质上与1.2中的图是一样的,只不过现在左侧带边过拟合,右侧代表欠拟合,这里就不具体分析了。
吴恩达机器学习 笔记六 模型选取、偏差和方差诊断、学习曲线

3. 学习曲线

3.1 高偏差

  当偏差很高的时候,随着数据量的增加,交叉验证集的误差很快不在下降,这说明偏差较高时,增加数据量对算法的改善并无太大作用
吴恩达机器学习 笔记六 模型选取、偏差和方差诊断、学习曲线

3.2 高方差

  当方差很高的时候,随着数据量的增加,交叉验证集的误差在不断下降,这说明方差较高时,增加数据量有益于算法的改善
吴恩达机器学习 笔记六 模型选取、偏差和方差诊断、学习曲线