设置开发和测试集
- 开发集和测试集的定义
- 开发集和测试集应该服从同一分布
- 开发集和测试集应该有多大?
- 使用单值评估指标进行优化
- 优化指标和满意度指标
- 通过开发集和度量指标加速迭代
- 何时修改开发集、测试集和指标
- 小结:建立开发集和测试集
基本误差分析
- 快速构建并迭代你的第一个系统
- 误差分析:根据开发集样本评估想法
- 在误差分析时并行评估多个想法
- 清洗误标注的开发集和测试集样本
- 将大型开发集拆分为两个子集,专注其一
- Eyeball 和 Blackbox 开发集该设置多大?
- 小结:基础误差分析
偏差和方差
学习曲线
与人类水平的表现相比
不同发行版的培训和测试
调试推理算法
端到端学习
按零件进行误差分析
总结
误差分析:根据开发集样本评估想法
在使用猫咪 app 时,你注意到它将一些狗的图片误分类为猫了,因为有些狗的样子的确很像猫。
团队中有人建议,加入第三方软件来帮助系统更好地处理狗的样本,但这需要一个月的时间去完成。面对团队成员高涨的热情,你会允许他们这样做吗?
在执行这项计划前,我建议你先预估一下该任务能提升多少系统精度。这样你就能够更加理性地判断是否值得花一个月的时间做这件事,还是将这段时间用于其它任务。
具体而言,你可以这样:
- 收集 100 个开发集中被误分类的样本,即造成系统误差的样本。
- 人为查看这些样本,并计算其中狗的比例。
查看误分类样本的这一过程称为误差分析。在上面的例子中,如果只有 5% 误分类的图像是狗,那么无论你在狗的问题上做多少的算法改进,最终都不会消除超过原有的 5% 误差 . 也即是说 5% 是该计划项目所能起到帮助的“上限”(最大可能值)。所以如果整个系统当前的精度为 90%(对应误差为 10%),那么这种改进最多能将精度提升到 90.5% (对应误差下降到 9.5% , 改进了原有 10% 误差其中的 5%)。
相反,如果你发现 50% 的误分类图像是狗,那就可以自信地说这个项目将效果明显,它可以将精度从 90% 提升到 95% (相对误差减少 50%,整体误差由 10% 下降到 5%)。
这种简单的误差分析计算过程可以协助你快速评估,从而了解是否需要将处理狗样本的第三方软件进行整合。它为是否值得进行这项投入给出了一个量化的基准。
误差分析也可以帮助你在不同的想法中发现哪些想法将更有前景。我见过许多工程师不愿意进行误差分析,他们更倾向于直接提出一个并实现一个想法,而不考虑该想法是否值得花时间去投入。这是一个普遍的误解:后果可能是你的团队在耗费一个月的时间后却发现收益甚少。
人为检查 100 个样本并不会占用太多的时间。即使你每分钟只检查一张图片,也能够在两小时内完成,而这两个小时可能可以帮你节省一个月的工作量。
误差分析(Error Analysis) 指的是检查被算法误分类的开发集样本的过程,以便帮助你找到造成这些误差的原因。这将协助你确定各个项目的优先级(就像上面的例子所提到的那样)并且获得探索新方向的灵感,我们将会在之后再讨论这些内容。接下来的几章会给出一些误差分析的最佳实践。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论