如何处理分类中的错误标签?

机器算法验证 分类 模型评估 监督学习 贴标签
2022-03-30 13:53:57

我有一个包含 2 个类的数据集:A 和 B。问题是 20% 到 30% 的 B 类样本被错误标记(标记为 B,但正确的标签是 A),我无法识别这些错误。

在这种情况下,有没有办法/方法/方法来提高分类性能?

4个回答

如果您有错误的数据并且无法获得真正的标签,那么您无法采取任何“正确”措施来获取此信息。

您可以首先将其视为无监督问题(或半监督问题),通过使用带有 2 个集群的聚类(因为您知道只有 2 个标签)来获得预测标签的模型,然后进行分类。请注意,这样的结果可能过于乐观。

在对噪声机制和数据分布的温和假设下(例如,小于的数据被错误标记),可以证明一些分类器在二元分类设置中是一致的。则称分类器取决于训练数据是一致的 其中分类器风险 := 被贝叶斯分类器 12Cn

R(Cn)R(CBayes)asn
R(C)
CBayes(x):={1,if η(x)1/20,otherwise

K-最近邻支持向量机可以被证明满足这个条件,而线性判别分析则不能。由于此限制保证为,因此这并不能回答您在案例中需要多少数据,但是我在下面参考的论文中进行了模拟研究,这可能有助于您获得直觉。 n





参考

Cannings, TI, Fan, Y. 和 Samworth, RJ (2018) 训练标签不完善的分类。https://arxiv.org/abs/1805.11505

以我的经验,如果出现错误数据,最好的做法是摆脱它。请看,与构建算法并将其应用于数据的传统编程不同,在机器学习中,算法来自数据本身,所以如果你输入错误的数据,它会破坏你的算法,你会得到很差的性能。您在任何机器学习算法中使用的数据都应该尽可能干净和简洁,以产生良好的结果。

你有一堆已知的 As(如果我没看错的话)和其他一些可能是也可能不是 As 的情况。所以你想从未知集合中找到最相似的案例。听起来比较简单。如果 As 确实不同,那么您将在相似性函数中得到很好的突破。