多标签学习:LIFT: Multi-Label Learning with Label-Specific Features

@(Machine Learning)

Intro

LIFT是张敏灵教授提出的多标签(multi-label)的学习方法。关于multi-label的介绍可以看我这篇博客,其中主要描述了multi-class、multi-label、multi-task的定义和区别。
本人根据论文总结了LIFT算法,并根据提供的matlab语言的code,完成了LIFT算法的Python版本,主要用到了sklearn提供的api,以便我自己使用该算法。

论文原文、论文代码和我重写的Python版本的LIFT代码可以在文末的Source找到

Algorithm

论文给出的伪代码

根据论文,LIFT可以分为两个步骤:
1. label-specific features construction
2. classification models induction

其中主要的是第一个步骤,构造标签间关系定义的特征,其也可以包括下面的步骤:

  1. 将训练样本划分为正类和负类:

  2. 在正类和负类中聚类,保存centers,聚类的数目由下式给出:(论文提到,这个选择的原因是class-imbalance问题)

  3. 将原特征映射为新特征:(该步骤也就是求每一个原特征到每一个class得到的所有centers的欧式距离)

需要注意的是第三个步骤中,论文提到”which can be served as appropriate building blocks”,这个的意思是做映射的时候,可以将原特征分为一个一个的block进行映射,最后一个block可能会不够一个block的数量,需要特殊处理,这可能是论文给出的代码中需要花时间理解的部分。

然后就可以把得到的特征放入分类器中进行分类,也就是说LIFT的第二个步骤。该步骤在论文给出的代码中使用的是SVM,利用了matlab的libsvm库,论文提到可以使用其他二分类器。为了方便使用其他二分类器,我才将源码重写为python的版本,这样就可以非常方便地调用sklearn的二分类器了。

描述完算法后,论文用很大的篇幅写了Experiments,使用了很多metrics,来说明LIFT是多标签分类的有效的方法。关于怎么去测试和评判一个算法的好坏,论文非常严谨,也是非常值得学习的地方。

Source

From Prof. MinLing Zhang:
Paper Download
Code Download

From my github:
LIFT in Python

多标签学习:LIFT: Multi-Label Learning with Label-Specific Features相关推荐

  1. 多示例学习(Multi Instance Learning)和 弱监督学习(Weakly Supervised Learning)

    目录 弱监督: 多示例学习: 弱监督: 1. 弱在缺标签:标签是不完全的,有的有标签,有的无标签 2. 弱在标签不准确:有的标签正确,有的标签错误 3. 弱在标签不精准: 标签不是在样本上,而是在更高 ...

  2. Multi task learning多任务学习背景简介

    2020-06-16 23:22:33 本篇文章将介绍在机器学习中效果比较好的一种模式,多任务学习(Multi task Learning,MTL).已经有一篇机器之心翻译的很好的博文介绍多任务学习了 ...

  3. 论文阅读笔记——Multi-Label Learning with Global and Local Label Correlation(具有全局和局部标签相关性的多标签学习)

    目录 方法 一.低秩矩阵 二.矩阵填充 三.矩阵分解 四.模型 (1)利用标签相关性:使用标签相关性来规范模型: (2)全局和局部标签相关性可能共存,引入标号流形正则化来合并全局和局部标签: (3)学 ...

  4. 论文翻译 —— Disambiguation-Free Partial Label Learning 非消歧偏标记学习(PL-ECOC)

    标题:Disambiguation-Free Partial Label Learning 文章链接:http://aaai.org/ocs/index.php/AAAI/AAAI17/paper/v ...

  5. 极限多标签学习综述(Extreme Multi-label Learning)

    A Survey on Extreme Multi-label Learning 先给地址: https://arxiv.org/abs/2210.03968 博主曾整理过Multi-Label Im ...

  6. MIML系列(一):Fast Multi-Instance Multi-Label Learning 快速多示例多标签学习

    MIML系列(一):Fast Multi-Instance Multi-Label Learning 快速多示例多标签学习   目前的研究方向是基于MIML的,然而网上关于MIML的论文讲解有点少,因 ...

  7. 综述系列 | 多标签学习的新趋势

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 随着Deep learning领域的不断发展,我们面对的问题 ...

  8. 最新综述:多标签学习的新趋势

    这里给大家带来一篇武大刘威威老师.南理工沈肖波老师和 UTS Ivor W. Tsang 老师合作的 2020 年多标签最新的 Survey,我也有幸参与其中,负责了一部分工作. 论文链接: http ...

  9. Deep Label Distribution Learning With Label Ambiguity

    2017 年Deep Label Distribution Learning With Label Ambiguity精读 2021-06-21最近想要做关于semantic segmentation ...

最新文章

  1. 通过MySQL自动同步刷新Redis
  2. erlang使用leveldb
  3. 网易云音乐直链提取及下载
  4. Conda的PyTorch安装
  5. ajax直接调用数据库数据库数据库,AJAX调用mysql数据库简单例子(示例代码)
  6. 带“小弟”其实是一种投资
  7. 华为云平台 IP SAN 存储配置
  8. 解读大内老A的《.NET Core框架本质》
  9. 红月所有物品完全代码
  10. ScriptManager脚本管理器
  11. Kubernetes(K8s) —— 容器编排管理技术
  12. 杨百万:股市就要见顶了 但没前一次悲惨
  13. 两点定标法_生化分析仪的定标方法
  14. Smart Socket隐私权政策
  15. 如何设置 OctaneRender 渲染软件离线模式的加密狗?丨使用教程丨软件安装教程丨正版(非破解版)
  16. 信奥一本通2069(糖果问题)配解析
  17. RSA攻击方法总结笔记
  18. easyui-filebox再苹果手机上只能打开摄像头不能选择文件
  19. 机房收费系统文档总结(反思篇)
  20. 【Mybatis】Helloworld

热门文章

  1. js截取数组slice(),splice()两种方法
  2. 图像分割的java程序_基于java的图像分割(数字图像处理)
  3. 微信跳转手机浏览器下载app和访问指定页面无法自动跳转的解决方案
  4. 计算机视觉行为分析,计算机视觉技术在人体行为分析中的研究与应用
  5. java+s2sh+mysql音乐网站
  6. mysql 全文 搜不出_mysql全文搜索失败
  7. setcellvalue 格式_组态常用函数
  8. Linux进程间通信:共享内存函数(shmget、shmat、shmdt、shmctl)及其范例
  9. C语言float与char类型转换
  10. 2021中国人工智能年度评选开启:让更多人看到AI的真正价值