机器学习-支持向量机 -- 多分类SVM

上节回顾

机器学习-支持向量机 -- 多分类SVM机器学习-支持向量机 -- 多分类SVM机器学习-支持向量机 -- 多分类SVM

多分类SVM


1. 多分类学习概述

2. 多分类学习 -- 一对一

3. 多分类学习 -- 一对多余

4. 一对多 VS 一对其余

5. 多分类学习 -- 多对多


1. 多分类学习概述

(1)多分类学习方法

二分类学习方法推广到多类

利用二分类学习器解决多分类问题(常用)

对问题进行拆分,为拆出的每个二分类任务训练一个分类器

对于每个分类器的预测结果进行集成以获得最终的多分类结果

(2)拆分策略

一对一(One vs. One, OvO)

一对其余(One vs. Rest, OvR)

多对多(Many vs. Many, MvM)

2. 多分类学习 -- 一对一

一对一:one-against-one, or pairwise classification

     设训练集数据共M个类,one-against-one方法是在每两个类之间都构造一个binary SVM。

机器学习-支持向量机 -- 多分类SVM

对第i类数据和第j类数据,训练一个binary SVM,即求解下列二次规划问题。

机器学习-支持向量机 -- 多分类SVM

机器学习-支持向量机 -- 多分类SVM

机器学习-支持向量机 -- 多分类SVM

测试阶段:投票策略(voting strategy)

  每个binary SVM根据其决策函数对新数据xnew有一个预测(投票),以i类和j类之间binary SVM为例,若对xnew的预测为i类,则i类得票加1;否则j类加1;

  最终得票最多的类别就是对xnew的预测;

  若出现平票的情况,(虽然可能不是一个好方法),简单地选择索引较小的那个类别作为对xnew的分类。

机器学习-支持向量机 -- 多分类SVM

3. 多分类学习 -- 一对多余

一对多:one-against-all, or one-against-the-rest

对于每一个类,将其作为+1类,而其余M-1个类的所有样本作为-1类,构造一个binary SVM。

机器学习-支持向量机 -- 多分类SVM

机器学习-支持向量机 -- 多分类SVM

机器学习-支持向量机 -- 多分类SVM

机器学习-支持向量机 -- 多分类SVM

4. 一对多 VS 一对其余

机器学习-支持向量机 -- 多分类SVM

一对一

一对其余

训练M(M-1)/2个分类器,存储开销和测试时间大

训练只用两个类的样例,训练时间短

训练M个分类器,存储开销和测试时间小

训练用到全部训练样例,训练时间长

预测性能取决于具体数据分布,多数情况下两者差不多

5. 多分类学习 -- 多对多

多对多(Many vs Many, MvM)若干类作为正类,若干类作为反类

纠错输出码(Error Correcting Output Code, ECOC)

机器学习-支持向量机 -- 多分类SVM

机器学习-支持向量机 -- 多分类SVM