清除标注错误的数据(Cleaning up Incorrectly labeled data)
你的监督学习问题的数据由输入x和输出标签 y 构成,如果你观察一下你的数据,并发现有些输出标签 y 是错的,这些输出标签 y 是错的,你的数据有些标签是错的,是否值得花时间去修正这些标签呢?
我们看看在猫分类问题中,图片是猫,y=1;不是猫,y=0。
所以假设你看了一些数据样本,发现这(倒数第二张图片)其实不是猫,所以这是标记错误的样本。我用了这个词,“标记错误的样本”来表示你的学习算法输出了错误的 y 值。但我要说的是,对于标记错误的样本,参考你的数据集,在训练集或者测试集 y 的标签,人类给这部分数据加的标签,实际上是错的,这实际上是一只狗,所以 y 其实应该是0,也许做标记的那人疏忽了。
如果你发现你的数据有一些标记错误的样本,你该怎么办?
首先,我们来考虑训练集,事实证明,深度学习算法对于训练集中的随机错误是相当健壮的(robust)。
只要你的标记出错的样本,只要这些错误样本离随机错误不太远,有时可能做标记的人没有注意或者不小心,按错键了,如果错误足够随机,那么放着这些错误不管可能也没问题,而不要花太多时间修复它们。
当然你浏览一下训练集,检查一下这些标签,并修正它们也没什么害处。有时候修正这些错误是有价值的,有时候放着不管也可以,只要总数据集总足够大,实际错误率可能不会太高。我见过一大批机器学习