什么时候不平衡数据真的是机器学习中的问题?

机器算法验证 机器学习 分类 预测模型 不平衡类
2022-01-20 22:42:28

在使用逻辑回归支持向量机、决策树装袋和许多其他类似问题时,我们已经有多个关于不平衡数据的问题,是什么让它成为一个非常受欢迎的话题!不幸的是,每个问题似乎都是特定于算法的,我没有找到任何处理不平衡数据的一般准则。

引用Marc Claesen 的答案之一,处理不平衡的数据

(...) 很大程度上取决于学习方法。大多数通用方法都有一种(或几种)方法来处理这个问题。

但是我们究竟应该在什么时候担心不平衡的数据呢?哪些算法主要受它的影响,哪些算法能够处理它?哪些算法需要我们平衡数据?我知道在这样的问答网站上讨论每种算法是不可能的。我宁愿寻找关于何时可能出现问题的一般指导方针。

4个回答

不是直接的答案,但值得注意的是,在统计文献中,对不平衡数据的一些偏见具有历史根源。

许多经典模型在平衡数据的假设下巧妙地简化,特别是对于与实验设计密切相关的 ANOVA 等方法——这是开发统计方法的传统/原始动机。

但是统计/概率算术变得非常丑陋,非常快,数据不平衡。在计算机广泛采用之前,手工计算非常广泛,以致于估计不平衡数据的模型实际上是不可能的。

当然,计算机基本上已经使这成为一个非问题。同样,我们可以在海量数据集上估计模型,解决高维优化问题,并从难以分析的联合概率分布中抽取样本,所有这些在功能上都是不可能的,就像 50 年前一样。

这是一个老问题,学者们花了很多时间来解决这个问题......同时,许多应用问题超过/排除了该研究,但旧习惯很难改掉......

编辑添加:

我意识到我没有站出来只是说出来:使用不平衡数据没有低级问题。以我的经验,“避免不平衡数据”的建议要么是特定于算法的,要么是继承的智慧。我同意 AdamO 的观点,一般来说,不平衡的数据不会对指定良好的模型造成概念上的问题。

不平衡的数据只是一个问题,具体取决于您的应用程序。例如,如果您的数据表明 A 发生 99.99% 的时间和 0.01% 的时间 B 发生,并且您尝试预测某个结果,您的算法可能总是会说 A。这当然是正确的!您的方法不太可能获得比 99.99% 更好的预测准确度。然而,在许多应用程序中,我们不仅对预测的正确性感兴趣,而且对为什么 B 有时会发生感兴趣。这就是不平衡数据成为问题的地方。因为很难让你的方法相信它的预测正确率超过 99.99%。该方法是正确的,但不适用于您的问题。所以解决不平衡的数据基本上是故意偏向你的数据以获得有趣的结果而不是准确的结果。

一般分为三种情况:

  1. 您只对准确的预测感兴趣,并且认为您的数据具有代表性。在这种情况下,您根本不需要更正。沉浸在您 99.99% 准确预测的荣耀中:)。

  2. 您对预测感兴趣,但您的数据来自公平的样本,但不知何故您丢失了许多观察结果。如果您以完全随机的方式丢失了观察结果,您仍然可以。如果你以一种有偏见的方式丢失了它们,但你不知道有多大的偏见,你将需要新的数据。但是,如果这些观察仅基于一个特征而丢失。(例如,您对 A 和 B 中的结果进行了排序,但没有以任何其他方式排序,但丢失了 B 的一半) Ypu 可以引导您的数据。

  3. 您对准确的全局预测不感兴趣,但仅在极少数情况下。在这种情况下,您可以通过引导数据来增加该案例的数据,或者如果您有足够的数据抛出其他案例的数据。请注意,这确实会使您的数据和结果产生偏差,因此机会和那种结果是错误的!

一般来说,这主要取决于目标是什么。有些目标会受到不平衡数据的影响,而其他目标则不会。所有一般的预测方法都会受到它的影响,因为否则它们通常会给出糟糕的结果。

WLOG 您可以专注于单一因素的不平衡,而不是更细致入微的“数据稀疏性”概念或小细胞计数。

在不关注学习的统计分析中,我们面临的问题是提供充分的推理,同时通过调整、匹配或加权来控制一种或多种影响。所有这些都具有相似的功效并产生与倾向得分匹配相似的估计。倾向得分匹配将平衡分析​​集中的协变量。在减少偏见、保持效率方面,它们最终都是“相同的”,因为它们阻止了混杂效应。对于不平衡的数据,您可能天真地认为您的数据足够大,但少数人具有更罕见的情况:方差膨胀会大大降低功效,并且当这些影响强相关时,可能难以“控制”影响与预测器和结果。

因此,至少在回归中(但我怀疑在所有情况下),数据不平衡的唯一问题是您实际上拥有的样本量比$N$可能代表的要小。如果任何方法适合稀有类的人数,如果他们的比例成员不平衡,应该没有问题。

假设我们有两个类:

  • A,代表99.99%的人口
  • B,占人口的 0.01%

假设我们有兴趣识别 B 类元素,这可能是受罕见疾病或欺诈者影响的个人。

仅仅通过猜测A学习者会在他们的损失函数上得分很高,并且极少数错误分类的元素可能不会在数字上移动指针(在这种情况下是大海捞针)。这个例子带来了减轻类不平衡问题的“技巧”之一背后的直觉:调整成本函数。

我觉得当模型显示接近零的敏感性和接近一的特异性时,不平衡的数据是一个问题。请参阅本文“忽略问题”部分下的示例。

问题往往有解决办法。除了上述技巧,还有其他选择然而,它们是有代价的:模型和计算复杂性的增加。

该问题询问哪些模型更有可能解决接近零的敏感性和接近一的特异性。我觉得这取决于几个方面: