A Review on Multi-Label Learning Algorithms ( to be continued )
A Review on Multi-Label Learning Algorithms
Min-Ling Zhang, Member, IEEE and Zhi-Hua Zhou, Fellow, IEEE
Abstract
Multi-label learning studies the problem where each example is represented by a single instance while associated with a set of labels simultaneously. During the past decade, significant amount of progresses have been made toward this emerging machine learning paradigm.
This paper aims to provide a timely review on this area with emphasis on state-of-the-art multi-label learning algorithms.
- Firstly, fundamentals on multi-label learning including formal definition and evaluation metrics are given.
- Secondly and primarily, eight representative multi-label learning algorithms are scrutinized under common notations with relevant analyses and discussions.
- Thirdly, several related learning settings are briefly summarized.
- As a conclusion, online resources and open research problems on multi-label learning are outlined for reference purposes.
Fundamentals on multi-label learning
Formal definition
机器学习范式
机器学习范式(Machine Learning Paradigm)是指机器学习中不同的学习框架和方法论,它们定义了如何从数据中学习模型以及如何使用这些模型来做出预测或决策。主要的机器学习范式包括:
- 监督学习(Supervised Learning)
定义:在监督学习中,每个训练样本都配备了一个标签或目标值。算法通过学习输入特征和输出标签之间的映射关系来构建模型。
应用场景:广泛应用于分类和回归问题,如图像识别(分类)、房价预测(回归)等。
示例:使用标记了种类的动物图片来训练模型,使其能够识别新的动物图片属于哪一类。 - 无监督学习(Unsupervised Learning)
定义:无监督学习处理的是没有标签的数据。算法的目标是发现数据中的结构、模式或分布,通常用于聚类、降维和异常检测。
应用场景:客户细分(聚类)、降维以简化数据(如PCA)、欺诈检测(异常检测)等。
示例:对一群人的购物行为数据进行聚类,以发现不同的消费者群体。 - 半监督学习(Semi-supervised Learning)
定义:结合了监督学习和无监督学习的特点。在这种范式中,大部分数据是未标记的,只有少量数据带有标签。算法需要利用少量的标记数据和大量的未标记数据来提高学习性能。
应用场景:适用于标记成本高但未标记数据容易获取的场景,如医学影像分析、语音识别等。
示例:在医学影像诊断中,由于专家标注成本高,只有少量影像被标注,算法可以利用这些标注数据和大量未标注的影像来学习诊断模型。 - 强化学习(Reinforcement Learning)
定义:强化学习是关于如何使智能体在环境中采取行动以最大化某种累积奖励的范式。智能体通过与环境的交互来学习最优策略。
应用场景:机器人控制、游戏AI、自动驾驶等。
示例:训练一个机器人在迷宫中找到出口,机器人通过尝试不同的路径并根据是否接近目标来获得奖励或惩罚,从而学习最优路径。 - 多标签学习(Multi-label Learning)
定义:多标签学习是监督学习的一个扩展,其中每个样本可以同时关联多个标签。目标是学习一个模型,能够为新的样本预测一组合适的标签。
应用场景:文本分类、音乐信息检索、视频标注等。
示例:对新闻文章进行分类,一篇文章可能同时属于“体育”“奥运会”“经济”等多个主题。 - 迁移学习(Transfer Learning)
定义:迁移学习是指将在一个任务上学习到的知识应用到另一个相关任务上的过程。这通常涉及到从源任务中提取有用的特征或模型参数,并将其用于目标任务。
应用场景:当目标任务的数据量较少时,可以利用源任务的大量数据来提高目标任务的性能,如在计算机视觉和自然语言处理中。
示例:使用在大规模图像数据集上预训练的模型来改善小规模特定图像分类任务的性能。 - 集成学习(Ensemble Learning)
定义:集成学习通过构建并结合多个学习器来提高预测性能。这些学习器可以是不同类型的算法,也可以是同一算法的不同实例。
应用场景:广泛应用于各种机器学习任务,以提高模型的稳定性和准确性。
示例:随机森林通过集成多个决策树来提高分类或回归的性能。
传统监督学习的困难:传统监督学习的任务中每个样本只属于一个概念,即具有独特的语义,但一个现实世界的物体可能具有的多重语义。
多标签学习:学习一个函数,该函数可以预测未知实例的正确标签集合。
定义:
假设X = Rd表示d维的实例空间,Y = { y1,y2,..,yq }表示有q个可能的类标签的标签空间。
多标记学习的任务是从多标记训练集D = { ( xi , Yi) | 1≤i≤m }中学习一个函数h:X→2Y,对于每个多标记样本( xi , Yi),xi∈X是一个d维特征向量( xi 1 , xi 2 , ... , xid),Yi∈Y是与xi相关的标记集合。对于任意未知样本x∈X,多标记分类器h ( · )预测h ( x )≌Y为x的适当标记集合。
多标签指标:
- 标签基数:LCard ( D ) = 1 m∑m i = 1 | Yi |,即每个示例的平均标签数。
- 标签密度:LDen ( D ) = | Y1 | · LCard ( D ) ,通过标签空间中可能存在的标签数量对标签基数进行归一化。
- 标记多样性:LDiv ( D ) = | { Y |┐x:( x , Y)∈D } |,即数据集中出现的不同标记集的个数;标签多样性可以通过示例的数量来标准化,以表示不同标签集合的比例:PLDiv ( D ) = | D1 | · LDiv ( D )。
有效地利用标签相关性信息被认为是多标签学习技术成功的关键
现有的标签相关性利用策略:
- 一阶策略:多标签学习的任务是以逐标签的方式处理的,因此忽略了其他标签的共存性,将多标签学习问题分解为多个独立的二分类问题(每个标签1个)。
优点--简洁性和高效性 - 二阶策略:通过考虑标签之间的成对关系来处理多标签学习任务,例如_相关标签和不相关标签之间的排序,或者任意一对标签之间的相互作用等_。
优点--良好的泛化性能 - 高阶策略:通过考虑标签之间的高阶关系来处理多标签学习的任务,例如对每个标签施加所有其他标签的影响,或者处理标签的随机子集之间的连接等。
优点--显然高阶策略比一阶和二阶策略具有更强的相关性建模能力
阈值函数:(后处理步骤)
- 设置t ( · )为常数函数
- 从训练样本中诱导t ( · )
Evaluation metrics
Example-based
通过在每个测试样例上分别评估学习系统的性能,然后返回整个测试集的平均值。
- 子集精度:
要求预测的标签集合与真实标签集合完全相同(可以看作是传统精度度量) - 汉明损失:
表示两个集合之间的对称差,评估了错误分类的实例-标签对的比例。
当S中每个样本只与一个标签相关联时,hlossS ( h )是传统误分类率的2 / q倍。
如果用汉明损失来评估分类器,以最大化子集精度为目标的分类器性能很差(?) - Precision,Precision,Recall,Fβ :
基于实例的评价量:
- One-error:
(排名靠前的标签不在相关标签集合中的样本的比例) - Coverage:
(平均需要多少个步骤将排序后的标签列表向下移动,从而覆盖范围实例的所有相关标签) - Ranking Loss:
(反序标签对的比例) - Average precision:
(排序高于某个标签y∈Yi的相关标签的平均分数)
Label-based
通过分别评估学习系统在每个类标签上的性能,然后返回所有类标签上的宏/微观平均值。
- 真阳性(TPj):
- TPj = |{xi | yj ∈ Yi ∧ yj ∈ h(xi), 1 ≤ i ≤ p}|
- TPj 表示在测试集中,第 j 个标签 yj 被正确预测为正类的样本数量。即,样本 xi 的真实标签集 Yi 包含 yj,且分类器 h 也预测 xi 包含 yj。
- 假阳性(FPj):
- FPj = |{xi | yj ∉ Yi ∧ yj ∈ h(xi), 1 ≤ i ≤ p}|
- FPj 表示在测试集中,第 j 个标签 yj 被错误预测为正类的样本数量。即,样本 xi 的真实标签集 Yi 不包含 yj,但分类器 h 预测 xi 包含 yj。
- 真阴性(TNj):
- TNj = |{xi | yj ∉ Yi ∧ yj ∉ h(xi), 1 ≤ i ≤ p}|
- TNj 表示在测试集中,第 j 个标签 yj 被正确预测为负类的样本数量。即,样本 xi 的真实标签集 Yi 不包含 yj,且分类器 h 也预测 xi 不包含 yj。
- 假阴性(FNj):
- FNj = |{xi | yj ∈ Yi ∧ yj ∉ h(xi), 1 ≤ i ≤ p}|
- FNj 表示在测试集中,第 j 个标签 yj 被错误预测为负类的样本数量。即,样本 xi 的真实标签集 Yi 包含 yj,但分类器 h 预测 xi 不包含 yj。
满足:
TPj + FPj + TNj + FNj = p
(p为 测试集的总样本数量)
二分类度量:B( TPj、FPj、TNj、FNj)
实值函数f ( · , ·)已知:
- 宏平均AUC(Macro-averaged AUC)
计算每个标签的AUC,然后取这些AUC的平均值。(AUCmacro=q1j=1∑qAUCj)
AUCj=∣Zj∣∣Zj∣∣{(x′,x′′)∣f(x′,yj)≥f(x′′,yj),(x′,x′′)∈Zj×Zj}∣
其中,Zj 是包含标签 yj 的测试实例集合,而 Zj 是不包含标签 yj 的测试实例集合。
含义:对于所有可能的 Zj '和 Zj ''中的实例对 (x′,x′′),模型正确地将包含 yj 的实例 x′ 排在不包含 yj 的实例 x′′ 之前的概率。 - 微平均AUC(Micro-averaged AUC)
将所有标签的AUC计算合并在一起。
含义:所有相关实例-标签对 (x′,y′) 被正确地排在所有不相关实例-标签对 (x′′,y′′) 之前的概率。AUCmicro=∣S+∣∣S−∣∣{(x′,x′′,y′,y′′)∣f(x′,y′)≥f(x′′,y′′),(x′,y′)∈S+,(x′′,y′′)∈S−}∣
其中,S+ 是所有相关实例-标签对的集合,而 S− 是所有不相关实例-标签对的集合。
由于多标签度量通常是非凸和不连续的,因此在实践中,大多数学习算法采用优化(凸)代理多标签度量。
Eight representative multi-label learning algorithms
评价算法的三大方面:
a )广谱性:每个算法都有独特的特征,涵盖了各种算法设计策略;
b )原创性影响:大多数算法沿着其研究路线衍生出若干后续或相关方法;
c )有利影响:每个算法都在多标记学习领域的高被引著作中。
问题转换方法
这类算法通过将多标记学习问题转换到其他成熟的学习场景来解决多标记学习问题
Binary Relevance
- 基本思想:将多标记学习问题分解为q个独立的二分类问题,其中每个二分类问题对应于标记空间中的一个标记(对于第 j 个标签 yj,构建一个二元分类器 gj,用于预测样本是否属于标签 yj)
当某一个实例的所有标签的二分类器都产生负输出时(预测的标签集合Y为空):
- T准则
-
优点:对多标记数据的处理简单
-
-
缺点:忽略了标签之间的潜在相关性,当q较大且标签密度较低时每个标签的二进制分类器可能会受影响
案例:
| 样本**** x__i | 标签集**** Y__i |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x1 | {y_1, y_3} |
| x2 | {y_2} |
| x3 | {y_1, y_2, y_3} |
假设训练集如上,对于每个标签 yj,构建二元训练集 Dj: -
D1={(x1,+1),(x2,−1),(x3,+1)}
-
D2={(x1,−1),(x2,+1),(x3,+1)}
-
D3={(x1,+1),(x2,−1),(x3,+1)}
使用二元分类算法训练每个分类器 g1,g2,g3。对于一个新样本 x,使用每个分类器预测其标签,假设结果:g1(x)=0.8,g2(x)=−0.5,g3(x)=0.6
预测结果为:Y={y1,y3}
如果所有分类器的输出都是负值,使用 T-Criterion 规则选择输出最大的标签。
Classifier Chains
- 基本思想:将多标签学习问题分解为一系列二元分类问题,但分类器不是独立训练的,而是以链的形式依次训练。假设有 q 个标签 {y1,y2,…,yq},定义一个排列函数 τ:{1,2,…,q}→{1,2,…,q},用于指定标签的顺序。对于第 j 个标签 yτ(j),构建一个二元训练集 Dτ(j),并附加前一个标签的预测结果。
- 通过将每个实例与y τ ( j )之前的标签相关度相加,构建相应的二进制训练集:
- 使用二元分类算法 B 训练分类器 gτ(j):gτ(j)←B(Dτ(j))
- 预测:通过迭代遍历分类器链,预测关联标签集合Y
- 优点:考虑标签相关性,灵活性(可以使用任何二元分类算法来训练每个标签的分类器,如逻辑回归、支持向量机、决策树等)
- 缺点:链的顺序影响,计算复杂度(不能并行训练)
示例:假设训练集的样本和标签如下:
样本**** x__i | 标签集**** Y__i |
---|---|
x1 | {y_1, y_3} |
x2 | {y_2} |
x3 | {y_1, y_2, y_3} |
假设标签的排列顺序为 τ=(1,2,3),构建二元训练集 D__τ(j):
- D__τ(1)={(x1,+1),(x2,−1),(x3,+1)}
- Dτ(2)={([x1,+1],−1),([x2,−1],+1),([x3,+1],+1)}
- Dτ(3)={([x1,+1,−1],+1),([x2,−1,+1],−1),([x3,+1,+1],+1)}
使用二元分类算法训练每个分类器 gτ(1),gτ(2),gτ(3)。对于一个新的样本 x,通过遍历分类器链来预测其标签,假设结果如下:gτ(1)(x)=0.8,gτ(2)([x,+1])=−0.5,gτ(3)([x,+1,−1])=0.6
预测结果为:Y={y1,y3}
Calibrated Label Ranking
算法自适应方法
这类算法通过采用流行的学习技术来处理多标记学习问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」