支持向量机是否处理不平衡的数据集?


14

SVM是否处理不平衡的数据集?是否有任何参数(例如C或分类错误成本)处理不平衡的数据集?


1
是什么使数据集“失衡”?
ub

1
班级患病率差异很大的分类数据集通常被称为不平衡。
马克·克莱森

1
@Marc一般来说,这可能是正确的,但这是一个模糊的概念。“差异很大”多少?除了某些特殊情况,为什么还要重要呢?我认为,对于我们来说,重要的是要了解这个问题的提出者 “不平衡”的含义,而不是接受任何人对预期含义的明智猜测。
ub

@whuber不平衡数据集是机器学习中的常见概念。在应用方面,例如由于垃圾邮件检测等。也许是因为算法的主要目标是误分类错误而不是概率。这又使误差的加权成为问题。
seanv507

2
谢谢@seanv的澄清。术语上的问题实际上似乎是“句柄”不是指“可以应用于”,而是暗示一种设置,其中(1)某类的少数,其预测性能可能受到以下方面的严重影响:其他类别的存在,而(2)对少数类别的准确预测很有趣。从这个意义上说,“数据集不平衡”是对问题的相当不完整的描述,但是由于该术语似乎已经获得了某种货币,因此抱怨似乎毫无意义。
ub

Answers:


18

对于不平衡的数据集,我们通常会更改每个类别的误分类惩罚。这称为类加权SVM,它将最小化以下内容:

minw,b,ξi=1Nj=1Nαiαjyiyjκ(xi,xj)+CposiPξi+CnegiNξi,s.t.yi(j=1Nαjyjκ(xi,xj)+b)1ξi,i=1Nξi0,i=1N

其中N代表正/负训练实例。在标准SVM中,我们只有一个C值,而现在只有2。选择少数类的错误分类惩罚要大于多数类的错误分类惩罚。PNC

这种方法是很早就引入的,例如在1997年的一篇论文中就提到过:

Edgar Osuna,Robert Freund和Federico Girosi。支持向量机:培训和应用。技术报告AIM-1602,1997.(pdf

Cpos=2CnegC=Cneg


太好了,谢谢!除此之外,逻辑回归,海军贝叶斯,决策树还可以解决这种不平衡问题吗?
RockTheStar

Logistic回归确实可以,您只需对正模式和负模式的可能性进行加权即可。
2014年

Logistic回归和SVM提供了内在的方式。我并不完全了解其他所有方法,但是对少数类进行过度采样几乎对每种方法都有效(尽管在数学上并不精确)。
马克·克莱森

1
太好了,谢谢@Dikran。马克:是的,简单的过采样通常可以正常工作。但是,这取决于情况。发生的情况是,当您对少数群体进行过度采样时(在相同位置一次又一次地复制少数群体点),您就在少数群体数据中添加了“权重”。这从根本上有助于改善少数群体例子的“考虑”。但是,分类的决策边界将变得非常紧张(不够通用),也就是说,可能会出现过度拟合的情况。因此,我们可能必须考虑一些概率抽样技术,例如SMOTE。
RockTheStar

10

SVM能够处理班级频率不平衡的数据集。许多实现使您可以为正类和负类使用不同的松弛罚分(C)值(渐近等效于更改类频率)。我建议设置这些参数的值,以最大程度地提高测试集的泛化性能,在该测试集上,类频率是您希望在使用中看到的那些频率。

我是为此撰写论文的众多人之一,这是我的,我看看是否能找到更近期/更好的东西。尝试Veropoulos,Campbell和Cristianini(1999)。


Dikran为什么只渐近地等同于……肯定地等同于以不同的方式加权不同的类误差?
seanv507

这完全等于加权类错误,但这与重新采样数据不同(一开始,权重是连续可变的,但数据是离散的)。它是渐近期望结果之一(在大多数情况下似乎并不是特别有用)。
2014年
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.