标签(空格分隔): 毕业论文


(OS: 最近在做关于多类分类的综述,但是搜索出来好多方向搞得自己云里雾里的,好吧,又是在下孤陋寡闻了。还是那句话,不知道不可怕,但一直不知道就很尴尬了。)

one-class classification -- 一元分类

In machine learning, one-class classification, also known as unary classification, tries to identify objects of a specific class amongst all objects, by learning from a training set containing only the objects of that class. -- Wikipedia

维基百科中的定义是:一类分类,即一元分类,通过仅包含该类的对象的训练数据中学习,试图能够在所有对象中识别该特定类的对象。

one-class classification是由[Moya & Hush][1]在1996年提出的,目前已有很多这方面的研究。一个类似的问题是PU Learning,后者是以半监督的学习方式从正类样本和未标记样本中学习,建立二元分类器。

multi-label classification -- 多标签学习

Multi-label classification is a classification problem where multiple target labels must be assigned to each instance. -- Wikipedia

多标签学习与另外一个工作有强相关的联系——(multi-output classification)多输出学习(?)。另外,一定要与multi-class classification区分开。前者是指一个样本一般所属不仅仅是一个类别,它的输出一般是一个向量(010110,属于第2,4,5类);而后者一个样本只属于一个类。有两种方法解决这类问题:一类是problem transformation methods(即吧问题转换成二元分类问题,然后用上面所说的一元分类器来解决),一类是problem adaption methods。

multi-class classification -- 多类分类

终于到了我们的leading role。
In machine learning, multiclass or multinomial classification is the problem of classifying instances into one of the more than two classes(classifying instances into one of the two classes is called binary classification). -- Wikipedia

维基中的定义是:多类学习是指将样本从超出两个类的可能类别中分入一个类中。

有两类策略可以解决此类问题。

One vs. all

这样的策略是为每个类别都训练一个分类器,在这个分类器中,将该类的样例视为正例,其他所有类的样例视为负例。该策略要求每个基分类器都产生一个概率值(置信值,一个样本分为这个类的置信值有多大),而不仅仅是类别标签,只给出类别标签可能会导致一个样本被分入多个类。这样通过所有对比所有的分类器给出最终的决策。
\(y = argmax_{k\in \{1,...,K\}}f_{k}(x)\)

这种策略很方便但是带来了一些问题。例如:即使在训练集中样本的类别分布是均衡的,对于基二元分类器来说却是不均衡的,因为对基分类器来说,负例样本要远远多于正例样本[此处输入链接的描述][2]。

One vs. one

对于一对一的策略来说,K分类问题需要训练\(\frac{K(K-1)}{2}\)个二元分类器。每个分类器从原始的训练集中选择两个类,然后针对这两个类训练一个基分类器。在决策的时候,用\(\frac{K(K-1)}{2}\)个分类器分别做决策,然后将样本分入"+1"得到最多的那个类别中。

目前,已有很多工作基于神经网络、决策树、K近邻、朴素贝叶斯、SVM等的改进算法可以直接处理多分类问题。这些技术也被称为Algorithm Adaptation techniques.

神经网络

多层感知器(Multilayer perceptron)为解决多类问题提供了自然的延伸。不像之前的在输出层只有一个神经元,多层感知器有N个二进制神经元,以便处理多分类问题。

KNN

KNN被认为是最经典的非参分类模型。对于一个未知label的样本,需要计算它与其他所有样本之间的距离,选择其中距离最小的K个样本,并且这K个样本中类别数最多的一个被认为是这个未知样本的label。KNN可以直接处理多分类问题。

朴素贝叶斯

NB是基于贝叶斯后验概率(MAP)的一类分类器。尽管贝叶斯定理有要求样本间条件独立的假设,NB仍能很方便的扩展到多分类问题中,而且效果较好。

SVM

SVM分类器的思想是最大化从分离超平面到最近样本之间的最小距离,基本的SVM用来处理二分类问题,但可以在优化条件中加入附加参数和约束来处理多分类问题。

【参考文献】

