解决测试集误差较大的方案

作者: dreampai | 来源:发表于2019-04-04 18:32 被阅读1次

当我们运用训练好了的模型来预测未知数据的时候发现有较大的误差,我们下一步可以做什么?

  • 获得更多的训练实例
  • 尝试减少特征的数量
  • 尝试获得更多的特征
  • 尝试增加多项式特征
  • 尝试减少正则化程度 λ
  • 尝试增加正则化程度 λ

模型选择和交叉验证集

交叉验证集来帮助选择模型:

  • 60%的数据作为训练集
  • 20%的数据作为交叉验证集
  • 20%的数据作为测试集

模型选择的方法为:

  • 使用训练集训练出 10 个模型
  • 用 10 个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)
  • 选取代价函数值最小的模型
  • 用步骤 3 中选出的模型对测试集计算得出推广误差(代价函数的值)

诊断偏差和方差

image.png
训练集和交叉验证集的代价函数误差与多项式的次数 image.png
训练集误差和交叉验证集误差近似时:偏差/欠拟合
交叉验证集误差远大于训练集误差时:方差/过拟合 image.png

正则化和偏差/方差

image.png
选择一系列的想要测试的 λ 值,通常是 0-10 之间的呈现 2 倍关系的值:
  • 0
  • 0.01
  • 0.02,
  • 0.04
  • 0.08
  • 0.15
  • 0.32
  • 0.64
  • 1.28
  • 2.56
  • 5.12
  • 10

选择 λ 的方法为:

  • 使用训练集训练出 12 个不同程度正则化的模型
  • 用 12 模型分别对交叉验证集计算的出交叉验证误差
  • 选择得出交叉验证误差最小的模型
  • 运用步骤 3 中选出模型对测试集计算得出推广误差,我们也可以同时将训练集和交叉验证集模型的代价函数

误差与 λ 的值绘制在一张图表上:

image.png

当 λ 较小时,训练集误差较小(过拟合)而交叉验证集误差较大;随着 λ 的增加,训练集误差不断增加(欠拟合),而交叉验证集误差则是先减小后增加

学习曲线

学习曲线是学习算法的一个很好的合理检验(sanity check)。学习曲线是将训练集误差和交叉验证集误差作为训练集实例数量(m)的函数绘制的图表

思想是:当训练较少行数据的时候,训练的模型将能够非常完美地适应较少的训练数据,但是训练出
来的模型却不能很好地适应交叉验证集数据或测试集数据。

image.png

在高偏差/欠拟合的情况下,增加数据到训练集不一定能有帮助;在高方差/过拟合的情况下,增加更多数据到训练集可能可以提高算法效果。

  • 获得更多的训练实例——解决高方差
  • 尝试减少特征的数量——解决高方差
  • 尝试获得更多的特征——解决高偏差
  • 尝试增加多项式特征——解决高偏差
  • 尝试减少正则化程度 λ——解决高偏差
  • 尝试增加正则化程度 λ——解决高方差

神经网络

  • 使用较小的神经网络,类似于参数较少的情况,容易导致高偏差和欠拟合,但计算代价较小使用较大的神经网络,类似于参数较多的情况,容易导致高方差和过拟合,虽然计算代价比较大,但是可以通过正则化手段来调整而更加适应数据。
  • 通常选择较大的神经网络并采用正则化处理会比采用较小的神经网络效果要好。
  • 对于神经网络中的隐藏层的层数的选择,通常从一层开始逐渐增加层数,为了更好地作选择,可以把数据分为训练集、交叉验证集和测试集,针对不同隐藏层层数的神经网络训练神经网络, 然后选择交叉验证集代价最小的神经网络。

相关文章

  • 解决测试集误差较大的方案

    当我们运用训练好了的模型来预测未知数据的时候发现有较大的误差,我们下一步可以做什么? 获得更多的训练实例 尝试减少...

  • 近似误差 估计误差

    转载 近似误差:可以理解为对现有训练集的训练误差。估计误差:可以理解为对测试集的测试误差。 近似误差关注训练集,如...

  • Task03

    一 过拟合与欠拟合及其解决方案 1 训练误差与泛化误差 训练误差:在训练集上的数据误差; 泛化误差:在其他任意数据...

  • 2018-12-12

    1.4模型评估与模型选择 1.4.1训练误差与测试误差 测试误差反映了学习方法对未知的测试数据集的预测能力,是学习...

  • [Deep Learning] 集成学习Ensemble Lea

    本文是Deep Learning Course总结系列的第三篇,在防止过拟合,降低训练集和测试集间输出误差的解决方...

  • 模型评估与模型选择

    训练误差是模型Y=f(x)关于训练数据集的平均损失 测试误差是模型Y=f(x)关于测试数据集的平均损失 损失函数为...

  • task3

    过拟合、欠拟合及其解决方案 训练集和测试集 测试数据集不可以用来调整模型参数,如果使用测试数据集调整模型参数,可能...

  • 第二次打卡 Task03

    一、过拟合、欠拟合及其解决方案 训练误差(training error)和泛化误差(generalization ...

  • 深度学习—过拟合问题

    1、过拟合问题 欠拟合:根本原因是特征维度过少,模型过于简单,导致拟合的函数无法满足训练集,误差较大; 解决方法:...

  • 鹅厂笔试2018-4(2019实习)

    1 深度学习,训练集误差下降,测试集误差上升,该怎么办 2 Hessian 是什么矩阵(正定矩阵,半正定矩阵) 3...

网友评论

    本文标题:解决测试集误差较大的方案

    本文链接:https://www.haomeiwen.com/subject/aylqiqtx.html