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


52

使用logistic回归SVM决策树装袋和许多其他类似问题时,我们已经对不平衡数据提出了多个问题,这使它成为一个非常受欢迎的话题!不幸的是,每个问题似乎都是特定于算法的,我没有找到任何处理不平衡数据的通用准则。

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

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

但是,到底什么时候我们应该担心数据不平衡?哪些算法最受它影响,哪些能够处理?我们需要哪种算法来平衡数据?我知道在像这样的问答网站上讨论每种算法都是不可能的,我宁愿寻找有关何时可能出现问题的一般准则。



@MatthewDrury谢谢,这是一个有趣的问题,但是恕我直言,它具有不同的范围。我要的是在确实存在问题时提供指导。当然回答“ 为什么”问题会导致回答“ 何时”问题,但是我正在寻找“ 何时”问题的精确答案。
蒂姆

9
很公平!我和你在一起。这方面的“文学”似乎全在于如何解决问题,而不必费心说服您确实存在要解决的问题,甚至不告诉您在什么情况下出现问题。对我来说,这是最令人沮丧的部分之一。
马修·德鲁里

2
@MatthewDrury是完全相同的问题!
蒂姆

1
方法的总体调查不在SE问题的范围之内。您想完善这个问题吗?
AdamO

Answers:


28

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

许多经典模型在平衡数据的假设下都进行了巧妙地简化,尤其是对于与实验设计密切相关的方差分析(ANOVA)之类的方法而言,这是开发统计方法的传统/原始动机。

但是统计/概率算法在数据不平衡的情况下变得非常难看,很快。在计算机被广泛采用之前,手工计算已经非常广泛,以至于几乎不可能估计不平衡数据的模型。

当然,计算机基本上已将其变为非问题。同样,我们可以估计海量数据集上的模型,解决高维优化问题,并从分析上难以解决的联合概率分布中抽取样本,而这些在功能上都是不可能的,比如五十年前。

这是一个老问题了,学者们花了很多时间来研究这个问题...与此同时,许多应用问题超过了/避免了研究的进行,但旧习惯却死了...

编辑添加:

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


4
虽然我似乎明白你的意思,但你的前提缺乏支持它们的论据。您能否就偏见以及如果对机器学习产生何种影响提供一些论据和/或示例?
蒂姆

1
虽然你说的是通常的情况,它也像方差分析方法是平衡的数据更强劲的情况下,非正态不太具有平衡数据,例如一个问题。但我相信所有这些都与这个问题的意图
息息相关

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

1
@ M.HenryL。为了完整性,此评论值得您补充。
蒂姆

16

在WLOG中,您可以将重点放在单个因素上的不平衡上,而不是更细微的“数据稀疏”或小单元数概念。

专注于学习的统计分析中,我们经常发现,使用倾向得分将较小的群体与较大的群体匹配时,可以提供相似或更好的功效。这部分是因为匹配在“平衡”组成员资格的决定因素方面具有与混杂调整相同的目的,从而阻止了混杂的影响。在多变量分析中可能需要调整的混杂因素数量的基本原理取决于样本量。一些经验法则说,每10到20个观察结果就有一个变量。在不平衡的数据中,您天真地认为您的数据足够大,但人稀少且情况稀少:方差膨胀会大大降低功率。实际上,您过度调整了。

因此,至少在回归分析中(但我怀疑在所有情况下),数据不平衡的唯一问题是有效地减少了样本量。如果有任何一种方法适合于稀有阶层的人数,那么他们的比例成员不平衡就不会有问题。


13

取决于您的应用程序,不平衡的数据只是一个问题。例如,如果您的数据表明A发生的时间为99.99%,B发生的时间为0.01%,并且您尝试预测某个结果,则算法可能始终会说A。这是正确的!您的方法不可能获得比99.99%更好的预测准确性。但是,在许多应用中,我们不仅对预测的正确性感兴趣,而且对为什么有时会发生B不感兴趣。这就是不平衡数据成为问题的地方。因为很难说服您的方法可以预测出99.99%以上的正确率。该方法是正确的,但不适合您的问题。因此,解决不平衡数据基本上是有意地使您的数据产生偏差,以获得有趣的结果而不是准确的结果。

