SVM 是否处理不平衡的数据集?这是处理不平衡数据集的任何参数(如 C 或错误分类成本)吗?
支持向量机是否处理不平衡的数据集?
机器算法验证
机器学习
支持向量机
不平衡类
2022-02-05 16:51:57
2个回答
对于不平衡的数据集,我们通常会更改每个类别的错误分类惩罚。这称为类加权 SVM,它可以最小化以下内容:
其中和表示正/负训练实例。在标准 SVM 中,我们只有一个值,而现在我们有 2 个。少数类的错误分类惩罚被选择为大于多数类的错误分类惩罚。
这种方法很早就引入了,例如在 1997 年的一篇论文中提到:
埃德加·奥苏纳、罗伯特·弗洛因德和费德里科·吉罗西。支持向量机:训练和应用。技术报告 AIM-1602, 1997. ( pdf )
从本质上讲,这相当于对少数类进行过采样:例如,如果,这完全等同于在训练集中包含每个正数两次后
SVM 能够处理类频率不平衡的数据集。许多实现允许您对正类和负类的松弛惩罚 (C) 具有不同的值(这渐近等效于更改类频率)。我建议设置这些参数的值,以便在类频率是您期望在操作使用中看到的测试集上最大化泛化性能。
我是为此写论文的许多人之一,这是我的,我会看看我是否能找到更新/更好的东西。试试Veropoulos、Campbell 和 Cristianini (1999)。
其它你可能感兴趣的问题