多分类学习
最经典的拆分策略有三种:“一对一(OvO)”、“一对其余(OvR)”、”多对多(MvM)”。
OvO:将N个类别两两匹配,从而产生 N(N−1)/2 个二分类器。将新样本提交给所有的分类器,得到了 N(N−1)/2 个结果,最终结果通过投票产生。N比较大的时候,代价还是挺高。
OvR:每次将一个类作为样例的正例,其他所有均作为反例,得到N个分类器。提交新的样本同时也得到N个结果,最终结果通过投票产生。
MvM:每次将若干个类作为正例、若干个类作为反例。显然OvO、OvR都是其特例。MvM的正、反类设计必须有特殊的设计,常用的一种技术:”纠错输出码”,简称ECOC。
ECOC是将编码的思想引入类别的划分,并可能在解码过程中具有容错性。ECOC工作过程主要分为两步:
∙ 对N个类做M次划分,每次划分将一部分作为正类,一部分划分反类,从而形成一个二分类训练集。一共产生M个训练集,训练出M个分类器。
∙ M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类各自的编码进行比较,返回其中距离最小的类别作为最终结果。
对同一个学习任务来说,ECOC编码越长,纠错能力越强。然而编码越长所需要的训练的分类器越多,计算存储开销都会增大;另一方面对于有限类别码长超过一定范围就没有意义了。对于同等长度的编码,理论上来说,任务两个类别之间的编码距离越远,则纠错能力越强。
类别不平衡问题
类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。
从线性分类器角度考虑,利用 y=