深度学习模型处理多标签(multi_label)分类任务——keras实战

坚强是说给别人听的谎言 提交于 2020-10-25 09:41:32

最近在读论文的的过程中接触到多标签分类(multi-label classification)的任务,必须要强调的是多标签(multi-label)分类任务 和 多分类(multi-class)任务的区别:

  • 多标签分类任务指的是一条数据可能有一个或者多个标签,举个例子:比如一个病人的体检报告,它可能被标记上,高血压,高血糖等多个标签。
  • 多分类任务指的是一条数据只有一个标签,但是标签有多种类别。机器学习中比较经典的iris鸢尾花数据集就是标准的多分类任务,一条数据喂给模型,模型需判断它是3个类别中的哪一个。

这里笔者强调一下多标签分类任务的两个特点:

  • 类别标的数量是不确定的,有些样本可能只有一个类标,有些样本可能存在多个类别标签。
  • 类别标签之间可能存在相互依赖关系,还是拿我上述的例子来说:如果一个人患有高血压,他有心血管疾病的概率也会变大,所以高血压这个label和心血管疾病的那些labels是存在一些依赖关系的。

多标签分类算法简介

多标签分类算法比较常用的有ML-KNN、ML-DT、Rank-SVM、CML等。我就不多介绍这些基于传统机器学习的方法,感兴趣的同学可以自己去研究。这里主要介绍如何采用深度学习模型做多标签分类任务,首先我们必须明确一下多标签分类模型的输入和输出。

模型输入输出

假设我们有一个体检疾病判断任务:通过一份体检报告判断一个人是否患有以下五种病:有序排列——[高血压,高血糖,肥

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!