SVM复习-多分类问题的三种方法

  1. Binary Classifiers for Multi-Class Classification
    分类是一个预测性建模问题,涉及将类别标签分配给示例。

二进制分类是将示例完全分配给两个类之一的任务。 多类分类是指将示例完全分配给两个以上类之一的任务。

二进制分类:具有两个类别的分类任务。
多类别分类:具有两个以上类别的分类任务。

一些算法是针对二进制分类问题而设计的。 示例包括:
逻辑回归
感知器
支持向量机
因此,它们不能用于多类分类任务,至少不能直接用于。

相反,可以使用启发式方法将多类分类问题拆分为多个二进制分类数据集,并分别训练一个二进制分类模型。

这些启发式方法的两个示例包括:

  1. One-Vs-Rest for Multi-Class Classification
    多类分类的One-Vs-Rest

One-Vs-Rest(简称OvR,也称为One-vs-All或OvA)是一种使用二进制分类算法进行多分类的启发式方法。

它涉及将多类数据集拆分为多个二进制分类问题。然后针对每个二进制分类问题训练一个二进制分类器,并使用最有把握的模型进行预测。

例如,给定一个多类别分类问题,并为每个类别“红色”,“蓝色”和“绿色”提供示例。可以将其分为三个二进制分类数据集,如下所示:

二进制分类问题1:红色vs[蓝色,绿色]
二进制分类问题2:蓝色vs [红色,绿色]
二进制分类问题3:绿色vs[红色,蓝色]

这种方法的可能缺点是,需要为每个类创建一个模型。例如,三个类需要三个模型。对于大型数据集(例如数百万行),慢速模型(例如神经网络)或大量类(例如数百个类),这可能是一个问题。

此方法要求每个模型都预测类成员资格概率或类似概率的得分。然后,将这些分数的argmax(分数最高的类别索引)用于预测类别。

此方法通常用于自然预测数值类隶属度或分数的算法,例如:

逻辑回归
感知器
这样,在将这些算法用于多类分类时,默认情况下,scikit-learn库中这些算法的实现会实现OvR策略。

  1. One-Vs-One for Multi-Class Classification
    多类分类一对一

一对多(简称OvO)是将二进制分类算法用于多分类的另一种启发式方法。

一对多将多类别分类数据集拆分为二进制分类问题。与“One-Vs-Rest”将其分为每个类别的一个二进制数据集不同,“一对一”方法将数据集分为每个类别与其他类别的一个数据集。

例如,考虑一个具有四个类别的多类别分类问题:“红色”,“蓝色”和“绿色”,“黄色”。这可以分为六个二进制分类数据集,如下所示:

二进制分类问题1:红色与蓝色
二进制分类问题2:红色与绿色
二进制分类问题3:红色与黄色
二进制分类问题4:蓝色与绿色
二进制分类问题5:蓝色与黄色
二进制分类问题6:绿色与黄色
与上一节中描述的“一对多”策略相比,这明显是更多的数据集和模型。

用于计算二进制数据集以及模型数量的公式如下:

(NumClasses *(NumClasses – 1))/ 2
我们可以看到,对于四个类,这为我们提供了六个二进制分类问题的期望值:

(NumClasses *(NumClasses – 1))/ 2
(4 *(4 – 1))/ 2
(4 * 3)/ 2
12/2
6
每个二元分类模型可以预测一个类别标签,并且具有最多预测或投票的模型是通过一对一策略来预测的。

一种替代方法是引入K(K − 1)/ 2个二进制判别函数,每个可能的类对一个。这称为一对一分类器。然后根据判别函数中的多数票对每个点进行分类。

类似地,如果二元分类模型预测了数字类成员关系(例如概率),则将分数总和(具有最大总和分数的类)的argmax预测为类标签。

通常,建议将这种方法用于支持向量机(SVM)和相关的基于内核的算法。可以相信这是因为内核方法的性能与训练数据集的大小不成比例,并且使用训练数据的子集可以抵消这种影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值