多分类学习

分类学习器又叫“学习器”,有些二分类学习方法可以直接推广到多分类,更多情形下,我们是根据一些基本策略,利用二分类学习器来解决多分类问题。

 考虑N个类别C1,C2,.....,Cn。多分类学习的基本思路是“拆解法”,即将多分类任务拆解为若干个二分类任务求解。具体来说,先对问题进行拆分,然后为拆出的每个分类任务训练一个分类器;在测试时,对这些分类器的预测结果进行集成以获得最终的分类结果。那么,如何对多分类任务进行拆分,以及如何对多分类器进行集成。

  先讲述拆分策略。拆分策略有三种:“一对一”、“一对其余”和“多对多”。给定数据集D,有N个类别。一对一拆分是将这N个类别两两配对,从而产生N(N-1)/2个二分类任务,最终结果可通过投票产生:即把被预测的最多的类别作为最终分类结果。

  一对其余是每次将一个类的样例作为正例、所以其他类的样例作为反例来训练N个分类器。在测试时若仅有一个分类器预测正类,则对应的类别标记作为最终分类结果,若有多个分类器预测为正类,则通常考虑分类器的预测置信度,选择置信度最大的类别标记作为分类结果。

 

可以,一对其余只需要训练N个分类器,而一对一需训练N(N-1)/2个分类器,因此后者的存储开销和测试时间开销通常比前者更大。但前者的每个分类器均使用全部训练样例,而后者的每个分类器仅用到两个类的样例,至于预测性能,则取决于具体的数据分布,在多数情形下两者差不多。

  多对多是每次将若干个类作为正类,若干个其他类作为反类。正、反类构造必须有特殊的设计,不能随意选取。常用的技术有“纠错输出码”,主要分为两步:

 1.编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划分反类,从而形成一个二分类训练集;这样一共产生M个训练集,可以训练出M个分类器。

2.解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这些预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别最为最终的预测结果。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值