16. 清理贴错标签的开发集和测试集样本

在错误分析期间,你可能会注意到开发集中的一些样本被错误标记(mislabeled)。当我说”dislabeled”时,我的意思是在模型训练之前,这个样本被错误的打了标签。即(x, y)中的类别y值不正确。例如,也许一些不是猫咪的图片被错标记为猫咪,反之亦然。如果你觉得一小部分的被错误标记的样本很重要,你可以再添加一个错误标记的类别:
《16. 清理贴错标签的开发集和测试集样本》
你应该纠正被错误标记的样本吗?记住,开发集的目的是为了帮你快速评估算法,以便你可以判断算法A或B哪个更好。
例如,假设你的分类器表现如下:
• 开发集的整体准确率……………..90%(10%整体错误率)
• 贴错标签样本导致的错误………………………..0.6%(开发集错误的6%)
• 其它原因导致错误…………….9.4%(开发集错误的94%)
这里,相对于你可能正在改进9.4%的错误,由于错误标注导致0.6%的不准确率可能没那么重要。手动修正开发集中的错误是可以的,但这不是关键。不知道系统是否有10%或9.4%的整体错误可能没什么问题。
假设你不断改进猫咪分类器并达到以下性能:
• 开发集整体准确率.………………. 98.0% (2.0% 整体误差.)
• 错误被标记的样本导致的误差……. 0.6%. (开发集错误的30%.)
• 其它原因导致的误差………………… 1.4% (开发集错误的70%)
30%的错误是由于错误标注的开发图像造成的。这时候你需要改进你的开发集中的标注质量。处理错误的样本将帮助你算出分类器的错误是1.4%还是2%——这是一个相对比较明显的差异。
容忍开发集中的一些错误标注样本是很常见的,随着系统的改进,使得错误标注的原因占总误差的比例更高。
最后一章解释了如何通过算法的提升来改进错误标注的类别,例如:狗。猫科动物和模糊图像。本章你将会学到,你也可以在错误标记的类别上对标签进行改进。
无论你采用什么方法来修正开发集标签,记得也将其用于测试集标签,以便开发集和测试集任处于同一分布。开发集和测试集处于同一分布可以解决我们在第六章遇到的问题。(你的团队优化了开发集的性能,只是到后来他们才发现在根据不同的测试集进行不同的评估)。
如果你决定提升标签的质量,那么请考虑仔细检查系统错误分类的样本的标签。以及正确分类的样本标签。在一个样本中,原始标签和学习算法可能都是错误的。如果只是修正系统已经错误分类的样本的标签,最后可能会在你的评估中引入误差。如果有1000个开发集样本,并且分类器的准确率为98%,那么检查错误分类的20个样本比检查正确分类的所有980个样本要容易的多。因为在实际中只检查错误分类的样本比较容易,所以偏差会蔓延到一些开发集中。如果你只对开发产品和应用程序感兴趣,那这种偏差是可以接受的。但是如果你计划在学术论文中使用这个结果,或者需要一个完全无偏差的测量测试集的准确率,就不是个很好的选择。

点赞

发表评论

电子邮件地址不会被公开。