什么是MLC?(Multi-label Classification)

MLC 多标签分类。

  • 多类分类 & 多标签分类 

多标签分类,是一种有别于多类分类的算法,举个例子:
        假设有类["酸", "甜", "苦", "辣", "香"],

多类分类就是 "这个水果点酸"(label="酸"),"这个菜看起来很香"(label="香");

多标签分类则是"辣子鸡虽然尝起来很香,就是太辣了"(label=["辣", "香"]),"酸酸乳就是又酸又甜的"(labe=["酸","甜"])。

明显可以发现,多类分类有且只有一个标签,而多标签分类可以有多个标签(且不定)

  • 难点

(1)类标数量不确定,有些样本可能只有一个类标,有些样本的类标可能高达几十甚至上百个。 

(2)类标之间相互依赖,例如包含蓝天类标的样本很大概率上包含白云,如何解决类标之间的依赖性问题也是一大难点。

(3)多标签的训练集比较难以获取。

如何解决MLC问题

目前有很多关于多标签的学习算法,依据解决问题的角度,这些算法可以分为两大类:一是基于问题转化的方法,二是基于算法适用的方法。基于问题转化的方法是转化问题数据,使之使用现有算法;基于算法适用的方法是指针对某一特定的算法进行扩展,从而能够处理多标记数据,改进算法,适用数据。

说白了,基于问题转化的方法,就是你把原来的数据换个角度组合一下,变成一个原来解决过的问题。

基于算法适用的方法,就是你把现有的算法进行了改进,使之适合多标签。

  • 基于问题转化的方法

(1)   在传统机器学习模型中可以使用分类器链,在这种情况下,第一个分类器只在输入数据上进行训练,然后每个分类器都在输入空间和链上的所有之前的分类器上进行训练。让我们试着通过一个例子来理解这个问题。在下面给出的数据集里,我们将X作为输入空间,而Y作为标签。在分类器链中,这个问题将被转换成4个不同的标签问题,就像下面所示。黄色部分是输入空间,白色部分代表目标变量。

考虑多标签的相关性时候可以将上一个输出的标签当成是下一个标签分类器的输入。

(2)将标签统一来看(Label Powerset)

在这一点上,我们发现x1和x4有相同的标签。同样的,x3和x6有相同的标签。因此,标签powerset将这个问题转换为一个单一的多类问题,如下所示。

因此,标签powerset给训练集中的每一个可能的标签组合提供了一个独特的类。转化为单标签后就可以使用SVM、textCNN、textRNN等分类算法训练模型了。

感觉Label Powerset只适合标签数少的数据,一旦标签数目太多(假设有n个),使用Label Powerset后可能的数据集将分布在[0,2n-1]空间内,数据会很稀疏。

  • 基于算法适用的方法

改编算法来直接执行多标签分类,而不是将问题转化为不同的问题子集。

(1)在传统机器学习模型中穿件的多标签分类模型有:kNN多标签版本MLkNN,SVM的多标签版本Rank-SVM等。

(2)在深度学习中常常是修改多分类模型的输出层,使其适用于多标签的分类,Mark J. Berger[4]在输出层对每一个标签的输出值使用sigmod函数进行2分类(标签之间无关联信息);Kurata在研究多标签分类时仍然使用了经典的CNN结构(如图2所示),不过在最后的全连接层的参数系数有些特别,也就是图2.1中Hidden layer到output layer的系数是经过特别设置的。

