美文网首页
《Machine Learning Yearning》总结笔记(

《Machine Learning Yearning》总结笔记(

作者: 有机会一起种地OT | 来源:发表于2020-03-18 18:51 被阅读0次
    13节

    本节意图告诉我们,想要一开始就设计和构建完美的系统会很困难。而构建并训练一个简单的基础系统,也是很有价值的。这能帮助我们决定后续在什么方向上投入精力和时间。

    并且在任何业务领域中,想要准确把握业务中的关键知识,称为一个专家,都离不开长久的积累。所以从基础的简单的情况入手,不断地改进和学习是必要的,这不仅仅体现在机器学习系统的设计上,在其他方面也是。

    14~16节

    介绍了机器学习训练中查看误分类样本的误差分析过程。这一过程能帮助你找到造成误差的原因。但基于这些原因对系统进行改进时,要考虑所需要的成本,有时可能是得不偿失的。

    在误差分析时,通过总结误分类的可能原因,通常会找到多种可改进的方向。找出对结果影响较大的原因,作为优先的改进方向。

    17~19节

    对于大型的用于交叉验证的验证集,在误差分析时全部进行人工检查会花费很多的时间。这时可以将验证集分为两个子集,只对其中一个子集(Eyeball集)的误分类数据进行人工检查。

    Eyeball验证集的大小,以能对算法的主要错误类别有所察觉为准。一般在验证集上出现100个误分类样本,就足以通过人工检查来清楚地了解导致错误的主要误差来源。
    学习器的错误率越低,要达到100个误分类样本所需的Eyeball验证集总量就越大。

    当然这都以人工检查能给出有价值的判断为前提,但并不是所有问题都能够进行人工检查,也就是无法进行人工的误差分析。从而设置Eyeball验证集的意义就不大。

    20~22节

    获得更多的数据是无害的,但这并不总是能在减小误差的方面带来期望的帮助,相反可能是在浪费时间。

    实际上,机器学习中的两个主要的误差来源是偏差和方差。算法的偏差可以通过算法在训练集上的错误率反映,而算法的方差则通过其在验证集或检验集上的表现比训练集上差多少来反映。

    在算法上的优化往往是针对这两部分误差的。提高训练集上的性能来解决方差,提高从训练集到验证/检验集上的泛化能力来减小偏差。

    低训练误差(偏差)、高验证误差(方差),代表分类器在训练集上的训练没有成功的泛化到验证集上,属于过拟合。
    训练误差、验证误差相近且都较高,表示分类器没有很好的拟合训练集,属于欠拟合。
    学习器在检验集上的效果不可能会好于训练集上的效果,故不会出现高训练误差、低验证误差的情况。
    理想的学习器是同时具有低偏差和低方差。

    当然,对于质量较差的数据,如果通过人工检测得到的“最优错误率”本身就较高,没有太多提升空间,也就很难得到低偏差和低方差。

    23~24节

    对于处理偏差和方差,最简单的方法是通过加大模型复杂度来减小偏差,通过增加训练样本量来减小方差。

    增加模型复杂度,会面临算力问题。同时也会增加方差和过拟合的风险。但这种过拟合的风险可以通过合适的正则化方法来约束复杂度来控制。

    方差和偏差之间存在权衡的问题,较难兼顾。不过在当下充足数据量和算力的条件下,这个问题在一定程度上得到了抑制。

    25~27节

    在减小可避免偏差时,可尝试:

    • 加大模型复杂度:这可以更好的拟合训练集,同时结合正则化抵消方差的增加。
    • 根据误差分析结果修改输入特征:利用误差分析过程得到的有用特征。
    • 减小或者去除正则化
    • 修改模型:重新制定模型,不属于改进方法。

    在训练集上的误差分析,同17~19节中介绍的类似。通过人工查验一部分数据来归纳造成偏差的可能原因,这很有帮助。

    在减小方差方面,可尝试:

    • 更多的训练数据
    • 加入正则化项
    • 加入提前终止操作
    • 减少输入特征
    • 减小模型复杂度
      同时,和减小偏差一样,也可以尝试:
    • 根据误差分析修改输入特征
    • 修改模型

    相关文章

      网友评论

          本文标题:《Machine Learning Yearning》总结笔记(

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