多分类学习、类别不平衡
多分类学习
最经典的拆分策略有三种:“一对一(OvO)”、“一对其余(OvR)”、”多对多(MvM)”。
OvO:将N个类别两两匹配,从而产生
OvR:每次将一个类作为样例的正例,其他所有均作为反例,得到N个分类器。提交新的样本同时也得到N个结果,最终结果通过投票产生。
MvM:每次将若干个类作为正例、若干个类作为反例。显然OvO、OvR都是其特例。MvM的正、反类设计必须有特殊的设计,常用的一种技术:”纠错输出码”,简称ECOC。
ECOC是将编码的思想引入类别的划分,并可能在解码过程中具有容错性。ECOC工作过程主要分为两步:
对同一个学习任务来说,ECOC编码越长,纠错能力越强。然而编码越长所需要的训练的分类器越多,计算存储开销都会增大;另一方面对于有限类别码长超过一定范围就没有意义了。对于同等长度的编码,理论上来说,任务两个类别之间的编码距离越远,则纠错能力越强。
类别不平衡问题
类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。
从线性分类器角度考虑,利用
然而,当训练集正、反例数量不同时,令
这时候就可以令
这就是类别不平衡的一个基本策略—“再缩放”。现有技术大体三类方法:第一类是直接对训练集例的反类样例进行“欠采样”,即除去一些反例样本,使正反接近。第二类是对训练集中的正类样本进行“过采样”,即增加一些正例样本,使正反接近。第三类是直接基于原始数据训练集进行学习,但在应训练好的分类器进行预测时,将再缩放策略嵌入其决策过程中,称为“阀值移动”。
欠采样的时间开销通常远小于过采样,因为前者丢弃了许多数据,后者添加了许多数据。注意的是过采样不能随意对正例样本重复采样,会导致过拟合,过采样的代表性算法SMOTE通过对训练集里的正例进行插值产生额外的正例。另一方面,欠采样也不能随意丢弃数据,可能会丢失重要信息,欠采样的代表性算法EasyEnsemble则是利用集成学习机制,将反例划分为若干个几个供不同学习器使用,这样对每个学习器都进行欠采样,但在全局来看不会丢失重要信息。
值的一题的是,“再缩放”是“代价敏感学习”的基础。