多分类问题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)是决策 ...
随机推荐
- 安装LINUX X86-64的10201出现链接ins_ctx.mk错误
在安装linux X86-64的Oracle10201时,在链接过程中出现了这个错误. 详细错误信息为: Error in invoking target ‘install’ of makefile ...
- PetaPoco修改
else if (type == typeof(decimal)) return (decimal)pk == default(decimal); public override void PreEx ...
- ibatis cannot find <sql> pattern
"Could not find SQL statement to include with refid xxx"A: 认真把每个用到xxx的地方都看一遍
- 解决PHP生成校验码时“图像因其本身有错无法显示”的错误
今天使用http://crazymud.iteye.com/blog/452293给出的代码进行PHP生成校验码功能的实现,发现firefox一直提示“图像.......因其本身有错无法显示”的问题, ...
- 【CG】CG标准函数库——数学函数
- 【CImg】简单的畸变矩形矫正
三个角点确定一个平面,畸变的平面可以看成是不同基底下同一图像的表示 ============================我是分割线============================= 1. ...
- 【Struts 1】Struts1的基本原理和简介
备注:这里介绍的是Struts1的内容,Struts2的内容,会在后续的博客的予以说明! 一.什么是Struts struts的目标是提供一个开发web应用的开源框架,Struts鼓励基于Model2 ...
- sphinx 超好资料
http://www.ttlsa.com/?s=sphinx
- Shiro使用总结
Shiro已经添加到项目中,现阶段管理两个功能: 1.身份验证:(已经能够满足现阶段需求) 2.权限管理: 权限管理,需要在界面中加一些标签,后台角色.资源的管理也需要整理好,然后在前端添加管理. 1 ...
- Ubuntu16.04+hadoop2.7.3环境搭建
转载请注明源出处:http://www.cnblogs.com/lighten/p/6106891.html 最近开始学习大数据相关的知识,最著名的就是开源的hadoop平台了.这里记录一下目前最新版 ...