美文网首页
方差与偏差【转】

方差与偏差【转】

作者: 惊不意外 | 来源:发表于2019-04-18 10:22 被阅读0次

    【文章转载自CSDN】
    作者:Agent002
    来源:CSDN
    原文:https://blog.csdn.net/hertzcat/article/details/80035330

    模型改进策略

    对于 预测函数,我们通常会使用以下几种手段来改进:

    • 采集更多的样本数据【高偏差】
    • 减少特征数量,去除非主要的特征【高方差】
    • 引入更多的相关特征【高偏差】
    • 采用多项式特征【高偏差】
    • 减小正则化参数 λ【高偏差】
    • 增加正则化参数 λ【高方差】

    Andrew Ng 告诉大家,他见过很多开发者盲目地使用改进策略,为此耗费了大量的时间和精力,却没什么效果。所以我们需要一些依据来帮助我们选择合适的策略。

    数据集划分

    为了评价模型,我们通常将数据集分为三个部分,

    • 60%的 训练集
    • 20% 的 交叉验证集
    • 20%的 测试集

    并使用 误差 作为模型使用在这些集合上的评价,误差 的形式与 代价函数 相同。

    在被划分的集合中,我们:

    • 使用 训练集 来训练参数 θ
    • 使用 交叉验证集 来选择模型( 比如该使用多少次的多项式特征 )
    • 使用 测试集 来评估模型的预测能力。

    方差与偏差

    当我们的模型表现不佳时,通常是出现两种问题,一种是 高偏差 问题,另一种是 高方差 问题。

    • 偏差: 描述模型输出结果的期望与样本真实结果的差距。
    • 方差: 描述模型对于给定值的输出稳定性。
    偏差与方差

    就像打靶一样,
    偏差描述了我们的射击总体是否偏离了我们的目标,
    方差描述了射击准不准(多次射击的稳定性)。

    • 对于多项式回归:
      多项式回归

    当次数选取较低时,我们的 训练集误差 和 交叉验证集误差 都会很大;
    当次数选择刚好时,训练集误差 和 交叉验证集误差 都很小;
    当次数过大时会产生过拟合,虽然 训练集误差 很小,但 交叉验证集误差 会很大。

    计算 Jtrain(θ)和 Jcv(θ),
    如果他们同时很大的话,就是遇到了高偏差问题,
    而 Jcv(θ)比 Jtrain(θ)大很多的话,则是遇到了高方差问题。

    • 对于 正则化 参数:
      正则化参数

    当参数比较小时容易产生过拟合现象,也就是高方差问题。
    当参数比较大时容易产生欠拟合现象,也就是高偏差问题。

    学习曲线

    无论你是要检查你的学习算法是否正常工作或是要改进算法的表现,学习曲线 都是一个十分直观有效的工具。

    • 横轴是 样本数
    • 纵轴为 训练集 和 交叉验证集 的 误差。
      在一开始,由于样本数很少,Jtrain(θ)几乎没有,而Jcv(θ) 则非常大。
      随着样本数的增加,Jtrain(θ)不断增大,而 Jcv(θ)因为训练数据增加而拟合得更好因此下降。
    学习曲线-高偏差
    • 在高偏差的情形下,Jtrain(θ) 与Jcv(θ) 已经十分接近,但是 误差 很大。这时候一味地增加样本数并不能给算法的性能带来提升。
    学习曲线-高方差
    • 在高方差的情形下,Jtrain(θ)的 误差 较小,Jcv(θ)比较大,这时搜集更多的样本很可能带来帮助。

    总结

    有了以上的分析手段,就能够得出在何种场景下使用我们的改进策略:

    [高方差] 采集更多的样本数据
    [高方差] 减少特征数量,去除非主要的特征
    [高偏差] 引入更多的相关特征
    [高偏差] 采用多项式特征
    [高偏差] 减小正则化参数 λλ
    [高方差] 增加正则化参数 λ

    相关文章

      网友评论

          本文标题:方差与偏差【转】

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