多标签分类、多任务分类、多输出回归概念

前言

虽然不是搞分类的,但是还是看看多标签和多分类的区别。为了避免自己的错误理解, 当然是选择原谅他啊…….找正规文档看哇. 以下翻译分别来自scikit-learn.org和 维基 喂鸡百科

国际惯例,贴上来源:

Multiclass and multilabel algorithms

Multi-label classification

Multiclass classification

scikit-learn介绍

多类分类(Multiclass classification): 表示分类任务中有多个类别, 比如对一堆水果图片分类, 它们可能是橘子、苹果、梨等. 多类分类是假设每个样本都被设置了一个且仅有一个标签: 一个水果可以是苹果或者梨, 但是同时不可能是两者

多标签分类(Multilabel classification): 给每个样本一系列的目标标签. 可以想象成一个数据点的各属性不是相互排斥的(一个水果既是苹果又是梨就是相互排斥的), 比如一个文档相关的话题. 一个文本可能被同时认为是宗教、政治、金融或者教育相关话题.

多输出回归(Multioutput classification): 给每个样本一系列的目标值. 可以被想象成对每个数据点预测多个属性, 比如在某个定位的风向和风速

多输出-多分类分类(Multioutput-multiclass classification)多任务分类(Multi-task classification):意味着一个单一的评估器需要处理多个联合分类任务. 这是多标签分类任务(只考虑二院分类)和多类分类任务的推广, 输出格式是2d阵列.

  • 每一个输出变量的标签机可以是不同的. 比如一个样本的第一输出变量可以是有限类别中是pear的概率值, 第二个输出变量可能是有限颜色中是blue或者green的概率.
  • 这意味着任意的支持多输出多类或者多任务分类任务的分类器, 均支持作为一种特殊情况的多标签分类任务. 多任务分类与多输出分类任务相似, 但是有不同的模型公式.

维基介绍

在机器学习中, 多标签分类(multi-label classification) 和与其极度相关的多输出分类(multi-output classification)是分类问题的变种, 每个实例可能会设置多个标签

多标签分类(Multi-label classification)

  • 概念
    多标签分类是多类分类的一般化, 多类分类是将实例精确分类到一个或者多个类别中的单一标签问题, 在多标签问题中, 没有限制说一个实例可以被设置多少个类别.
    正规点讲就是, 多标签分类是找到一个模型将输入 x 映射到二值向量 y 中.可以将多标签问题转化成一系列的二元分类问题, 然后可以使用多个单标签分类器进行处理.
  • 多标签分类采用的算法
    1. boosting: AdaBoost.MHAdaBoost.MRAdaBoost的多标签数据扩展版本
    2. k近邻:ML-kNN是将k-NN分类器扩展到多标签数据
    3. 决策树
    4. 向量输出的核方法
    5. 神经网络:BP-MLL是反向传播算法的多标签学习问题的扩展

多类分类(Multiclass classification)

  • 概念
    在机器学习中, 多类(multiclass)或者多项式(multinomial)分类是将实例分配给一个而非多于两个类别的种类(将实例分类给两类中的一个称为二元分类binary classification). 很多分类算法自身支持多于两类的使用, 剩下的就是二元分类算法了, 这就可以通过很多策略去转换成多项式分类器.
    要将多类分类与多标签分类区分开, 后者是一个类别有多个标签需要被预测
  • 多类分类采用的算法
    1. 二元分类问题转化
      • 一对多(one -vs.- rest)
      • 一对一(one -vs.- one)
    2. 二元问题的扩展
      • 神经网络: 多层感知器就是多类问题的扩展,输出N个二值神经元就可以编程多类任务
      • 极限学习机(Extreme Learning Machines (ELM))
      • k近邻: 最古老的非参数分类算法
      • 朴素贝叶斯
      • 决策树
      • 支持向量机
    3. 层级分类
      将多类分类问题的输出空间分割为一个树. 每个父节点被多个子节点分割, 重复这个过程直到每个子节点仅仅代表一类.

你可能感兴趣的:(机器学习)