吴恩达机器学习训练秘籍整理五十三到五十七章(八)组件分析

第五十三章:

根据组件进行误差分析

假设你的系统由复杂的机器学习流水线所构建,并且你希望提高该系统的性能,那应该从流水线的哪一部分开始改进呢?你可以通过将误差归因于流水线的特定组件,来决定工作的优先级。

在上图的流水线中,第一部分是猫检测器,它能够检测出猫,并将它们从图像裁剪出来;第二部分是猫的品种分类器,决定它是否是暹罗猫。通过按组件进行误差分析,你可以尝试将每一个算法造成的误差归因于流水线的某个(有时是两个)组件。

如果你对 100 个误分类的开发集图像遍历检查,并发现 90 个误差可归因于猫探测器,并只有 10 个误差可归因于猫品种分类器。 那么你可以有把握地得出结论,应该更加专注于改进猫探测器。

第五十四章:

误差归因至某个组件

假设猫咪检测器标注的猫标注框不完全,分类器分类错误。我们如何判断是检测器的问题还是分类器的问题。

这里有一个更正式的测试方法,可以让你更明确地将误差归因于某一个组件:

  1. 用手动标记的边界框替换猫检测器的输出。

  2. 通过猫品种分类器处理相应的裁剪图像。 如果猫品种分类器仍将其错误地分类,则将误差归因于猫品种分类器。 否则,将此误差归因于猫检测器。

第五十五章:

误差归因的一般情况

假设在流水线中有三个步骤 A,B 和 C,其中 A 直接输出到 B,B直接输出到 C.

对于系统在开发集上存在的每个错误样本:

  1. 尝试人为修改 A 的输出为 “完美” 输出(例如,猫的 “完美” 边界框),并在此输出上运行流水线其余的 B,C 部分。 如果算法现在给出了正确的输出,那么这表明,只要 A 给出了更好的输出,那么整个算法的输出就是正确的;因此,你可以将此误差归因于组件 A. 否则,请继续执行步骤 2.

  2. 尝试人为修改 B 的输出为 “完美” 输出。如果算法现在给出正确的输出,则将误差归因于组件 B. 否则,继续执行步骤 3.

  3. 将误差归因于组件 C.

第五十六章:

组件分析与人类水平对比

组件分析可以告诉我们哪个组件值得我们去尽力改进。

以自动驾驶为例,其中汽车检测算法输出附近汽车的位置(也可能是速度),行人检测算法输出附近行人的位置,这两个输出最终用于为当前车辆进行路径规划。

如果想要调试该流水线,却不希望严格遵循上一章中提到的过程,你可以非正式地询问:

  1. 在检测汽车时,汽车检测组件与人类水平表现相差多少?

  2. 在检测行人时,行人检测组件与人类水平表现相差多少?

  3. 整个系统的性能与人类表现相差多少?在这里,人类水平的表现假定:人类必须仅根据前两个流水线组件的输出(而不是访问摄像机图像)来规划汽车的路径。换句话说,当人类只得到相同的输入时,路径规划组件的性能与人类的性能相较如何?

如果我们发现其中的一个组件远远地小于人类水平,那么我们就需要集中注意力改进这个组件。

第五十七章:

发现有缺陷的机器学习流水线

假设我们的机器学习流水线上面的组将性能都和人类水平相近,但是整体性能远远地低于人类水平,通常意味着设计缺陷需要重新设计流水线。

假设上图路径规划流水线:

1.车辆检测组件用来检测车辆,和人类水平相当。

2.行人检测组将用来检测行人,和人类水平相当。

3.将两者结合在一起组成路径规划和人类水平相差较大。

可以得出我们的流水线存在着设计缺陷。这时候我们要考虑除了早期的这两个流水线组件还需要哪些信息来作为汽车路径规划的辅助信息。

假设我们将车道标记检测加入进来重新设计一个机器学习的流水线。如下图所示。有可能我们现在的流水线可以达到人类水平。如果没有达到说明我们的流水线还存在着缺陷需要重新设计。

第五十八章:

机器学习训练秘籍下载地址:https://accepteddoge.github.io/machine-learning-yearning-cn/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值