当对不平衡类进行过采样/欠采样时,最大化准确性与最小化误分类成本是否不同?

机器算法验证 机器学习 分类 不平衡类
2022-03-24 22:29:42

首先,我想描述一些数据挖掘书籍用来解释如何处理不平衡数据集的常见布局。通常主要部分被命名为不平衡数据集,它们涵盖这两个小部分:成本敏感分类和采样技术。

似乎面对稀有类的问题,您可以同时执行成本敏感分类和采样。相反,我认为如果稀有类也是分类的目标并且对该类记录的错误分类代价高昂,则应该应用成本敏感技术。

另一方面,如果分类的目标是总体上良好的准确度,而不关注特定类别,则采样技术(例如过采样和欠采样)很有用。

这种信念来自MetaCost的基本原理,这是一种使分类器对成本敏感的一般方法:如果想要使分类器对成本敏感以惩罚稀有类的错误分类错误,他应该对另一个类进行过度采样. 粗略地说,分类器试图适应另一个类,它变得特定于稀有类。

这与对稀有类进行过采样相反,这是处理此问题的通常建议方法。稀有类的过采样或其他类的欠采样有助于提高整体准确度。

拜托,如果你证实了我的想法,那就太好了。

也就是说,面对不平衡数据集的常见问题是:

我是否应该尝试获取与其他记录一样多的稀有记录的数据集?

如果您正在寻找准确性,我的回答是:好的。您可以执行它来找出更罕见的类示例或删除其他类的一些记录。

如果您使用成本敏感的技术专注于稀有类,我会回答:您只能找到更多稀有类的示例,但您不应该删除其他类的记录。在后一种情况下,您将无法让分类器适应其他类,并且罕见的类错误分类错误可能会增加。

你会怎么回答?

1个回答

这是个好问题。就个人而言,我的回答是丢弃数据永远没有意义(除非出于计算原因),因为你拥有的数据越多,你的世界模型就越好。因此,我建议以适当的方式为您的任务修改成本函数就足够了。例如,如果您对某个特定的稀有类别感兴趣,您可以使该类别的错误分类更加昂贵;如果您对平衡测量感兴趣,那么平衡错误率(每个类的错误的平均值)或马修斯相关系数之类的东西是合适的;如果您只对整体分类错误感兴趣,传统的0-1 损失

解决该问题的一种现代方法是使用主动学习。例如, Hospedales et al (2011) “Finding Rare Classes: Active Learning with Generative and Discriminative Models, IEEE Transactions on Knowledge and Data Engineering, (TKDE 2011)。但是我相信这些方法仍然相对不成熟。