热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于MultilabelClassification多标签分类的问题

多分类:训练集中每个样本只有一个标签,该标签来自于一个不重合的标签集合L,|L|1。当|L|2时,这是一个二分类问题。当|L|2时,这是一个多分类问题。 单标签与多标签:多标签

《关于Multi-label Classification 多标签分类的问题》多分类:

训练集中每个样本只有一个标签,该标签来自于一个不重合的标签集合L,|L| > 1。

当|L|=2 时,这是一个二分类问题。当|L| > 2 时,这是一个多分类问题。

 

单标签与多标签:

《关于Multi-label Classification 多标签分类的问题》

多标签:

《关于Multi-label Classification 多标签分类的问题》为训练样本集,《关于Multi-label Classification 多标签分类的问题》为标签集合,给定一组形式为《关于Multi-label Classification 多标签分类的问题》的训练样本,《关于Multi-label Classification 多标签分类的问题》《关于Multi-label Classification 多标签分类的问题》,目的是学习求出合适的误差低的函数《关于Multi-label Classification 多标签分类的问题》《关于Multi-label Classification 多标签分类的问题》中的unique values)。

大多数情况下,多标签的方法会涉及到一个给定样本可能有的标签的排序问题,因此这个学习算法可以看成函数《关于Multi-label Classification 多标签分类的问题》。并按照《关于Multi-label Classification 多标签分类的问题》来对标签进行排序。

《关于Multi-label Classification 多标签分类的问题》《关于Multi-label Classification 多标签分类的问题》规则下样本《关于Multi-label Classification 多标签分类的问题》所对应的标签《关于Multi-label Classification 多标签分类的问题》的排序。其中,《关于Multi-label Classification 多标签分类的问题》是一个到《关于Multi-label Classification 多标签分类的问题》上的一对一的映射,且如果《关于Multi-label Classification 多标签分类的问题》,那么《关于Multi-label Classification 多标签分类的问题》

 

多标签分类的方法:

多标签分类的方法可以从 Algorithm Independent 和 Algorithm Dependent 的角度讲,也可以从 Problem Transformation Method 和 Algorithm Adaptation Method 的角度讲。Algorithm Dependent 和 Algorithm Adaptation Method 一样,也有很多方法是 Problem Transformation Method 和 Algorithm Adaptation Method 的结合。

Problem Transformation Method 问题转化

将多标签问题转化为单标签问题。改变data来适应算法。

At training time, with 《关于Multi-label Classification 多标签分类的问题》:

1 Transform the multi-label training data to single-label data

2 Learn from the single-label transformed data

At testing time, for 《关于Multi-label Classification 多标签分类的问题》:

1 Make single-label predictions

2 Translate these into multi-label predictions

e.g.

Binary Relevance (BR): 《关于Multi-label Classification 多标签分类的问题》 binary problems (one vs. all)

《关于Multi-label Classification 多标签分类的问题》

缺点:不能model标签的dependency关系;分类不均衡

改进:Stacked BR (2BR) [Godbole and Sarawagi, 2004],Chain Classifier (CC) [Cheng et al., 2010, Read et al., 2011]

2 Label Powerset (LP): one multi-class problem of 《关于Multi-label Classification 多标签分类的问题》 class-values 二进制

《关于Multi-label Classification 多标签分类的问题》

缺点:类标签多而复杂;不均衡(每个类别标签对应的实例不多);过拟合(预测新值)

改进:Ensembles of RAndom k-labEL subsets (RAkEL) [Tsoumakas and Vlahavas, 2007],Ensembles of Pruned Sets (EPS) [Read et al., 2008] 二者都通过投票机制进行预测

3 Pairwise (PW): 《关于Multi-label Classification 多标签分类的问题》 binary problems (all vs. all)

Each model is trained based on examples annotated by at least one of the labels, but not both.

《关于Multi-label Classification 多标签分类的问题》

缺点:生成的是PW的Rankings,要得到标签集;找过拟合标签的decision boundary无意义;分类器数量大《关于Multi-label Classification 多标签分类的问题》

