您的位置:首页 > 其它

多分类学习问题的解决方法

2018-01-07 21:08 176 查看

基本思路

利用二分类学习器解决多分类问题。考虑N个类别C1,C2,...,CN,多分类学习的基本思路是“拆解法”,即将多分类问题拆分,然后为拆出的每个二分类任务训练一个分类器;在测试的时候,对每个分类器的预测结果进行集成,然后获得多分类结果。

具体方法

拆分策略:“一对一”(OvO),“一对其余”(OvR),“多对多”(MvM)

对给定的数据集D=(x1,y1),(x2,y2),...,(xm,ym),yi∈C1,C2,...,CN.

OvO:将这N个类别两两配对,从而产生N(N−1)/2个二分类任务,例如OvO将为区分类别Ci和Cj训练一个分类器,把Ci类样例作为正例,Cj类样例作为反例。在测试阶段,将N(N−1)/2个二分类结果通过投票产生最终结果:将预测最多的类别作为最终分类结果。

OvR:将一个类作为正例、剩下的作为负例来训练N个分类器。若有一个分类器被分为正例,则被标记正例的类即为最终分类结果,若有多个,则求取每个类别的置信度,选取置信度最大的类别作为最终结果。



MvM:将若干个类作为正类,剩下的若干类为反类,通过“纠错输出码(ECOC)”来选取正反类。

process:

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

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

如下例:



对于向量X=(x1,x2,x3,x4...,xn);Y=(y1,y2,y3,y4...,yn)

欧氏距离:

D1=(y1−x1)2+(y2−x2)2+(y3−x3)2+...+(yn−xn)2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√

海明距离:D2=∑ni=1II(xi≠yi)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