机器学习笔记(IX)线性模型(V)多分类学习

拆解法

多分类问题的一般方法,是将多分类任务拆分为多个二分类任务求解,这里设有 N 个类别:C1,C2,,CN

具体做法

1:将多分类问题拆解为若干个二分类问题
2:为每个二分类问题训练一个分类器
3:得出每个二分类问题的预测结果
4:对这些二分类问题的结果进行集成最后得到多分类结果

拆分策略

给定数据集:

D={(x1,y1),(x2,y2),,(xm,ym)},yi{C1,C2,,CN}

拆分方法如下:

OvO

OvO(One vs ˙One)
“一对一”
N 个类别两两配对,从而产生了N(N1)2个二分类问题

图解

这里写图片描述

OvR

OvR(One vs ˙Rest)
每次将一个类的样例作为正例,其他类的样例作为反例来训练 N 个分类器,在测试时仅有一个分类器预测为正类,则对应的类别标记就作为最终分类结果。
这里写图片描述

OvO OvR 的比较

分类器个数:
OvO 需要训练 N(N1)2 个分类器
OvR 只需要训练 N 个分类器,
分类器的样例:
OvO每个分类器使用两个样例
OvR 每个分类器使用所有样例
时间开销:
在类别比较少的情况下:
OvO 的训练器比较多,所以存储开销和测试时间开销通常都比 OvR 的大。
在类别比较多的情况下:
OvO 的训练器的样例比较少,所以训练时间开销通常都比 OvR 的少。

MvM

MvM(Many vs ˙Many)

做法

每次将若干个类作为正类,其他若干个类作为反类。

纠错输出码 ECOC

ECOC=(Error Correcting Output Codes)
编码:
N 个类别做M次划分,每次划分将一部分类别划分为正类,一部分划分为反类,从而形成一个二分类训练集,这样一共产生 M 个训练集,可以训练出M个分类器。
解码:
M 个分类器分别对测试样本进行预测,这些预测标记组成一个解码,将这个预测解码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终结果。

编码矩阵

“+1”和“-1”分别表示学习器fi将该类别样本作为正反例,“0”表示 fi 不适用该类样本。

主要形式:

={==+11

这里写图片描述
====+110

这里写图片描述

ECOC 码的性质

一般来说:在同一个学习任务中
码长度 ,纠错能力 ,训练分类器 ,计算存储开销
对同等长度的编码,任意两个类别之间的编码距离越远,则纠错能力越强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值