吴恩达新书-机器学习学习笔记-(九)根据组件进行误差分析

书籍资料可以在以下链接中找到:中文版,英文版

1.根据组件进行误差分析

如上图所示:我们可能能检测出猫咪不能判别,或者能判别却不能检测出猫咪。查看每个组件的输出,并看看是否可以决定哪个部分出错了。 这种非正式的方法可能就是你所需要的。

2.误差归因至某个组件

如果像这样模糊情况的数量很少,你可以做出你想要的任何决定并获得类似的结果。 但这里有一个更正式的测试方法,可以让你更明确地将误差归因于某一个组件:

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

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

情况1:即使给出了一个 “完美” 的边界框,猫品种分类器仍然错误地输出 . 在这种情况下,猫品种分类器很明显存在着问题。

情况2:给定一个 “完美” 的边界框,品种分类器现在正确输出 . 这表明只要猫检测器给出了一个更完美的边界框,那么整个系统的输出就是正确的。 因此,将误差归因于猫检测器。

通过对开发集误分类的图像执行此分析,你现在可以将每个误差明确地归因于一个组件。 这允许你对流水线不同组件所造成的误差程度进行估计,从而决定将注意力集中在哪儿。

3.组件误差分析与人类水平对比

让我们回到自动驾驶应用程序的讨论中,其中汽车检测算法输出附近汽车的位置(也可能是速度),行人检测算法输出附近行人的位置,这两个输出最终用于为当前车辆进行路径规划。

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

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

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

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

如果你发现其中一个组件远低于人类水平的表现,那么你现在可以专注于提高该组件的性能。当我们尝试自动化人类可以做的事情时,许多误差分析过程将表现得最好,因此可以对人类水平的表现进行基准测试。 我们前面的大多数例子都有这个隐含的假设。 如果你正在构建 ML系统,其中最终输出或某些中间组件正在做甚至连人类都无法做好的事情,那么这些过程中的
一些步骤将不起作用。

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

如果你的机器学习流水线的每个单独组件在人类水平性能或接近人类水平性能上执行,但总体流水线性能却远远低于人类水平会怎么样?这通常意味着流水线存在缺陷,需要重新设计。误差分析还可以帮助你了解是否需要重新设计流水线。

 

猜你喜欢

转载自blog.csdn.net/weixin_39059031/article/details/83721857