设置开发和测试集
- 开发集和测试集的定义
- 开发集和测试集应该服从同一分布
- 开发集和测试集应该有多大?
- 使用单值评估指标进行优化
- 优化指标和满意度指标
- 通过开发集和度量指标加速迭代
- 何时修改开发集、测试集和指标
- 小结:建立开发集和测试集
基本误差分析
- 快速构建并迭代你的第一个系统
- 误差分析:根据开发集样本评估想法
- 在误差分析时并行评估多个想法
- 清洗误标注的开发集和测试集样本
- 将大型开发集拆分为两个子集,专注其一
- Eyeball 和 Blackbox 开发集该设置多大?
- 小结:基础误差分析
偏差和方差
学习曲线
与人类水平的表现相比
不同发行版的培训和测试
调试推理算法
端到端学习
按零件进行误差分析
总结
将大型开发集拆分为两个子集,专注其一
假设你有一个含有 5000 个样本的大型开发集,该开发集的误差为 20% ,这意味着算法将误分类 1000 张开发集图片。人工手动检查这 1000 张图片会花费很长时间,所以我们在误差分析时没必要使用所有的图片。
在这种情况下,我会将开发集明确地分成两个子集,但只人工检查其中的一个。你将使得那些经人工查看的图片更快地过拟合,而另一部分没有被人工查看的图片可以在调参时使用。
继续上面的例子:在该例子中,算法将 5000 个开发集样本中 的1000 个样本误分类。假设我们想要对经人工检查的大约 100 个错误样本(整体的10%)进行误差分析,你应该随机选择 10% 的开发集,并将其放入 Eyeball 开发集中(译者注:直译为眼球不妥,保留原文),以提醒我们自己,我们正在用眼睛看着它。(对于语音识别项目,你可能需要听一些音频的剪辑,此时则将数据集称为 Ear 开发集)。因此 Eyeball 开发集将有 500 个样本,其中,预计被算法误分类样本约 100 个。
第二个子集叫做 Blackbox 开发集(直译为黑箱,保留原文),它由剩余的 4500 个样本组成。你可以使用 Blackbox 开发集,通过测量错误率来自动评估分类器,也可以使用它来选择算法或调整超参数。但是,你应该避免将目光局限于此。我们使用术语“ Blackbox ”是因为我们只使用该子集来获得分类器的“ Blackbox ”评价。
为什么我们要把开发集明确分为 Eyeball 开发集和 Blackbox 开发集呢?因为当你在 Eyeball 开发集中建立了对样本的直观认识之后,可使得Eyeball开发集更快地过拟合。如果你发现 Eyeball 开发集的性能比 Blackbox 开发集提升得更快,说明已经过拟合到 Eyeball 开发集了。此时可能需要丢弃它并寻找一个新的 Eyeball 开发集,比如可以将更多 Blackbox 开发集中的样本移到 Eyeball 开发集中,也可以考虑去获取新的标注数据。
将开发集明确地分为 Eyeball 和 Blackbox 开发两个子集将很有帮助,它使你了解在人为的误差分析过程中 Eyeball 开发集何时开始发生过拟合。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论