热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

机器学习:线性模型-多分类任务拆分之纠错输出码ECOC浅析

多分类任务通常转化为多个二分类任务,再对预测结果进行集成得出最终分类结果。拆分为二分类任务通常有3种:一对一(OvO),一对其余(OvR)和多对多(MvM)。

多分类任务通常转化为多个二分类任务,再对预测结果进行集成得出最终分类结果。
拆分为二分类任务通常有3种:一对一(OvO),一对其余(OvR)和多对多(MvM)。

OvO:
将N个类别两两配对,共N(N-1)/2个分类任务,每个分类任务一个类别作为正例,另一个作为反例,学习得到 N(N-1)/2个分类器。新样本同时提交给所有分类器,得到 N(N-1)/2个分类结果,把预测最多的类别作为最终结果。见下图:
OvR:
每次将一个类作为正例,其余所有类作为反例,训练N个分类器。新样本提交给所有分类器,若仅有一个分类器预测为正例,则该类标记作为最终结果,如上图。若有多个分类器标记为正例,则考虑预测置信度。

注:类别很多时,OvO的训练时间开销通常比OvR小(OvR每个分类器都使用全部样本)

MvM:
每次将若干个类别作为正例,其他作为反例,最常用“纠错错误码 (ECOC)”,(ECOC编码对分类器错误有一定的容忍修正能力,即使某个分类器预测出错,也不一定会影响结果)
ECOC:
编码:将N个类别做M次划分,每次将一部分作为正例,其余作为反例,学习到M个分类器;
解码:新样本提交给M个分类器,得到M个结果,组成一个编码,将其和每个类别各自的编码进行比较,距离最小的类别作为最终结果。如下图:

图a中测试样例的编码和C3类的编码欧式距离最小,所以测试样本最终判定结果为C3类(采用欧式距离判别)


推荐阅读
author-avatar
POPO炮炮_797
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有