zoukankan      html  css  js  c++  java
  • 偏差vs方差

    在这部分我们检验多项式层数d和过拟合和欠拟合之间的关系。

    1.我们区分是否是偏差或方差导致我们预测错误。

    2.大偏差是欠拟合,大方差是过拟合。理想情况下,我们需要在这两者之间找到中庸之道。

    当我们增加多项式的D时,训练误差会减小。

    同时,交叉验证误差会随着d增加到一个点而减小,然后随着d的增加而增大,形成一个凸曲线。

    这是总结在下面的图:

    正则化和偏差/方差

    在上图中,我们看到,作为λ的增加,我们的配合变得平滑。另一方面,当λ接近0,我们倾向于过度拟合数据。那么我们如何选择我们的参数λ得到它“恰到好处”?为了选择模型和正则化项λ,我们需要:

    1.创建一个列表的Lambda表达式(i.e. λ∈{0,0.01,0.02,0.04,0.08,0.16,0.32,0.64,1.28,2.56,5.12,10.24});

    2.创建一组具有不同次方或任何其他变形的模型。

    3.遍历λ和每个λ穿过所有的模型来学习一些Θ。

    4.运用所得到的Θ计算交叉验证误差(计算λ)用JCV(Θ)(没有正规化或λ= 0)。

    5.选择在交叉验证集上产生最低错误的最佳组合。

    6.用最佳的组合Θ和λ,它适用于JTEST(Θ)是否对问题有很好的泛化。

    学习曲线

    在非常少的数据点上训练一个算法(如1, 2或3)将很容易有0个错误,因为我们总能找到一个二次曲线恰好触及这些点。因此:

    1.作为训练集规模越来越大,对一个二次函数的误差增大。

    2.误差的值在到达一个确定的m或一个训练集大小后会处于平稳状态

    高偏差:

    训练集数量太少:造成训练集的成本函数低,交叉验证集的高

    训练集数量大:造成训练集和交叉验证集的成本函数都高

     

    如果一个学习算法遭受高偏差,获得更多的训练数据本身就不会有多大帮助。

     

    高方差:

    训练集少:训练集误差小,验证集误差大

    训练集大:训练集误差随训练数量增加而增加。验证集持续不平整的减少。

    训练误差小于验证集,但是两者区别还是很大

     

    如果一个学习算法是患有高方差,得到更多的训练数据可能帮助。

     

    决定下一步做什么

    我们的决策过程可以分解如下:

    1.得到跟多训练样本:高方差

    2.减少变量:高方差

    3.增加变量:高偏差

    4.增加多次项:高偏差

    5.调低λ:高偏差

    6.调高λ:高方差

    诊断神经网络

    1.一个参数较少的神经网络容易欠拟合

    2.一个参数较多的神经网络容易过拟合。在这种情况下,你可以使用正则化(增加λ)来解决过度拟合。

    采用单隐层是一个好的开始,默认。你可以训练你的神经网络上的一些隐藏的图层使用交叉验证集。然后你可以选择表现最好的一个。

    模型复杂度效应:

    1.低阶多项式(低模型复杂度)高偏差和低方差。在这种情况下,模型拟合不一致。

    2.高阶多项式(高模型的复杂性)拟合训练数据非常好,测试数据非常糟糕。这些具有低偏差在训练数据,但非常高的方差。

    3.事实上,我们希望在两者之间选择一个模型,它可以很好地概括,而且也能很好地拟合数据。

  • 相关阅读:
    普通PC硬盘与DVR专用硬盘主要差别
    远程监控,需要安装控件,安装前对浏览器设置如下。硬盘录像机,采集卡通用...
    SQL Server不允许进行远程连接
    远程备份(还原)SQL2000数据库
    安装MSDE时提示 实例名无效
    冰雹,刨冰,危险人物
    北京首现最严重的0day攻击方式
    孤独,寂寞,无聊
    大家平时都在做什么
    华山之旅
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/7397636.html
Copyright © 2011-2022 走看看