当前位置 博文首页 > xpj8888的博客:第一周 机器学习(ML)策略(1):1.9 可避免偏

    xpj8888的博客:第一周 机器学习(ML)策略(1):1.9 可避免偏

    作者:[db:作者] 时间:2021-09-17 21:18

    目录

    第一章、简介

    第二章、如何解决学习算法的误差问题

    2.1、在学习算法效果远比不上人类水平的情况下,应解决偏差问题

    2.2、 开发误差效果较差,应用正则化等手段解决方差问题

    2.3、 依据人类水平与学习算法误差的差异大小,采取不同的优化算法。

    2.4、 “可避免偏差”的概念定义

    2.5、小结


    第一章、简介

    ?

    • 本文基于吴恩达人工智能课程做学习笔记、并融入自己的见解(若打不开请复制到浏览器中打开)https://study.163.com/courses-search?keyword=吴恩达。
    • 本文第二章将介绍 如何解决学习算法的偏差问题。

    ?

    第二章、如何解决学习算法的误差问题

    ?

    2.1、在学习算法效果远比不上人类水平的情况下,应解决偏差问题

    ?

    • 我们讨论过你希望你的学习算法能在训练集上表现良好,但有时你实际上并不想做得太好,你得知道人类水平的表现是怎样的。
    • 可以确切告诉你,算法在训练集上的表现,到底应该有多好或者有多不好,让我告诉你是什么意思吧。
    • 如图2-1所示的场景A,我们经常使用猫分类器来做例子,比如人类具有近乎完美的准确度 所以人类对猫进行分类的误差是1%。在这种情况下,如果您的学习算法在训练集中达到8%误差和在开发集中10% 的误差,那么你也许想在训练集上得到更好的结果(即这种情况下你的猫分类器算法效果不佳)。
    • 所以,如果你的算法在训练集上的表现和人类水平的表现有很大差距的话, 说明你的算法对训练集的拟合并不好。
    • 所以,从减少偏差和方差的工具这个角度看,在这种情况下,我会把重点放在减少偏差上,你需要做的是比如说训练更大的神经网络或者跑久一点梯度下降,就试试能不能在训练集上做得更好

    ?

    此图像的alt属性为空;文件名为1-1.png

    图2-1

    ?

    2.2、 开发误差效果较差,应用正则化等手段解决方差问题

    ?

    • 如图2-1所示的场景B,我们看看同样的训练误差和开发误差(即在训练集中达到8%误差和在开发集中10% 的误差),假设人类的表现不是1%,假设人类水平错误实际上是 7.5%。
    • 也许你的数据集中的图像非常模糊,即使人类都无法判断这张照片中有没有猫,人类错误率也达到 7.5%。
    • 在这种情况下,你就知道也许你的系统在训练集上的表现还好,它只是比人类的表现差一点点.
    • 在开发集上误差较大(10%),所以你可能希望专注减少这个分量,减少学习算法的方差,也许你可以试试正则化,让你的开发错误率更接近你的训练错误率,所以在之前的课程关于偏差和方差的讨论中,我们主要假设有一些任务的贝叶斯错误率几乎为 0。

    ?

    2.3、 依据人类水平与学习算法误差的差异大小,采取不同的优化算法。

    ?

    • 假如用人类水平的错误率,估计或代替贝叶斯错误率或贝叶斯最优错误率,对于计算机视觉任务而言,这样替代相当合理。因为人类实际上是非常擅长计算机视觉任务的。
    • 所以人类能做到的水平 和贝叶斯错误率相差不远,根据定义,人类水平错误率比贝叶斯错误率高一点,因为贝叶斯错误率是理论上限,但人类水平错误率离贝叶斯错误率不会太远。
    • 如图2-1在这两种情况下 具有同样的训练错误率和开发错误率,我们决定专注于减少偏差的策略或者减少方差的策略。
    • 在如图2-1的场景A中,人类误差与训练误差差异较大,我们有较大的空间可以通过减少偏差的手段,让8% 的训练错误率尽可能地降到降到 1%。
    • 在如图2-1的场景B中,人类误差与训练误差差异较小,通过减少偏差的手段让8% 的训练错误率尽可能地降到降到 7.5%,意义不大,因为只有0.5%的优化空间。
    • 但是,在如图2-1的场景B中,训练误差8%与开发误差10%差异较大,优化空间有2%,这时我们可以通过减少方差(用正则化或收集更多的训练数据可减小方差)的手段让开发误差10%降到,8%,意义较大,优化效果明显。
    • 注意这里的无论是场景A还是场景B,都假设人类水平等于贝叶斯错误率。
    • 本小结,做了一个图作总结说明,如图2-2所示。

    ?

    此图像的alt属性为空;文件名为1-3.png

    图2-2

    ?

    2.4、 “可避免偏差”的概念定义

    ?

    • 把贝叶斯错误率的估计和训练错误率之间的差值,称为可避免偏差。
    • 你可能希望一直提高训练集表现,直到你接近贝叶斯错误率。但实际上你也不希望做到比贝叶斯错误率更好,这理论上是不可能超过贝叶斯错误率,除非过拟合。
    • 而训练错误率和开发错误率之前的差值,就大概说明你的算法在方差问题上还有多少改善空间。
    • 可避免偏差说明了有一些别的偏差,或者错误率有个无法超越的最低水平。场景B中,贝叶斯错误率是 7.5%,可避免偏差可能在0.5%左右,或者 0.5% 是可避免偏差的指标(0.5% = 8% - 7.5%),同时场景B中,2% 衡量了方差大小
    • (2% = 10% - 8%)
    • 场景A中,这 7% 衡量了可避免偏差大小(7% = 8% - 1%),而 2% 衡量了方差大小(2% = 10% - 8%)。场景A中,专注减少可避免偏差可能潜力更大。

    ?

    2.5、小结

    • 当你理解人类水平错误率,理解你对贝叶斯错误率的估计,你就可以在不同的场景中专注于不同的策略,使用避免偏差策略、还是避免方差策略。
    • 在训练时如何考虑人类水平表现来决定工作着力点,具体怎么做还有更多微妙的细节,所以在下一个视频中,我们会深入了解人类水平表现的真正意义。

    ?

    cs