多标签分类概述

 前言 

本文介绍了多标签分类的基本概念和评估指标,总结了可用于提高多标签分类模型性能的多种方法:建模技巧、监督特征选择方法、无监督特征选择方法和上采样方法。

 

本文来自公众号CV技术指南的技术总结系列

关注公众号CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

 

什么是多标签分类?


众所周知,二元分类将给定的输入分为两类,1 或 0。多标签或多目标分类从给定的输入中同时预测多个二元目标。例如,我们的模型可以预测给定的图片是狗还是猫,以及它的皮毛是长还是短。

目标在多标签分类中是互斥的,这意味着一个输入可以属于多个类。 

本文将总结一些可以提高多标签分类模型性能的常用方法。

 

评分指标


大多数用于二元分类的指标可以通过计算每列的指标,然后取分数的平均值来应用于多标签。我们可以使用的一个指标是对数损失或二元交叉熵。对于考虑类不平衡的更好度量,我们可以使用 ROC-AUC。

图片

ROC-AUC曲线

 

建模技巧


在我们开始对特征进行花哨的技巧之前,分享一些关于设计适合多标签分类情况的模型的技巧。

对于大多数非神经网络模型,唯一的选择是为每个目标训练一个分类器,然后结合预测。库 scikit-learn 提供了一个简单的包装类来执行此操作,即 OneVsRestClassifier。

尽管这将使分类器能够执行多标签任务,但这不是应该采用的方法。这有几个缺点。首先,训练时间会比较长,至于每个目标,我们都在训练一个新的模型。其次,模型无法学习不同标签之间的关系或标签相关性。

第二个问题可以通过执行两阶段训练来解决,我们将目标的预测与原始特征相结合作为第二阶段训练的输入数据。这样做的缺点是训练时间将大大增加,因为现在您必须训练两倍于以前的模型数量。

神经网络更适合这种情况。标签的数量是网络中输出神经元的数量。现在我们可以将任何二元分类损失应用于模型,模型将同时输出所有目标。这解决了非神经网络模型的两个问题,因为我们只需要训练一个模型,网络可以通过输出神经元学习不同的标签相关性。

图片

 

监督特征选择方法


在开始任何特征工程或选择之前,特征应该被规范化或标准化。使用 Quantile Transformer 将减少数据的偏度,使特征服从正态分布。另一种选择是标准化特征,这可以通过从数据中减去均值,然后除以标准差来完成。与 Quantile Transformer 相比,这完成了类似的工作,两者都旨在将数据转换为更鲁棒,但 Quantile Transformer 的计算成本更高。

在这种情况下使用监督特征选择方法有点棘手,因为大多数算法都是为单个目标设计的。为了解决这个问题,我们可以将多标签情况转换为多类问题。一种流行的方法是 LabelPowerset,其中将训练数据的每个唯一标签组合转换为一个类。scikit-multilearn 库为此提供了工具。

工具链接:

http://scikit.ml/api/skmultilearn.problem_transform.lp.html

图片

变换后,我们可以使用信息增益和chi2等方法来选择特征。虽然这种方法是可行的,但当我们有数百甚至数千种不同的独特标签组合时,事情就会变得棘手,这就是无监督特征选择方法可能更好的地方。

 

无监督特征选择方法


在无监督方法中,我们不需要考虑多标签情况的性质,因为无监督方法不依赖于标签。

这里有一些算法:

  • 主成分分析或其他类似的因子分析方法。这会从特征中删除冗余信息并为模型提取有用的见解。对此的一个重要说明是,确保在应用 PCA 之前先对数据进行标准化,因为这样每个特征对分析的贡献都是相同的。使用 PCA 的另一个技巧是,我们可以将这些减少的特征连接回原始数据,作为模型可以选择使用的额外信息,而不是采用算法提供的缩减特征。

  • 方差阈值。这是一种降低特征维度的简单而有效的方法。我们丢弃具有低方差或分布的特征。这可以通过找到更好的选择阈值来优化,一般使用0.5作为初始阈值。

  • 聚类。我们可以通过从输入数据创建集群来创建新特征,然后将相应的集群分配给输入数据的每一行作为新的特征列。

图片

KMeans Clustering

 

上采样方法


当我们的分类数据高度不平衡时使用上采样方法,然后我们为稀有类生成人工样本,以便模型专注于稀有类。为了在多标签情况下创建新样本,我们可以使用 MLSMOTE 或多标签合成少数过采样技术。

MLSMOTE项目地址:

https://github.com/niteshsukhwani/MLSMOTE

这是对原始 SMOTE 方法的修改。在这种情况下,在我们为少数类生成数据并分配相应的少数标签后,我们还通过计算每个标签在相邻数据点中出现的次数来生成与数据点相关联的其他标签,并取具有 超过一半的数据点计数的频率。

 

作者:Andy Wang

编译:CV技术指南

原文链接:

https://andy-wang.medium.com/bags-of-tricks-for-multi-label-classification-dc54b87f79ec

 

欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

在公众号中回复关键字 “入门指南“可获取计算机视觉入门所有必备资料。

其它文章

ML2021 | PatrickStar:通过基于块的内存管理实现预训练模型的并行训练

ICCV2021 | PnP-DETR:用Transformer进行高效的视觉分析

ICCV2021 | 医学影像等小数据集的非自然图像领域能否用transformer?

ICCV2021 | Vision Transformer中相对位置编码的反思与改进

ICCV2021 | TransFER:使用Transformer学习关系感知的面部表情表征

2021-视频监控中的多目标跟踪综述

统一视角理解目标检测算法:最新进展分析与总结

全面理解目标检测中的anchor      |    姿态估计综述

目标检测中回归损失函数总结     |     小目标检测常用方法总结

视觉Transformer综述    |    2021年小目标检测最新研究综述

Siamese network综述    |  小目标检测的一些问题,思路和方案

视频理解综述:动作识别、时序动作定位、视频Embedding

从CVPR 2021的论文看计算机视觉的现状

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | 重新思考视觉transformers的空间维度

CVPR2021 | TransCenter: transformer用于多目标跟踪算法

CVPR2021 | 开放世界的目标检测

CVPR2021 | TimeSformer-视频理解的时空注意模型

CVPR2021 | 一个高效的金字塔切分注意力模块PSA

CVPR2021 | 特征金字塔的新方式YOLOF

经典论文系列 | 重新思考在ImageNet上的预训练

经典论文系列 | Group Normalization & BN的缺陷

经典论文系列 | 目标检测--CornerNet  & anchor boxes的缺陷

经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择

CV方向的高效阅读英文文献方法总结

CNN可视化技术总结(一)-特征图可视化

CNN可视化技术总结(二)--卷积核可视化

CNN可视化技术总结(三)--类可视化

CNN可视化技术总结(四)--可视化工具与项目

池化技术总结    |  NMS总结    |  注意力机制总结

特征金字塔总结      |  数据增强方法总结

计算机视觉专业术语总结(一)构建计算机视觉的知识体系

欠拟合与过拟合技术总结    |  损失函数技术总结

CNN可视化技术总结

CNN结构演变总结—经典模型

CNN结构演变总结—轻量化模型

CNN结构演变总结—设计原则

论文创新的常见思路总结

在公众号《CV技术指南》中回复“技术总结”可获取以上所有总结系列文章的汇总pdf

posted @ 2021-10-12 20:59  CV技术指南(公众号)  阅读(801)  评论(0编辑  收藏  举报