基本思路
利用二分类学习器解决多分类问题。考虑N个类别C1,C2,...,CN,多分类学习的基本思路是“拆解法”,即将多分类问题拆分,然后为拆出的每个二分类任务训练一个分类器;在测试的时候,对每个分类器的预测结果进行集成,然后获得多分类结果。
具体方法
拆分策略:“一对一”(OvO),“一对其余”(OvR),“多对多”(MvM)
对给定的数据集D=(x1,y1),(x2,y2),...,(xm,ym),yi∈C1,C2,...,CN.
OvO:将这N个类别两两配对,从而产生N(N−1)/2个二分类任务,例如OvO将为区分类别Ci和Cj训练一个分类器,把Ci类样例作为正例,Cj类样例作为反例。在测试阶段,将N(N−1)/2个二分类结果通过投票产生最终结果:将预测最多的类别作为最终分类结果。
OvR:将一个类作为正例、剩下的作为负例来训练N个分类器。若有一个分类器被分为正例,则被标记正例的类即为最终分类结果,若有多个,则求取每个类别的置信度,选取置信度最大的类别作为最终结果。
MvM:将若干个类作为正类,剩下的若干类为反类,通过“纠错输出码(ECOC)”来选取正反类。
process:
1.编码:对N个类别做M次划分,每次划分将一部分类别划分为正类,一部分划分为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可训练出M个分类器。
2.解码:对M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别的各自编码进行比较,返回其中最小的类别作为最终预测结果。
如下例:
对于向量X=(x1,x2,x3,x4...,xn);Y=(y1,y2,y3,y4...,yn)
欧氏距离:
D1=(y1−x1)2+(y2−x2)2+(y3−x3)2+...+(yn−xn)2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
海明距离:D2=∑ni=1II(xi≠yi)