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


(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. 一个简单的获取RGB值方式

    操作系统内置了许多小工具,有时候这些小工具也挺有用的,省去了安装一些复杂的软件, 截图 通过键盘PrtSc获取到要取色的图片,然后用画图工具打开 查看 通过画图工具的取色工具,取到你需要的颜色,然后点 ...

  2. 【Jmeter测试】接口请求完成后,查询数据库结果,检测数据存储是否正确

    Jmeter脚本逻辑 发送POST请求,把数据保存到数据库中 发讯数据库,数据库查询结果保存的变量中 使用BeanShell判断数据库查询结果 Jmeter脚本结构 第一个箭头指的是JDBC Conn ...

  3. Python学习之路:NumPy初识

    import numpy as np; //一维NumPy数组 myArray = np.array([1,2,3,4]); print(myArray); [1 2 3 4] //打印一维数组的形状 ...

  4. 行为事件(ActionChains)源码详解

    ActionChains简介 actionchains是selenium里面专门处理鼠标相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互. 这对于做更复杂的动作非常有用,比如悬停 ...

  5. Mac os x 配置maven

    安装Maven 1.压缩包apache-maven-3.3.9-bin.zip 2.解压压缩包到指定文件 3.打开终端,输入以下命令,编辑环境变量文件:bash_proflie open .bash_ ...

  6. 苏州地区--校招IT公司

    完整经历了苏州的秋招和春招,在本校和苏州大学跑了许多次的宣讲会,自认为对苏州IT企业的校招有一个充分的认知.原本打算在苏州找一份Java开发的工作,可是发现自己简历连那些公司的简历关都过不去(对双非学 ...

  7. docker 从本地拷贝文件

    1.找到docker的ID全称 docker inspect -f '{{.Id}}' docker_name 2.执行拷贝命令 docker cp 本地文件路径 ID全称:docker路径 3.如果 ...

  8. NIO_通道之间传输数据

    通道之间传输数据 transferFrom() transferTo() @Test public void test3() throws IOException { FileChannel inCh ...

  9. Task 6.2站立会议一

    今天大家把这两天查的资料都拿出来整合到了一起,并仔细分析了其中的联系和区别. 因为大家每个人的思路都不一样,有各种各样的想法和不同的意见,所以最终统一意见是很难的一个过程.开始大家认我们可以做一个单独 ...

  10. WebGL学习笔记二

    前一章就是第二章主要学的是通过WebGL实现先是在webGL内赋值,但是不实用后来通过定义attribute和uniform存储限定符来将javascript中的数据传到webGL中,大致的流程是1. ...