Multi-class Classification相关

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


(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.

posted @ 2017-03-22 21:07  江湖小妞  阅读(2181)  评论(0编辑  收藏  举报