[1]: Moya, M. and Hush, D. (1996). "Network constraints and multi- objective optimization for one-class classification". Neural Networks, 9(3):463–474. doi:10.1016/0893-6080(95)00120-4

[2]: Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. Springer.

Multi-class Classification相关的更多相关文章

  1. Link-based Classification相关数据集

    Link-based Classification相关数据集 Datasets Document Classification Datasets: CiteSeer: The CiteSeer dat ...

  2. 目标检测之RefineDet

    RefineDet 一.相关背景 中科院自动化所最新成果,CVPR 2018 <Single-Shot Refinement Neural Network for Object Detectio ...

  3. (Deep) Neural Networks (Deep Learning) , NLP and Text Mining

    (Deep) Neural Networks (Deep Learning) , NLP and Text Mining 最近翻了一下关于Deep Learning 或者 普通的Neural Netw ...

  4. [C2P3] Andrew Ng - Machine Learning

    ##Advice for Applying Machine Learning Applying machine learning in practice is not always straightf ...

  5. PaperWeekly 第五期------从Word2Vec到FastText

    PaperWeekly 第五期------从Word2Vec到FastText 张俊 10 个月前 引 Word2Vec从提出至今,已经成为了深度学习在自然语言处理中的基础部件,大大小小.形形色色的D ...

  6. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  7. Deep Learning 28:读论文“Multi Column Deep Neural Network for Traffic Sign Classification”-------MCDNN 简单理解

    读这篇论文“ Multi Column Deep Neural Network for Traffic Sign Classification”是为了更加理解,论文“Multi-column Deep ...

  8. Halcon相关

      1.Halcon的自我描述 Program Logic Ø Each program consists of a sequence of HALCON operators Ø The progra ...

  9. DeepWalk论文精读:(1)解决问题&相关工作

    模块1 1. 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中 ...

随机推荐

  1. Zigbee系列(路由机制)

    参考文档: ug103-02-fundamentals-zigbee.pdf section4 zigbe routing concepts docs-05-3474-21-0csg-zigbee-s ...

  2. python接口自动化2-发送post请求

    发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去 ...

  3. 搭建Harbor私有镜像仓库--v1.5.1

     搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...

  4. MyEclipse 和 eclipse 最简单的安装Jetty容器插件

    一.MyEclipse安装jetty 1.下载jetty插件  http://pan.baidu.com/s/1nuMYGNv 2.将下载后的jetty插件放到安装MyEclipse目录的MyEcli ...

  5. JavaWeb-Servlet-Tomcat

    Servlet就是运行在服务器上的Java类.Servlet容器为javaweb应用提供运行时环境,负责管理Servlet和JSP的生命周期,以及管理它们的共享数据. Servlet容器软件——Tom ...

  6. watch命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/kaishirenshi/p/7727986.html watch 命令详解: author:headsen  chen ...

  7. 微信小程序——音阶练耳 宣传页面

    音阶练耳是什么? 音阶练耳小程序是一款听音练习音阶,拥有简介界面的交互式小程序,以虚拟钢琴为辅助乐器,应用于日常练习,涵盖了五个八度内26种调式.以及下行中的所有调式与和声小调式的衍生,提高辨认音阶的 ...

  8. 《JavaScript》split和join

    首先了解split和join两个函数 split 根据条件截断字符串,返回数组 //str.split(option,length) 字符串转数组 //option:表示分割依据 //length:用 ...

  9. Javascript实现大整数加法

    记得之前面试还被问到过用两个字符串实现两个大整数相加,当时还特别好奇好好的整数相加,为什么要用字符串去执行.哈哈,感觉当时自己还是很无知的,面试官肯定特别的无奈.今天在刷算法的时候,无意中看到了为什么 ...

  10. 校友聊---Sprint计划会议总结

    1.产品需求及索引卡: 校友聊的软件我们计划分三步进行设计实现功能:文字聊天.语音聊天.视频聊天.首先第一步我们要实现文字聊天这个功能. 经过调研讨论之后,确定了产品的几个需求:在局域网内实现通信要依 ...