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

对学习算法进行误差分析就像使用数据科学来分析 ML 系统的错误,以获得有关下一步该做什么的建议。从基本角度来看,组件误差分析告诉我们:哪些组件的性能是最值得尽力去改进的。

假设你有一个客户在网站上购物的数据集,数据科学家可能有许多不同的方法来分析数据。她可能会得出许多不同的结论——关于网站是否应该提高价格,关于通过不同营销活动获得的客户的终身价值等等。并不存在一种 “正确” 的方法来对数据集进行分析并得出许多可能有用的见解。同样,也没有一种 “正确” 的方法来进行误差分析。通过这些章节,你已经学习了许多最常见的设计模式,用于得到有关 ML 系统的有用见解,但你也可以自由尝试其他误差分析的方法。

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

组件误差分析与人类水平对比 - 图1

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

  • 在检测汽车时,汽车检测组件与人类水平表现相差多少?
  • 在检测行人时,行人检测组件与人类水平表现相差多少?
  • 整个系统的性能与人类表现相差多少?在这里,人类水平的表现假定:人类必须仅根据前两个流水线组件的输出(而不是访问摄像机图像)来规划汽车的路径。换句话说,当人类只得到相同的输入时,路径规划组件的性能与人类的性能相较如何?如果你发现其中一个组件远低于人类水平的表现,那么你现在可以专注于提高该组件的性能。

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

这是解决人类可解决的问题的另一个优势 - 你拥有更强大的误差分析工具,因此你可以更有效地优先处理团队的工作。