改进:Calibrated Label Ranking CLR ([Fürnkranz et al., 2008]),

4 Copy-Weight (CW): one multi-class problem of L class values

Make a single multi-class problem with L possible class values.Each example duplicated 《关于Multi-label Classification 多标签分类的问题》times, weighted as《关于Multi-label Classification 多标签分类的问题》.

《关于Multi-label Classification 多标签分类的问题》

缺点:同一实例 / 不同标签的decision boundary;标签基数大导致数据集增长大;没有可以直观地对dependency进行model的方法

 

 Algorithm Independent 独立于算法

分为基于标签和基于实例的两种转化方式。

《关于Multi-label Classification 多标签分类的问题》

 

Label-based Transformation 基于标签的转化

《关于Multi-label Classification 多标签分类的问题》

Instance-based Transformation 基于实例的转化

Instance Elimination

去除多标签实例

《关于Multi-label Classification 多标签分类的问题》

Label Creation

把多个标签变成一个新的标签

《关于Multi-label Classification 多标签分类的问题》

Conversion

把多标签的实例变成单标签的实例。简化或分解(加、乘)。

Label Elimination (Simplification)

保留一个最可能为true的或者随机选择一个标签。

《关于Multi-label Classification 多标签分类的问题》

Labels Decomposition

Additive

如下图,分类器数量1+1=2。

《关于Multi-label Classification 多标签分类的问题》

Multiplicative

如下图,分类器数量2×1×2×1×1×1=4

《关于Multi-label Classification 多标签分类的问题》

 Algorithm Independent Method总结

《关于Multi-label Classification 多标签分类的问题》

 

Algorithm Adaptation / Dependent Method 算法适应

改变单标签算法生成多标签的输出。

e.g.,

k-Nearest Neighbours (KNN)

MLkNN [Zhang and Zhou, 2007] 

Decision Trees (DT)

Multi-label C4.5 [Clare and King, 2001]

基于AdaBoost [Freund Y. & Schapire, R. E., 1995], ADTBoost [Freund Y. & Mason, L. , 1999]的de Comite, F., Gilleron, R. & and Tommasi, M. (2003) Learning Multi-label Alternating Decision Trees from Texts and Data. 和Adaboost.MH and Adaboost.MR (Schapire & Singer, 2000) 

Support Vector Machines (SVM)

RankSVM, a Maximum Margin approach [Elisseeff and Weston, 2002]

Godbole and Sarawagi (2004) 结合PT4

Aiolli, F. & Sperduti, A. (2005) Multiclass Classification with Multi-Prototype Support Vector Machines.

Neural Networks (NN)

BPMLL [Zhang and Zhou, 2006]

其他方法可参见 A Tutorial on Multi-Label Classification Techniques 和 Multi-Label Classification: An Overview 等文献。

具体选哪种方法比较好取决于具体问题是什么,效率和速度:Decision Tree-based;灵活性:problem transformation methods, esp. BR-based;预测能力: ensembles (most modern methods)。

 

An extensive empirical study by [Madjarov et al., 2012] recommends:
            RT-PCT: Random Forest of Predictive Clustering Trees (Algorithm Adaptation, Decision Tree based)
            HOMER: Hierarchy Of Multilabel ClassifiERs (Problem Transformation, LP-based (original presentation))
            CC: Classifier Chains (Problem Transformation, BR-based)

 

参考资料:
https://blog.csdn.net/qq_27009517/article/details/80264919

Multi-label Classification-Part 01, Jesse Read

André C. P. L. F. de Carvalho, Freitas A A. A Tutorial on Multi-label Classification Techniques[M]// Foundations of Computational Intelligence Volume 5. Springer Berlin Heidelberg, 2009:177-195.

Li T, Zhang C, Zhu S. Empirical Studies on Multi-label Classification.[C]// IEEE International Conference on TOOLS with Artificial Intelligence. IEEE Computer Society, 2006:86-92.

Multi-Label Classification: An Overview


推荐阅读
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • Python 可视化 | Seaborn5 分钟入门 (六)——heatmap 热力图
    微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seabo ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
author-avatar
伏染善
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有