通常有以下三种情况:

  1. 您纯粹对准确的预测感兴趣,并且您认为您的数据具有代表性。在这种情况下,您根本不必进行校正,您可以尽情享受99.99%的准确预测:)。

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

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

通常,它主要取决于目标是什么。有些目标遭受数据不平衡的困扰,而其他目标则没有。所有一般的预测方法都受此困扰,因为否则它们通常会给出可怕的结果。


7
当我们概率性地评估模型时,这个故事会如何改变?
马修·德鲁里

@MatthewDrury原始模型中的概率对于情况1和3基本上是正确的。问题在于,只有非常大的数据集,B才能与A正确分离,并且B的概率逐渐收敛到其实际值。唯一的例外是,如果B与A非常清楚地分离,或者与A完全随机地分离,则概率将分别几乎立即收敛或永不收敛。
zen

@zen我不同意逻辑回归不太容易受到攻击。Logistic回归很容易受到数据不平衡的影响,它会产生较小的样本偏差,对数比值比趋于2。有条件的Logistic回归是估计无偏差的相同OR的替代方法。
AdamO

@AdamO是的逻辑回归仍然很脆弱。但是对于树木,小情况可以完全忽略。也不只是样本量小。即使对于较大的n,例如,选项树之间的80%-20%分布仍然可以选择选择80%选项,即使20%选项的分数明显随某些变量x的增加而增加。如果找到了新的更极端的观察结果,或者对于任何极端点,分支的数量都很少,则树将预测80%的选择,而逻辑回归则不太可能这样做。您对条件Logistic回归是正确的
禅(Jen)2015年

2
@MatthewDrury Stephen Senn 在我经常重读的论文中对这一点进行了精彩的讨论。启发式地,通过ad /(bc)估算具有条目abcd的2x2表的比值比,并具有方差1 / a + 1 / b + 1 / c + 1 / d。您可以任意采样几种情况(a和c),并且优势比仍然是无偏的,但是方差变为无穷大。这是一个精度问题。
AdamO

8

假设我们有两个类:

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

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

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

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

问题通常可以解决。除了上述技巧外,还有其他选择。但是,它们是有代价的:模型和计算复杂性的增加。

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

  • 像往常一样减少容量。
  • 某些成本函数可能比其他成本函数更难解决:均方误差(MSE)的暴露程度比Huber少-MSE对于错误分类的B类元素应该没有那么好。

1
这隐含地假设(1)我们试图最大化的KPI是准确性,以及(2)准确性是用于分类模型评估的适当KPI。不是。
S. Kolassa-恢复莫妮卡

5

如果您考虑一下:在完全可分离的高度不平衡的数据集上,几乎所有算法都可以正确执行。

因此,这更多的是数据中的噪声问题,而与特定算法的联系较少。而且您事先不知道哪种算法可以最好地补偿一种特定类型的噪声。

最后,您只需要尝试不同的方法并通过交叉验证来确定即可。


我觉得这个评论有点被低估了。我只是花一些时间说服某人班级失衡并不总是一个问题。
RDK

这不能回答问题。不平衡的类如何 “更多地是数据中的噪声问题”?
S. Kolassa-恢复莫妮卡

2
@StephanKolassa这是一个答案,因为它说不平衡的数据不是(直接)问题。因此,您不能问“如何”。对于更普遍的问题“如何在数据分析中处理噪声问题”,答案是,它特定于单个数据集,您所能做的就是设置验证并尝试任何可行的方法。如果您真的想进行讨论,我相信ele.uri.edu/faculty/he/PDFfiles/ImbalancedLearning.pdf有想法。但是最后,您需要进行采样/重新加权/阈值处理,因此不值得知道此数据集中到底发生了什么。
Gerenuk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.