多分类问题multicalss classification
多分类问题:有N个类别C1,C2,...,Cn,多分类学习的基本思路是“拆解法”,即将多分类任务拆分为若干个而分类任务求解,最经典的拆分策略是:“一对一”,“一对多”,“多对多”
(1)一对一
给定数据集D={(x1,y1),(x2,y2),...,(xn,yn)},yi€{c1,c2,...,cN},一对一将这N个类别两两配对,从而产生N(N-1)/2个二分类任务,在测试阶段新样本将同时提交给所有的分类器,于是将得到N(n-1)/2个分类结果,最终把预测最多的结果作为投票结果。
算法:
(2)一对多
一对多则是将每一个样例作为正例,其他剩余的样例作为反例来训练N个分类器,如果在测试时仅有一个分类器产生了正例,则最终的结果为该分类器,如果产生了多个正例,则判断分类器的置信度,选择置信度大的分类别标记作为最终分类结果。
算法:
举例描述:
一对一问题:如果有4个类,首先从中任选两个类,进行标记,判断某一个样例更倾向于哪一个类,记录预测的结果,对所有的样例进行判断,看他应该属于两个类中的哪一个,然后选择其他的两个类,重复这个过程,最后收集某一个样例的全部判断结果,会得到不同的结果,找到其中的所占的比例最大的结果即为最终的结果。
(3)多对多问题:
有一种最常用的技术是:”纠错输出码“,分为两个阶段,编码阶段和解码阶段
编码阶段:对N个类别进行M次划分,每次将一部分类划分为正类,一部分类划分为反类,编码矩阵有两种形式:二元码和三元码,前者只有正类和反类,后者除了正类和和反类还有停用类,在解码阶段,各分类器的预测结果联合起来形成测试示例的编码,该编码与各类所对应的编码进行比较,将距离最小的编码所对应的类别作为预测结果。
例如:在上图(1)中,f1分类器使得所有的C2为正例,其他为反例,f2分类器使得C1,C3为正,剩余分类器如图所示,因此可以得到一串输入码,以C1为例,其输入码为(-1,+1,-1,+1,+1)对于测试用例(-1,-1,+1,-1,+1)计算它与其他类的距离,即计算输入码和测试用例的欧式距离以C1和测试用例为例=(-1-1)2+(+1-1)2+(-1-1)2+(+1+1)2+(+1-1)2=12½
海明距离:
多分类问题multicalss classification的更多相关文章
- 从损失函数优化角度:讨论“线性回归(linear regression)”与”线性分类(linear classification)“的联系与区别
1. 主要观点 线性模型是线性回归和线性分类的基础 线性回归和线性分类模型的差异主要在于损失函数形式上,我们可以将其看做是线性模型在多维空间中“不同方向”和“不同位置”的两种表现形式 损失函数是一种优 ...
- 吴恩达机器学习笔记28-多类分类(Multiclass Classification)
当我们有不止两种分类时(也就是
- 脸型分类-Face shape classification using Inception v3
本文链接:https://blog.csdn.net/u011961856/article/details/77984667函数解析github 代码:https://github.com/adoni ...
- 感知机分类(perceptron classification)
概述 在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法.输入为实例的特征向量,输出为实例的类别(取+1和-1). 感知机对应于输入空间中将实例划分为两类的分离超平面 ...
- 第三章——分类(Classification)
3.1 MNIST 本章介绍分类,使用MNIST数据集.该数据集包含七万个手写数字图片.使用Scikit-Learn函数即可下载该数据集: >>> from sklearn.data ...
- stanford coursera 机器学习编程作业 exercise 3(逻辑回归实现多分类问题)
本作业使用逻辑回归(logistic regression)和神经网络(neural networks)识别手写的阿拉伯数字(0-9) 关于逻辑回归的一个编程练习,可参考:http://www.cnb ...
- 【Todo】【转载】Spark学习 & 机器学习(实战部分)-监督学习、分类与回归
理论原理部分可以看这一篇:http://www.cnblogs.com/charlesblc/p/6109551.html 这里是实战部分.参考了 http://www.cnblogs.com/shi ...
- 基本分类方法——KNN(K近邻)算法
在这篇文章 http://www.cnblogs.com/charlesblc/p/6193867.html 讲SVM的过程中,提到了KNN算法.有点熟悉,上网一查,居然就是K近邻算法,机器学习的入门 ...
- CART分类与回归树与GBDT(Gradient Boost Decision Tree)
一.CART分类与回归树 资料转载: http://dataunion.org/5771.html Classification And Regression Tree(CART)是决策 ...
随机推荐
- maven Spring获取不到配置文件
如题: 如果在maven项目中,Spring获取不到配置文件, 把配置文件放到.src/main/resource文件夹下即可 import org.springframework.context.s ...
- (转)直接拿来用!最火的iOS开源项目(二)
“每一次的改变总意味着新的开始.”这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7, ...
- JavaScript instanceof和typeof的区别
引用自: http://www.cnblogs.com/eoiioe/archive/2008/12/31/1366081.html instanceof和typeof都能用来判断一个变量是否为空 ...
- 关于AS3获取当前URL和浏览器信息
原文链接: http://www.baidu.com/link?url=8-mS_wTlQi5MGvLQ8Oqf34wA-glS4roi0AmMswussY3kpkXoVUnOQQOaj-NGf2Ik ...
- Oracle 删表前验证表名是否存在并且删除
DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableN ...
- Calendar的add()方法介绍
[java] view plaincopy public static Date addYears(Date date, int amount) { return add(date, 1, amoun ...
- Leetcode006 ZigZag Conversion
/* simple simulation algorithm * we cann`t make sure the size of the string, * so it had better to s ...
- ios NSString常见的字符串操作 分割 查找
1.NSString *str = [[NSString alloc]init]; //简单粗暴,基本用不到 2.NSString *str = [[NSString alloc]initWi ...
- Delphi Form的释放和隐藏:free,hide,close
form.Free - 释放Form占用的所有资源.Free后,Form指针不能再使用,除非对Form重新赋值. form.Hide - 隐藏Form.可以调用form.Show再 ...
- 多行文字垂直居中(完美兼容chrome firefox IE6 7 8 9)
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...