【转载】MLC(Multi-Label Classification) 多标签分类相关推荐

  1. ###好好好####深度学习---多标签分类问题

    keras multi-label classification 多标签分类 问题:一个数据又多个标签,一个样本数据多个类别中的某几类:比如一个病人的数据有多个疾病,一个文本有多种题材,所以标签就是: ...

  2. 使用KNN模型进行多标签分类实战(Multilabel Classification)

    使用KNN模型进行多标签分类实战(Multilabel Classification) 详细的:二分类.多分类.多标签分类.多输出分类的概念参考笔者如下博文. 分类家族:二分类.多分类.多标签分类.多 ...

  3. 多标签分类(multilabel classification )

    这几天看了几篇相关的文章, 写篇文章总结一下,就像个小综述一样, 文章会很乱 1.multilabel classification的用途 多标签分类问题很常见, 比如一部电影可以同时被分为动作片和犯 ...

  4. 多标签分类(十一):HCP: A Flexible CNN Framework for Multi-Label Image Classification

    HCP:灵活的CNN多标签图像分类框架 摘要   卷积神经网络(CNN)在单标签图像分类任务中表现出了良好的性能.但是CNN如何最好的处理多标签图像仍然是一个有待解决的问题,主要是由于底层对象布局复杂 ...

  5. 使用 scikit-learn 实现多类别及多标签分类算法

    多标签分类格式 对于多标签分类问题而言,一个样本可能同时属于多个类别.如一个新闻属于多个话题.这种情况下,因变量yy需要使用一个矩阵表达出来. 而多类别分类指的是y的可能取值大于2,但是y所属类别是唯 ...

  6. 系统学习机器学习之总结(三)--多标签分类问题

    前沿 本篇记录一下自己项目中用到的keras相关的部分.由于本项目既有涉及multi-class(多类分类),也有涉及multi-label(多标记分类)的部分,multi-class分类网上已经很多 ...

  7. 关于图片的多标签分类(1)

    最近还在处理人脸附件(眼镜,刘海,口罩,帽子)的multi-label分类.给自己普及一下常识性问题: 1)什么是multi-label分类? multi-label分类,常见一张图片中可以存在多个目 ...

  8. 多标签分类算法的研究进展

    1. 机器学习中的分类问题     在机器学习方向的相关研究中,分类问题可以被分为二分类问题.多分类问题及多标签分类问题.二分类问题即二元分类问题,其中某个样本只有"属于"或 &q ...

  9. 基于PredictionIO的推荐引擎打造,及大规模多标签分类探索

     基于PredictionIO的推荐引擎打造,及大规模多标签分类探索 摘要:在2015年3月21日的北京Spark Meetup第六次活动上,尹绪森就如何使用PredictionIO打造一个定制化 ...

最新文章

  1. 陷阱太多!究竟该如何应对逆袭神器期权?某程序员历经4次上市公司,终于顿悟!...
  2. Grafana关键表结构分析
  3. NotePad++ 相关插件
  4. AutoCAD .NET API 之——DimStyleTableRecord 的属性列表
  5. 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 七 )
  6. uva 1394poj 3517
  7. python单选按钮控件是_第7讲,RadioButton 单选按钮控件
  8. java.lang.classcastexception怎么解决_java.lang.LinkageError:ClassCastException
  9. 字符串指针与一维指针数组的区别
  10. Python之socketserver源码分析
  11. 今晚博文视点大咖直播伴你读No.2:人工智能学习路线
  12. 量子保密通信技术基本原理
  13. 华为手机怎么修改dns服务器,华为域名解析修改dns
  14. Leo个人MSN简明使用手册
  15. make config解惑
  16. 如何把wps随机数据固定_WPS Excel:巧用随机函数rand和randbetween生成各种数据
  17. AI TIME 祝清华大学111周年生日快乐!
  18. 国产LIN收发器芯片SIT1028,PIN to PIN替代TJA1028
  19. 模块例化是怎么进行的?——FPGA学习笔记(四)
  20. Go语言学习1-基础入门

热门文章

  1. 简易 文章发布系统——前台界面
  2. 【Thingsboard】源码分析:Actor模型架构
  3. 更改laravel的默认端口8000
  4. 前端知识-JavaScript事件驱动特性
  5. Flutter高仿微信-第52篇-群聊-清空聊天记录
  6. eNSP不同网段主机互联-static
  7. README.md的内容格式
  8. 客户端性能优化实战经验分享
  9. 对一个文件夹下的图片进行批量缩放(resize)处理
  10. Spring官方文档翻译(7章)