多标签分类与多分类
我们的目的是对中文进行问题生成,将问题分为六个大类,这六个类型的划分我们是通过3类标签与2类标签的组合产生这六个类型,就涉及到多标签分类和多类分类问题。
介绍
在机器学习中, 多标签分类(multi-label classification) 和与其极度相关的多输出分类(multi-output classification)是分类问题的变种, 每个实例可能会设置多个标签
多标签分类(Multi-label classification)
概念
多标签分类是多类分类的一般化, 多类分类是将实例精确分类到一个或者多个类别中的单一标签问题。
在多标签问题中, 没有限制说一个实例可以被设置多少个类别.即多标签分类是找到一个模型将输入映射到二值向量中可以将多标签问题转化成一系列的二元分类问题, 然后可以使用多个单标签分类器进行处理.
多标签分类采用的算法
1、boosting: AdaBoost.MH和AdaBoost.MR是AdaBoost的多标签数据扩展版本
2、k近邻:ML-kNN是将k-NN分类器扩展到多标签数据
3、决策树
4、向量输出的核方法
5、神经网络:BP-MLL是反向传播算法的多标签学习问题的扩展
图示
多类分类(Multiclass classification)
概念
多类(multiclass)或者多项式(multinomial)分类是将实例分配给一个而非多于两个类别的种类(将实例分类给两类中的一个称为二元分类binary classification). 很多分类算法自身支持多于两类的使用, 剩下的就是二元分类算法了, 这就可以通过很多策略去转换成多项式分类器.
要将多类分类与多标签分类区分开, 后者是一个类别有多个标签需要被预测
多类分类采用的算法
1、二元分类问题转化
1.1、一对多(one -vs.- rest)
1.2、一对一(one -vs.- one)
2、二元问题的扩展
2.1、神经网络: 多层感知器就是多类问题的扩展,输出N个二值神经元就可以编程多类任务
2.2、极限学习机(Extreme Learning Machines (ELM))
2.3、k近邻: 最古老的非参数分类算法
2.4、朴素贝叶斯
2.5、决策树
2.6、支持向量机
3、层级分类
将多类分类问题的输出空间分割为一个树. 每个父节点被多个子节点分割, 重复这个过程直到每个子节点仅仅代表一类.
参考:
sckit_learn