-
这篇综述中主要提到了对于近十几年的多标签分类的工作进度,这篇综述是2014年发表在IEEE上的,
- 首先,讲的是多标签学习的基础——包括有它的形式定义和评估指标;
- 其次也是文中最重要的是,将会给出八个代表性的多标签学习算法;
- 最后,将会给出相关的一些学习设置,同时将会给出领域中的相关研究问题;
-
文中在Introduction中的这一部分中,
- 首先提到了在传统的监督学习中的主要的任务驱动是建立一个一个实体和相关的单个标签的一些联系——也就是一个function映射关系,将一个集合 X X X-> Y Y Y的映射关系,其中 X X X中代表的就是单个实体集合,这些单个实体就是一个特征向量,因为在模型的处理中,表示一个实体就是使用这个实体的特征来表示。 Y Y Y表示的是label set. 这种假设就是在传统的监督场景下,一个实体是跟一个label相关的。
- 然后,随着时间的推移,上面的这种实体单标签的这种假设在许多的场景下是不够用的。所以出现了一个instance对应着多个语义含义——即实体多标签的情况。 这种情况对应的是在现实世界中,一个实体对应的是一系列的标签。
- 对于上面的这种任务的目的是学习到一个function,这个function可以对于一个未知的instance学习得到一组标签。
-
文中在第二部分范式部分中讲到了关于多标签学习的一些非常重要的点:
-
学习框架:
-
这个部分中主要是定义了多标签学习的形式定义和它的一些指示指标:
-
首先,使用 X X X来表示一个 d d d维的实例空间,即在这个空间中的的实例都有 d d d个特征来标志其中的某一个实例。 Y Y Y表示的是一个标签空间,其中有 q q q个可能的类标签,对于多标签分类的目的就是学习这样的一个映射关系 h ( ⋅ ) h(·) h(⋅)将实例空间 X X X上的实例通过这样一个映射关系映射到 2 Y 2^Y 2Y上来,因为这里对于实例打上的标签是一组标签集,所以每一组标签集中的每一个单标签对应的就是为0或者是1,因而对应的这个标签空间中的标签集的个数就是 2 Y 2^Y 2Y个。对于 h ( ⋅ ) h(·) h(⋅)就是预测对于未知的实例给他打上相应的标签组好 h ( x ) h(x) h(x);
-
文中在定义了muti-label learning的形式定义之后,紧接着提到了关于多标签的评估指标,
- 标签基数(label cardinality) L C a r d ( D ) LCard(D) LCard(D)也是多标签的度,即每一个实例对应的标签组中标签数平均个数;
- 标签密度(label density) L D e n ( D ) LDen(D) LDen(D)即通过在标签空间中可能出现的标签组的数量来实现对于标签基数的正规化处理;
- 标签多样性 (label diversity) L D i v ( D ) LDiv(D) LDiv(D)即表示的是出现在数据集中的不同的标签组的个数。
- 跟上面的标签密度相同,这里也可以使用正规化处理来正规化label diversity,这里使用的是实例的数量来正规化标签多样性。
-
在大多数情况下,这个模型返回的是一个实值函数,这个实值函数的输入就是实例instance x,然后通过实值函数来计算出在标签空间中的标签组 y y y是实例 x x x的真实标签的置信程度。
-
同时对于实值函数 f ( ⋅ , ⋅ ) f(·,·) f(⋅,⋅)的要求就是这个函数可以对于与x具有高相关性的标签组 y ′ y' y′输出较大的分值,对于与x无相关性的标签组 y ′ ′ y'' y′′给出更低的输出值。总体上来说就是 f ( x , y ′ ) > f ( x , y ′ ′ ) f(x,y')>f(x,y'') f(x,y′)>f(x,y′′),从而,这个多标签分类器 h ( ⋅ ) h(·) h(⋅)可以通过这样的一个实值函数 f ( ⋅ , ⋅ ) f(·,·) f(⋅,⋅)的驱动最终通过这个实值函数和阈值函数 t ( x ) t(x) t(x)进行比较,通过 f ( x , y ) > t ( x ) f(x,y)>t(x) f(x,y)>t(x)来区分和x相关和不相关的标签组。
-
-
现有的多标签分类面临的挑战:
- 首先,对于之前的监督学习的分类任务,如果它的标签是单标签的,那么这个时候,我们可以认为这个监督学习情况下的分类任务是多标签学习的退化版本。
- 然后,由于对于多标签分类的输出空间的指数级增长,这样可能会给多标签分类带来空间的挑战。比方说,标签空间中一共有20个标签,然后使用 2 q 2^q 2q之后,这个标签空间中标签组的个数就会突破一百万。
- 文中提到为了解决上面的这种挑战,及文中使用的方法就是尽可能的去探索标签的相关性,比方说,如果我们知道了一个图片中的内容是跟足球和雨林相关的,这样我们就可以很大概率上给这个图片打上巴西的标签。这就是充分利用了标签相关性的点。
- 一阶策略:这种策略使用的方法就是一种label-by-label的策略,这种策略是对于一个instance中的标签组中的每一个标签是否是对应于这个instance的进行分别处理,比较著名的处理方式就是将一个多标签分类问题划分成为大量的二分类问题的组合,使用这种方式来解决多标签问题效率是挺高的,但是这种方式忽略了标签与标签之间的相关性。因此是亚优的。
- 二阶策略:这种方式考虑的是标签中的成对关系,使用这种成对关系来解决一阶策略中相关性没有考虑到的不足问题,比方说将相关的label和不相关的label记性排序,或者是考虑任意两个标签对的相互影响关系。虽然这种二阶策略在一定程度上解决了相关性忽略的问题,但是对于现实场景下的大部分的情况下,这种方式对于相关性的考虑还是缺失的。
- 高阶策略:这种策略应用的方式是将所有的其他的标签的影响强行加在每一个标签的身上,或者是解析标签集中的任意标签子集中联系关系。这种方式相比于一阶和二阶的方式相比,这种方式具有更强的相关性考虑;但是这种方式计算的复杂程度提高了,同时这种方式处理multi-label问题的伸缩性降低了。
-
阈值标准 Threshold Calibration:
-
上面在本阶段的第一个论点中提到了通过 t ( ⋅ ) t(·) t(⋅)阈值函数来从 f ( x , ⋅ ) f(x,·) f(x,⋅)归纳出 h ( ⋅ ) h(·) h(⋅),本论点中具体探讨了在多标签学习中怎么去设置这样的一个阈值标准;
-
文中在通用的方法策略中提到了两种方法:
-
第一种方法是通过设置一个常量函数的方式:这种方式文中提到的操作板方法有第一、将阈值标准设置为0;第二、根据对于每一个相对于各个实例的标签他们的先验概率都为0.5,即将这个阈值标准设置为0.5;
-
第二种方法是通过一种堆叠方式的处理流程来最终确定阈值标准:
-
文中就是使用了一种线性模型的策略,这个线性模型表示为:
其中的<>中的内容为内积,则 w ∗ w^* w∗行向量, f ∗ ( x ) f^*(x) f∗(x)为列向量,对于这个线性模型中最终要确定的就是 w ∗ w^* w∗和 b ∗ b^* b∗,对于其中的 f ∗ ( x ) f^*(x) f∗(x)表示为
即对于instance x在各个标签上的output,
-
为了解决线性最小二乘问题,即为了更好的确定 w ∗ w^* w∗和 b ∗ b^* b∗的值,文中使用的目标函数是:
- 对于文中提到的最小二乘问题就是找到这样的未知 w ∗ w^* w∗和 b ∗ b^* b∗使得上面的二范数结果最小;
-
也就是取使得这个最小二乘结果最小的 w ∗ w^* w∗和 b ∗ b^* b∗,其中 s ( x i ) s(x_i) s(xi)表示的的是将所有的训练实例标签划分成相关和不相关的分界点的平均值,通过不同的训练数据对于线性模型的训练得到的结果和 s ( x i ) s(x_i) s(xi)做最小二乘计算,最终得到使得误分误差最小的 w ∗ w^* w∗和 b ∗ b^* b∗值。
-
-
文中除了上面的通用的对于多标签分类阈值标准划分的方法,还有一种方法是内置组件的方式放在模型中的, a d h o c ad\,\,hoc adhoc方法,
- 这一类方法使用的逻辑是使用一个 t ′ t' t′映射关系,这个映射关系可以将instance set映射到一个 1 , 2 , … … , q {1,2,……,q} 1,2,……,q的这样的一个集合中,目的是确定每一个instance相关的实例个数 t ′ ( x ) t'(x) t′(x);
- 然后再对于 f ( x , ⋅ ) f(x,·) f(x,⋅)进行计算,最终得到一个分值由高到低降序排列的集合,通过之前得到 t ′ ( x ) t'(x) t′(x)对这个序列的下标进行分段,将所有下标小于这个 t ′ ( x ) t'(x) t′(x)的 f ( x , ⋅ ) f(x,·) f(x,⋅)对应的y值都提取出来,即此时这里的分值较高的y标签都被提出来了。
-
-
-
评估指标:
-
对于多标签分类的评估指标而言,它跟之前传统的全监督方式的评估指标是有不同的;由于他是一个instance要同时具有多个标签,因此它的评估指标要更加复杂一些,可以分为有:基于实例的和基于标签的评估指标;
-
文中引入了 S S S作为测试集标志;
-
基于实例的评估指标是通过评估系统在这些实例上面的性能来进行进一步的判断当前系统的性能,这里使用的评估指标为在测试集上的mean value;
-
基于标签的评估指标是通过评估系统在每一个标签上面的性能来进行进一步的判断当前系统的性能,使用的是macro/micro-averaged value作为评估指标;
-
不管使用使用什么方式的评估指标都要使用实值函数 f ( ⋅ , ⋅ ) f(·,·) f(⋅,⋅)这已经是一个常规操作,然后对于得到的系统泛化性能的结果进行分别排序;
-
基于实例的评估指标:
-
6个分类指标:
-
S u b s e t A c c u r a c y Subset\,Accuracy SubsetAccuracy:
- 对于多标签分类器的子准确度,这个指标是对于测试集S中的数据进行评估的指标所以,上面的总的数据量为P,其中这个[[π]]表示的是如果其中的π代表的谓词逻辑的值为真,则返回的结果为1,反之为0;
- 对于该自准确度的分析,这个指标其实是预测对于对于测试集中的数据预测成功的比重;这个数据跟传统的Accuracy指标其实就是这个指标的副本的意思。只是如果当标签空间的大小q过大时,这个指标的定义是更为严格一些。
-
H a m m i n g L o s s Hamming\,Loss HammingLoss(汉明损失):
- 汉明损失,这个指标用来计算对于使用当前分类器将instance标签分类错误率。因为当前的标签空间的大小为q,所以有q个标签存在,所以通过对等查分计算得到xi通过分类器h(.)预测之后产生的标签跟真实的标签集合
中的标签进行查分计算,得到不相同的标签集合,然后通过集合的求基运算,得到当前集合中的元素个数,然后再除以q可以得到不相同标签个数所占的比重,然后对于i个测试实例进行取平均就可以得到最终的误分类率。
- 汉明损失,这个指标用来计算对于使用当前分类器将instance标签分类错误率。因为当前的标签空间的大小为q,所以有q个标签存在,所以通过对等查分计算得到xi通过分类器h(.)预测之后产生的标签跟真实的标签集合
-
Accuracyexam
-
Precisionexam
-
Recallexam
-
-
-
-
-
A Review on Multi-Label Learning Algorithms笔记
最新推荐文章于 2024-09-12 19:45:22 发布
这篇综述探讨了多标签学习的定义、评估指标、典型算法和挑战。文章介绍了从一阶到高阶策略的分类方法,如二分类、分类链和校准标签排名,并分析了各种方法对标签相关性的处理。此外,还讨论了多标签学习的评估指标,如子准确度、汉明损失、覆盖率和排序损失等。最后,提到了问题转化和算法适应两种多标签学习方法,如ML-kNN、ML-DT和Rank-SVM,并强调了多标签分类在处理现实世界实体的多义性时的重要性。
摘要由CSDN通过智能技术生成