· 现实中常常遇到多分类问题,有些二分类问题可以直接推广到多分类。不失一般性地,考虑N个类别C1,C2,...Cn,多分类基本思想是“拆解法",将多分类任务拆解为若干个二分类任务求解。
· 最经典的拆分策略有三种:“一对一”(OvO),“一对其余”(OvR)和“多对多”(MvM),
一对一和一对其余示意图:
· 一对一:将为区分类别为Ci和Cj训练一个分类器,于是共要训练N(N-1)/2个分类器,最终结果通过投票完成。
· 一对其余:每次将一个类的样例作为正例,其余作为反例,在测试时,若仅有一个分类器预测为正例,则对应分类为最终分类结果。
· 总结:OvO所要分类器个数远大于OvR,但每个分类器所需样例少,OvR虽然分类器少,但每个分类器要用到所有的类别样例。
多对多
MvM是每次将若干个类作为正类,若干个作为反类。正反类的构造使用一种常用技术:“纠错输出码”(ECOC)
ECOC主要分为两步完成:
· 编码:对N个类别做M次划分,每次划分将一部分类别划分为正类,一部分划为反类,从而形成一个二分类训练集;这样生成了M个二分器
· 解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每隔类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
ECOC示意图: