Multi-label learning (转)

本文介绍了多标签学习的基本概念,对比了传统单标签学习,并概述了几种多标签学习算法的分类及评估指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Multi-Label Learning 第一周

Multi-Label Learning的含义

  从今天开始Multi-Label Learning的学习,我会把学习的一点点心得记录下来,如果有不对的地方,请您指正。

  Multi-Label Learning,顾名思义,指的就是多标签学习。其中,learning,当然指的是机器学习,而这里要研究的重点,就集中在Multi-label上。

传统机器学习

  在传统的监督学习中,我们的研究对象集合中的一个个体一般通过一个实例(instance),也就是一个特征向量来表达。然后这个实例会与一个标签(label)联系起来,这个标签用来表达这个研究对象的特征(比如它的类别信息)。如下图: 
这里写图片描述

  用公式化的说法,就是令 X 为实例(instance)空间, Y 为标签(label)空间,我们的目标就是从数据集 {(x1,y1),(x2,y2),,(xn,yn)} 中学得函数 f:XY ,从而我们面对新的样本时,抽取出它的实例,通过 f ,即可得到它的标签,也就确定了它的类别。

  举个比较实际的例子,比如我们要对一些电影进行分类,训练集中的《复仇者联盟》这部电影,可以用一个特征向量对它进行表示,它是属于动作片类型的,于是就有一个“动作片”的标签。然后我们对训练集进行训练,当测试集输入时,与《复仇者联盟》比较接近的影片,被分到“动作片”类别的几率就会大一些。

多标签学习

  说到这里,细心的童鞋可能就发现了一个传统方法中很明显的缺陷,那就是现实世界中我们要研究的对象的多类别性。比如,《复仇者联盟》这部电影,它并不是一部单纯的“动作片”,它同时也是一部“科幻片”,“奇幻片”和“冒险片”。

这里写图片描述

  这时,我们就需要引入多标签学习(Milti-Label Learning)的概念了。多标签学习指的就是训练集中的每个对象的实例对应多个标签,进过训练之后,输入新的实例,我们可以得到一个针对这个实例的标签集合。

这里写图片描述

  用公式化的表达,就是指定 X={x1,x2,,xn} 为实例集合, Y={y1,y2,,yn} 为标签集合。通过学习,目的是从给定的数据集 {(X1,Υ1),,(Xi,Υi)} (其中 Υi 为第i个实例 Xi 对应的标签集合),上得到一个函数 fMLL:X2Y 。之后,我们面对测试集对象时,抽取其实例输入函数,即可得到其标签集合。

Multi-Label Learning 算法

  目前对MLL的主要算法还不是很了解,先依据搜寻到的资料列出按算法思想分类的算法类别,日后分别对每个算法进行更详细的学习。

分解为多个单标签问题

  MLSVM

标签排序

  • BoosTexter
  • BP-MLL
  • RankSVM

发现类间内在联系

  • Probabilistic generative models
  • Maximum entropy methods

Multi-Label Learning 算法的评估指标

  任何算法,我们都要评定算法的优劣,这就需要算法的评估指标。对于Multi-Label Learning算法的评定指标有五个,分别为:

  • Hamming Loss(汉明损失):该指标衡量预测所得标签与样本实际标签之间的不一致程度,即样本的预测标签集与世纪标签集之间的差距。这个值越小越好。
  • One-error(1-错误率):该指标表示样本预测的隶属度最高的标签不属于其实际标签集的可能性。这个值越小越好。
  • Coverage(覆盖率):该指标表示在预测标签集的排序队列中,从隶属度最高的类别开始向下,平均需要跨越多少标签才能覆盖其实际标签集的所有标签。这个值越小越好。
  • Ranking Loss(排序损失):该指标表明了样本预测标签集中,预测正确的标签的隶属度低于预测错误的标签的隶属度的可能性。这个值越小越好。
  • Average Precision(平均准确度):该指标表示预测标签集的平均准确度。这个值越高越好。
### 多视图多标签学习的概念与方法 多视图多标签学习(Multi-View Multi-Label Learning, MVML)是一种结合了多视图学习和多标签学习的方法。它旨在利用来自不同视角的数据特征来提高分类性能,尤其是在处理复杂数据集时更为有效。 #### 1. 基本定义 多视图多标签学习的核心在于如何有效地融合多个视图的信息以提升预测精度。每个视图可以看作是从不同的角度描述同一个样本[^1]。例如,在图像识别任务中,颜色直方图可能是一个视图,而纹理特征可能是另一个视图。通过整合这些视图中的互补信息,模型能够更全面地理解输入数据。 #### 2. 方法类别 根据具体实现方式的不同,MVML 可分为以下几类: - **基于集成的学习 (Ensemble-based Methods)** 此类方法通常会针对每一个单独的视图构建独立的基础分类器,并最终采用某种策略组合它们的结果。这种方法的优点是可以充分利用各个视图的独特特性。 - **联合表示学习 (Joint Representation Learning)** 联合表示学习试图找到一种统一的方式将所有视图映射到同一低维空间内进行后续操作。典型代表有CCA(Canonical Correlation Analysis)及其变体。 - **深度神经网络框架下的解决方案** 随着深度学习技术的发展,越来越多的研究者开始探索使用深层架构解决MVML问题。比如引入注意力机制(Multi-head attention mechanism),使得模型能够在训练过程中动态调整各视图的重要性权重[^2]。 #### 3. 数据预处理技巧 对于实际应用而言,除了设计合理的算法外还需要注意一些重要的前期准备工作: - 应用适当的数据增强(Data Augmentation Techniques)可以帮助缓解过拟合现象并增加泛化能力; - 当面对不平衡标签分布的情况时,则需采取相应的平衡措施如重采样或者代价敏感型损失函数等手段加以应对。 ```python import numpy as np from sklearn.multiclass import OneVsRestClassifier from sklearn.svm import SVC # Example of Binary Relevance approach using SVMs. X_train = [[0], [1], [2], [3]] y_train = [ [0, 1], [1, 1], [1, 0], [0, 0] ] classifier = OneVsRestClassifier(SVC(kernel='linear')) classifier.fit(X_train, y_train) print(classifier.predict([[0.8]])) ``` 上述代码片段展示了二元相关法(Binary Relevance)的一个简单实例,其中`OneVsRestClassifier`配合支持向量机完成多标签分类任务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值