论文十问十答:
Q1论文试图解决什么问题?
Q2这是否是一个新的问题?
Q3这篇文章要验证一个什么科学假设?
Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?
Q5论文中提到的解决方案之关键是什么?
Q6论文中的实验是如何设计的?
Q7用于定量评估的数据集是什么?代码有没有开源?
Q8论文中的实验及结果有没有很好地支持需要验证的科学假设?
Q9这篇论文到底有什么贡献?
Q10下一步呢?有什么工作可以继续深入?
论文相关
论文标题:基于动态集成学习的多标签文本分类
发表时间:2023年
领域:自然语言处理-多标签文本分类
发表期刊:Information Sciences(一区)
相关代码:https://github.com/JiaxuanGood/MLDE.git
数据集:All datasets are available at http://www.uco.es/kdis/mllresources/
摘要
集成学习被认为是处理多标签文本分类的一种有效的方法。然而大多数的集成学习都没有考虑到在不可见的实例之间的差异,而现有模型考虑这种差异的却未能探索标签之间的关系,而就是标签之间的相关性限制了模型的性能。提出问题
为了解决这个问题,我们提出了一种新的模型名为MLDE
((Multi-Label classification with Dynamic Ensemble learning).在MLDE模型中,最重要是集成最基本的分类以及预测不可见的实例。为了针对多标签问题进行动态选择,实现更好的性能,我们结合分类的精确度和排名损失去衡量我们的模型与其他模型之间的差距。具体来说,分类精度可分解为多个标签,并区分一个分类器相对于不同标签的能力差异,而排名损失关注的是一个分类器在标签集上的整体性能,从而充分考虑了多个标签之间的相关性。在24个公开的数据集上进行的大量实验表明,MLDE的性能优于最先进的方法。
1.引言
多标签分类解决了每个实例可以同时属于多个标签的问题。由于其在文本分类、生物信息学和场景分类等多个领域的广泛应用,它引起了越来越多的研究者的关注。多标签问题不是多个单标签问题的简单组合,也就是说,标签之间的相关性是一个重要的问题。
目前已经提出了许多方法来解决多标签分类问题。这些方法主要分为两类,问题转换(PT)和算法自适应(AA)。PT方法将多标签问题转化为单标签问题。典型的PT方法包括二进制相关性(BR),分类器链(CC)和标签电源组(LP);他们忽视了多个标签作为一个整体的特点,并可能有一个有限的性能。AA方法将一种特定的单标签方法扩展到其多标签版本,通常缺乏通用性。
在没有完美方法的情况下,直观地采用集成学习来提高基本多标签算法的有效性。一些研究人员构建了具有不同泛化和标签相关性探索能力的多个基础学习器,然后将其与词袋方法相结合,以增强模型的鲁棒性并克服初始化敏感性。然而,在词袋方法下,不同的基础学习器具有相同的权重,但实际上他们的贡献并不相等。
为了区分不同的基础学习器的贡献,提出了一些加权集成多标签方法来设计一个指定的目标函数,并据此学习一个权重分布。在这个学习方案中,在目标函数中通常添加正则化和约束项,以避免过拟合和学习标签相关性。此外,一些研究者将AdaBoost 方法扩展到多标签分类,从而实现了另一种加权集成方案。这些增强方法采用损失函数来确定每个基分类器的权重和下一次迭代中的数据分布,最终得到一个加性模型。
然而,上面讨论的所有集成学习方法都不能区分看不见的实例之间的差异。也就是说,一旦基础学习器被引导并确定了集成策略,学习模型就会被固定下来,并传递给所有不可见的实例。然而,每个基分类器通常是特征空间的局部区域的专家。因此,提出了动态集成方法来解决这个问题。
提出问题:以前的集成学习方法,一旦学习器确定了某一种学习方法,那么他就会被固定下来,不会根据不同场景去自动调节学习方法。
单标签分类的动态集成学习已经得到了广泛的研究。在这些方法中,只有最称职的基分类器被选择为不同的不可见的实例。一个基本分类器的能力度量通常是通过其在一个看不见的实例所在的局部区域上的精度(或其他评估度量)来估计的。这个概念是,一个学习器在类似于看不见的实例的实例上表现良好的学习器也应该在这个看不见的实例上表现良好。
- DIBR 首先对挖掘多标签的concept-drifting数据流进行动态集成学习,并以汉明损失作为基础分类器能力的度量。考虑到汉明损失可以分解为多个标签,DIBR在分类器选择过程中没有考虑标签的相关性。DECC 不是动态地选择有能力的基分类器,而是为不同的不可见的实例生成不同的CC分类器。具体来说,对于每个不可见的实例,由于不可见实例的邻域,DECC启发式地以不同的链顺序构造基CC分类器。然而,CC方法只考虑标签顺序上的标签相关性,而DECC并没有完全解决传播问题。此外,如果没有动态选择,很难保证基本分类器的性能。
本文提出了一种新的多标签动态集成学习方法MLDE。它遵循传统的动态集成方案,为不同的未知实例选择一个合格的基分类器集成,并首先提出了一种针对多标签任务的动态选择方法。在多标签分类中,标签数量的增加给分类器能力测量带来了两个挑战:
1)对多个标签的总体测量往往忽略了它们之间的差异。
- 可分解为多个标签的度量忽略了它们之间的相关性。为了应对这两个挑战,在MLDE中,将基于单个标签的分类精度和基于标签集的损失排序相结合来评估基础分类器的能力。
- 首先,准确性对于分类任务至关重要,对于多标签分类,我们建议在多个标签上分别评价一个基分类器的准确性,从而区分学习器在不同标签上的预测能力差异。
- 其次,MLDE利用排名损失来衡量正负标签之间的相反关系,有效地考虑了标签的相关信息。
- 第三,由于基础分类器的选择,MLDE进一步提出了一种新的机制,将所有所选分类器的输出整合成一个统一的结论。
综上所述,建议的MLDE的贡献如下:
- 它为不同的不可见实例动态选择合格的基分类器,并提供更有前途的预测结果。
- 提出了一种针对多标签问题的分类器选择方法,同时考虑了单个标签的分类精度和标签集的排序损失,显著提高了模型精度和利用标签相关性的能力。
- 它为多标签动态选择学习提供了一种新的集成机制,它融合了由不同度量选择的基础分类器的输出。
本文的其余部分组织如下。第2节回顾了相关文献。第3节详细描述了所提出的方法。第4节描述了一个实证研究,第5节讨论了结论。
2.相关工作
本研究旨在通过动态集成学习方案解决多标签分类问题;因此,在多标签分类的集成学习方法和单标签分类的动态集成学习方法领域存在相关的工作。
2.1 多标签分类的集成学习方法
根据集成方法,我们将集成学习中的相关工作分为三个分类法:传统的集成学习方法、加权集成学习方法和动态集成学习方法。
2.1.1 传统的集成学习方法
如第1节所述,问题转换(PT)方法将多标签问题转换为单标签问题,并使用现有的算法进行进一步的解决。PT方法不可避免地存在许多缺陷,但仍有待进一步改进。在本文中,传统的集成学习方法是指采用非加权集成方案来缓解基本PT分类器的缺陷的方法。
典型的PT方法包括Binary Relevance(BR)、Classifier Chain(CC)和Label Powerset(LP)。
- BR独立地建模不同的标签,因此从不考虑标签的相关性。为了解决这个问题,构建了一个包含两层BR分类器的堆叠模型,其中第一层输出之间的交互可以通过第二层来学习。
- CC在不同的标签顺序下引入一个分类器链,以便后续分类器的预测信息可以被后续分类器学习。然而,CC包含了错误传播问题。在前面产生的错误可能会沿着链传播,并导致进一步的错误。ECC 以随机顺序生成链集合,大大缓解了CC的不确定性。
- LP将每个标签组合转换为一个新的标签类,并接收一个多类问题。LP完全保留了标签相关信息,但经常获得太多的类,并且每个类都有很少的实例需要训练。RAkEL 将原始标签集随机分解为小的子集,并为新生成的不同标签建立基分类器。这些子集可以显著减少标签的数量,降低泛化的难度。然后,在RAkEL的基础上,提出了一些方法来改进标签子集的生成。
2.1.2 加权集成学习方法
在传统的集成学习方法中,所有基分类器的贡献都被平等地对待,这忽略了它们之间的差异。为了解决这一问题,一些加权集成学习方法被提出。
Adaboost.MH
是首先将AdaBoost扩展到多标签分类,并建立了一个基于增强的加权模型,其中,采用BR来诱导基分类器,并采用汉明损失作为替代损失函数。在此框架下,提出了许多将AdaBoost
应用于各种多标签任务的方法。由于汉明损失可分解为多个标签,不能考虑标签的相关性。LC
将子集精度作为损失函数,它评估学习器是否能正确地同时预测一个实例的所有标签。 BOOMER
进一步建立了一个多标签增强框架,可用于更多的多标签损失函数。尽管如此,子集精度对每个未知实例只取{0,1},并且具有较差的判别。为了灵活地捕获标签依赖性,一些基于排序的方法采用正、负标签之间的成对排序关系来指导迭代。通过优化精心设计的目标函数来为基分类器寻找合适的权重分布。这些方法很少关注基分类器的设计,主要在目标函数的构造上。例如,ELIFT
在目标函数中同时包含了损失函数和惩罚项,而MLWSE
在优化中进一步包含了标签相关约束。
2.1.3 动态集成学习方法
传统的集成学习算法和加权集成学习算法都忽略了不可见实例之间的差异,而使用相同的模型来预测所有不可见的实例。为了克服这个问题,一些研究人员已经开始考虑这种歧视。
DIBR
首先在挖掘多标签概念漂移数据流中进行动态集成学习。在DIBR中,采用改进的BR算法来诱导基分类器,对于每个不可见的实例,根据其在不可见实例的k个最近邻上的汉明损失来选择基分类器。最后,将所选基本分类器的输出与多数投票方法相结合。DIBR
实现了传统的动态集成方案,即评估和选择有能力的分类器,但它从来没有对多标签任务的方案进行有针对性的改进。
DECC
以另一种方式采用了动态集成的思想。它不是为最终决策选择合格的基分类器,而是为不同的不可见实例动态生成不同的CC分类器。对于每个不可见的实例,DECC
根据其邻域启发式地构建标签预测顺序。DECC利用标签与CC框架的相关性,后续的分类器可以建立在之前的预测基础上。然而,DECC未能消除误差传播问题,并且对标签相关性的探索仅限于标签预测的顺序。此外,由于缺乏动态选择,使得很难保证基本分类器的能力。
2.2 单标签动态集成学习
对单标签分类的动态集成学习进行了深入的研究,并提出了许多有效的算法。这些算法通常包括三个步骤,诱导
、选择
和集成基础分类器
,其核心思想是选择最有能力的分类器。一般来说,基分类器的能力是基于局部区域来估计的,这就产生了局部区域识别、性能度量指定和选择标准设置等问题。
针对局部区域识别问题,提出了一些算法,包括k-NN、聚类和决策空间。k-NN算法具有简单、精度高的优点,因此得到了广泛的应用。
关于绩效指标的指定,研究人员研究了两种方法:个体测量和群体测量。对于个人测量、准确性、排名、概率、预言等。已被使用过。对于群体测量,已经使用了多样性和歧义。
一般来说,我们会选择具有超过一定能力阈值的基本分类器。此外,所有的基分类器都可以根据其在局部区域上的性能,以不同的分配权值进行选择,动态选择也可以视为一个元学习问题。
3.提出的方法
3.1 问题陈述
形式上,让
X
=
R
d
X=R^d
X=Rd为一个d维的特征空间,与一组可能的标签q相关联,定义为y={
Y
1
,
Y
2
,
.
.
.
.
.
.
.
,
Y
i
q
Y_1,Y_2,.......,Y_{iq}
Y1,Y2,.......,Yiq}.并且D={
(
x
i
,
y
i
)
∣
i
=
1
,
.
.
.
.
.
.
.
,
n
(x_i,y_i)|i=1,.......,n
(xi,yi)∣i=1,.......,n}表达了一组多标签的训练集,其中
x
i
x_i
xi是第i个实例,
y
i
y_i
yi={
y
i
1
,
y
i
2
,
.
.
.
.
.
.
.
y
i
q
y_{i1},y_{i2},.......y_{iq}
yi1,yi2,.......yiq}的相应的标签向量。
多标签学习的目的是学习一个分类函数h: X->
2
y
2^y
2y给定训练数据集D,它从特征空间映射到标签空间的子集。为了方便地管理不同标签的预测概率的相对大小,多标签学习也可以形式化为学习一个实函数f:x×y->R,其中
f
j
(
x
)
f_j(x)
fj(x)反应了
y
i
∈
y
y_i∈y
yi∈y是标签x的置信度。
3.2 该方法的一般视图
动态集成学习的基本思想是为一个看不见的实例选择最合格的基分类器,并将这些分类器结合起来,做出最终的决定。根据这个想法,MLDE的框架如图1所示。
如图所示,MLDE包括三个步骤:
- 基分类器生成,生成一个候选基分类器池;
- 基分类器选择,为不同的不可见实例动态选择最有效的基分类器;
- 基分类器聚合,它将所选的基分类器组合起来,做出最终的决策。
3.3 基础分类器生成
在集成学习中,关键是基础分类器应该是准确和多样化的。由于集成学习构建了多个分类器,因此简单的分类方法是首选。
为了有效地构建基础分类器,我们采用了一种简单的多标签学习方法BR 。BR将一个多标签学习问题视为多个单一学习问题。具体来说,BR将带有q个标签的原始多标签数据集D划分为q个单标签数据集
D
1
;
D
2
;
.
.
.
;
D
q
D_1;D_2;...;D_q
D1;D2;...;Dq。然后对每个标签,可以建立一个相应的分类器,给定一个单标签二值分类算法。
为了保证基分类器的多样性,MLDE在BR中使用了不同的单标签分类方法来构建其基分类器。共应用了逻辑回归、决策树、贝叶斯网络、支持向量机等4种不同类型的候选算法。为了进一步提高多样性,我们采用通过自举方法从D中重新采样的不同数据集对基分类器进行训练。最终,这些BR分类器一起形成了候选分类器池P={
C
1
,
C
2
.
.
.
.
.
.
.
.
C
r
C_1,C_2........C_r
C1,C2........Cr}。
3.4 基础分类器选择
使用生成的候选分类器池P,下一个任务是在一个看不见的实例
x
n
e
w
x_new
xnew出现时,从P中选择最有能力的基分类器。如前一节所述,集成学习的关键是基本分类器应该是准确和多样化的。通过在不同的数据集上训练不同的单标签分类方法,我们增加了基分类器的多样性。因此,在选择基本分类器时,我们必须考虑每个分类器的能力,包括其分类和标签相关性探索的能力。
为了帮助描述基础分类器的能力评价,本文预先描述了一些评价指标。所有指标都在一个有m个实例的数据集中计算。
单标签的准确性:测量在给定一个标签时被正确预测的实例的比例。例如,Yj的单标签精度可以表述为:
多标签精度:评估具有相同权重的所有标签上的整体精度:
排名损失:探索正标签和负标签之间的对位相关性,对于每个实例,它测量反向排序标签对的比例(给定正标签
Y
j
Y_j
Yj和负标签
Y
k
Y_k
Yk,
Y
j
Y_j
Yj的预测值不大于
Y
k
Y_k
Yk的预测值):
其中,
∣
y
i
∣
|y_i|
∣yi∣和
(
q
−
∣
y
i
∣
)
(q-|y_i|)
(q−∣yi∣)分别为
x
i
x_i
xi地面值中正标签和负标签的个数。当正标签的所有预测值都大于负标签的预测值时,排名损失达到完美值,这关注的是学习者利用标签相关性的能力,而不是模型的准确性。
预测性能是基本分类器选择的关键问题。性能评价指标是这个问题的关键。因此,我们将分析在以下内容中应该使用哪些评估度量。
单标签精度用于评估一个基本分类器对不可见实例的不同标签的准确性。为了更有效地管理每个标签,在评估一个基本分类器的准确性时,我们分别处理每个标签。事实上,我们可以简单地采用多标签精度来衡量整个标签集上的基本分类器的正确性。然而,多标签精度衡量的是考虑所有标签的基分类器的精度,它可能导致所有的基分类器都能有效地处理相似的标签子集,并获得无差异的评价。这个过程将留下一些标签,不能被所有选择的基分类器准确预测。下面的一个简单的例子展示了在基础分类性能测量中,单标签精度优于多标签精度的优势。在本例中,每个实例有3个标签,并且有5个候选基分类器。
如表1所示,C4和C5达到了最高的多标签精度,因此当使用多标签精度来衡量基础分类器的能力时,将被选择。然而,标签1将没有有效的基础学习器。因此,使用单标签精度来单独处理标签和衡量单个标签上的基础分类器的能力是合理的。
通过分析标签之间的相关性来评估基本分类器在整个标签集上的性能。也就是说,标签之间存在复杂且显著的相关性,如果标签作为独立个体处理,相关信息会被忽略。因此,我们试图找到一种简单而有效的方法来探索标签相关性。排名损失,通过检查标签中的关系来评估基础分类器的能力,为我们提供了一个很好的选择。因此,除了单标签精度外,还采用了排名损失。
单标签精度保证了基本分类器的准确性,而排名损失试图获得一个适当的标签顺序。同时考虑它们来选择基分类器,有望提供良好的多标签学习性能。使用单标签精度和排名损失作为评估指标,当
x
n
e
w
x_{new}
xnew发生时,基本分类器
C
1
;
C
2
;
…
;
C_1;C_2;…;
C1;C2;…;分类器池P中的
C
r
C_r
Cr通过以下三步过程完成。
第一步:确定了
x
n
e
w
x_{new}
xnew的k个最近邻。将与
x
n
e
w
x_{new}
xnew的欧氏距离最小的k个实例作为其k个最近邻
N
k
N_k
Nk,作为
x
n
e
w
x_{new}
xnew的局部区域。
其次,使用所有的基分类器来预测
N
k
N_k
Nk中的实例。对于基础分类器
C
i
C_i
Ci,可以计算其单标签精度和在
N
k
N_k
Nk上的排序损失。
N
k
N_k
Nk上的单标签精度和排名损失值被认为可以描述
C
i
C_i
Ci在
x
n
e
w
x_new
xnew上的性能。直觉是,在
x
n
e
w
x_{new}
xnew的邻居上表现良好的分类器预计在
x
n
e
w
x_{new}
xnew上也表现良好。在单标签精度方面,选择分类器C∈{
C
s
=
a
r
g
m
a
x
i
∈
{
1
,
2
,
.
.
.
.
r
}
a
c
c
(
C
i
)
C_s=arg max_{i∈\{1,2,....r\}}{acc(C_i)}
Cs=argmaxi∈{1,2,....r}acc(Ci)}.依据排序损失,排名在前50%的基础分类器将会被选择。选择如此多的基分类器的原因是,应该保持足够数量的候选者,由单标签精度选择,以为所有单个标签提供良好的预测性能。图2显示了示例1中可能的选择结果。
如图2所示,在单标签精度方面,为标签1选择了基本分类器C1;C2,为标签2选择了基本分类器C3、C4、C5,标签3选择C4和基分类器C5。在排名损失方面,选择了基本分类器C3、C4、C5。
如何结合单标签精度和排名损失方面的选择结果,以产生最终的预测
x
n
e
w
x_{new}
xnew的基分类器集成,将在下一节中描述。
3.5 基础分类器聚合
在基分类器的选择中,根据单标签精度,我们为相关的标签从q池子{
P
A
C
C
1
,
.
.
.
.
.
.
.
.
P
A
C
C
q
P^1_{ACC},........P^q_{ACC}
PACC1,........PACCq}中选择分类器。除此之外,根据对loss进行排序,还选择了一个基本分类器池
P
R
a
n
k
P_{Rank}
PRank。所有这些被选择的基分类器都将被聚合到一个集合中,以做出最终的决定。
对于
x
n
e
w
x_new
xnew的第j个标签,
P
A
c
c
j
P^j_{Acc}
PAccj中的每个基分类器都将产生一个分类结果。在
P
A
c
c
j
P^j_{Acc}
PAccj中所有基分类器的分类结果中,通过多数投票得到一个标签的最终决定。因此,
P
A
c
c
j
P^j_{Acc}
PAccj中的基分类器一起为第j个标签产生一个0或1的值。相比之下,
P
R
a
n
k
P_{Rank}
PRank中的每个基分类器都为
x
n
e
w
x_{new}
xnew的每个标签生成一个真实的值。综上所述,
P
A
c
c
P_{Acc}
PAcc中的基分类器的预测结果采用布尔值向量b=
(
b
1
,
b
2
,
.
.
.
.
.
.
.
.
,
b
q
)
(b_1,b_2,........,b_q)
(b1,b2,........,bq)的形式,而
P
R
a
n
k
P_{Rank}
PRank中的基分类器的预测结果采用实值向量r=(r_1,r_2,…,r_q)的形式。这两个向量混合得到最终结果。
根据第3.1小节中描述的第二种多标签学习方案,多标签函数能够将
x
n
e
w
x_{new}
xnew和特定标签
Y
j
∈
y
Y^j∈y
Yj∈y的特征映射到实际值。这个实值描述了
Y
j
Y_j
Yj与
x
n
e
w
x_{new}
xnew关联的概率。因此,必须解决如何将实值转换为布尔值,以表示
Y
j
Y_j
Yj是否为
x
n
e
w
x_{new}
xnew的标签。还必须确定如何对不同标签的预测进行适当的排名,因为属于
x
n
e
w
x_{new}
xnew的标签的预测概率应该高于不相关标签的预测概率。因此,在最终的预测结果中,我们应该同时保持b的分类结果和r的排序结果。
根据以上分析,b和r的混合方式如下。首先,加入b和r中对应的值,得到br=(
b
1
+
r
1
,
b
2
+
r
2
.
.
.
.
.
.
.
b
q
+
r
q
b_1+r_1,b_2+r_2.......b_q+r_q
b1+r1,b2+r2.......bq+rq).当添加
b
i
b_i
bi和
r
i
r_i
ri时,
b
i
b_i
bi的布尔值0/1将被转换为实值0:0或1:0。然后,将
b
r
b_r
br的每个值除以所有值的和。最后,通过将小于0:5的值转换为0,并将其他值转换为1,将归一化的
b
r
b_r
br转换为
x
n
e
w
x_{new}
xnew的最终多标签。该方法可以保持单个标签的预测精度,同时调整标签的顺序更合适。
综上所述,程序1总结了MLDE的整个过程。步骤2至6对应于基本分类器生成,步骤9至16和步骤23至30使用单标签精确度和排名损失完成基本分类器选择,步骤17至21、步骤31至35和步骤36对应于基本分类器聚合。
4.实验研究
为了评估MLDE的有效性,并验证该方法是否在实践中可能有用,本节进行了广泛的实证研究。首先,描述了实验设置,以保证该实验的重现性。然后,对实验结果进行了报告和分析。
4.1 实验设置
4.1.1 基准数据集
实验中,考虑了来自8个不同领域的24个数据集。所有这些数据集都是从KDIS的网站上下载的。所使用的数据集的细节如表2所示,包括数据集的名称和域、实例数(n)、数据集的特征(d)和标签(q)。
在最后三列中,Card是与数据集中每个实例关联的标签的平均数量,可以由Card=
s
u
m
(
Y
)
n
\frac{sum(Y)}{n}
nsum(Y)计算,其中Y是标签矩阵。Dens描述了标签空间的稀疏性,而较小的Dens
是,数据集的稀疏性。Dens
的计算公式为Dens=
C
a
r
d
q
=
s
u
m
(
Y
)
n
×
q
\frac{Card}{q}=\frac{sum(Y)}{n×q}
qCard=n×qsum(Y),为了衡量多标签数据集的类不平衡程度,将标签的不平衡比率定义为多数标签与当前标签之间的比率。例如,第j个标签的不平衡比率
I
R
j
=
m
a
x
k
=
1
,
.
.
.
.
.
.
q
s
u
m
(
Y
k
)
/
s
u
m
(
Y
i
)
IR_j=max_{k=1,......q}{sum(Y_k)/sum(Y_i)}
IRj=maxk=1,......qsum(Yk)/sum(Yi)。这就意味着不平衡比率(MeanIR)衡量所有标签的平均不平衡程度。它可以用MeanIR=
∑
j
=
1
q
x
i
q
\frac{\sum_{j=1}^{q} x_i}{q}
q∑j=1qxi来计算.MeanIR值越大,则说明不平衡的数据越多。
每个基准数据集被分为两部分:训练
和测试数据集
,使用迭代分层方法,分别为67%和33%。为了获得更可靠的结果,这个过程重复了5次。
4.1.2 基线模型
为了报告可靠的比较结果,将MLDE与不同类型的多标签分类方法进行比较,并选择有代表性的和更新的方法。一共有9种方法,包括非集成的方法:
- MLKNN
- LF-LELC
传统的集成方法: - RAkELd
- ECC
- ACkELo
加权集成方法: - ELIFT
- BOOMER
- MLWSE
动态集成方法: - DECC
ACkEL
产生了两个特定的实现,ACkELd
和ACkELo
,然而我们选择第二种,因为它实现的性能更好。MLWSE
给出了两种约束形式,得到了加权模型MLWSE-L1
和MLWSE-L21
,我们选择MLWSE-L1
是因为这两种算法没有显著差异,但第一种算法速度更快。DECC
提供了两种基于朴素贝叶斯
和基于knn
的基础学习器,我们选择了第二种,因为第一种方法对标签的数量敏感,导致训练超过15个标签的数据集的困难。
4.1.3 超参数设置
对于MLDE,进行了20个基分类器。其中,在BR框架下采用了逻辑回归、J48决策树、贝叶斯网络和支持向量机(RBF核)等4种候选算法,每种算法在不同的自举数据集下重复诱导5次。邻居的个数k设为5。该方法采用Weka
和Mulan
框架实现,Mulan
框架的MLDE
代码将公开。
4.1.4 评价指标
在评估MLDE的性能时,使用了6个成熟的多标签指标,包括3个基于分类的指标(准确性、F1测量、汉明损失)和3个基于排名的指标(一个错误、排名损失和平均精度)。在公式3中介绍了排名损失的计算,我们在下面描述了其他5个性能指标。
准确率: 评估地面真实标签和预测结果之间的Jaccard相似性。其值越大,性能就越好;而最完美的值是1。
与公式2中的多标签精度相似,它反映了整个标签集的性能。不同之处在于,准确性只考虑了积极的标签,因为多标签学习中的积极类别通常比消极的类别重要得多。
F1值: F1值是对精度和查全率的综合测量。值越大,性能越好,其最优值为1。
其中,
p
i
=
y
i
∩
h
(
x
i
)
/
h
(
x
i
)
p_i=y_i∩h(x_i)/h(x_i)
pi=yi∩h(xi)/h(xi)是第i个实例的精度,并且
r
i
=
∣
y
i
∩
h
(
x
i
)
∣
/
∣
y
i
∣
r_i=|y_i∩h(x_i)|/|y_i|
ri=∣yi∩h(xi)∣/∣yi∣是它的召回率。F1值也只考虑积极的标签。
汉明损失: 汉明损失评估了错误分类的标签的分数。值越小,性能越好;其完美值为0。
one Error: one Error评估排名最高的标签被错误分类的实例的比例。值越小,性能越好;其完美值是0。
平均查准率: 对每一个实例的平均查准率,评估的是平均的一部分积极的标签他的预测真实值的排序高于一些特定的积极的标签;例如,对于
x
i
x_i
xi给定
y
i
j
=
1
y_{ij}=1
yij=1,计算其预测真实值高于特定阳性标签的阳性标签的平均分数;计算Yk满足yik=1,
f
k
(
x
i
)
>
f
j
(
x
i
)
f_k(x_i) > f_j(x_i)
fk(xi)>fj(xi)的分数。价值越大,性能越好;它的完美值是1。
其中,
r
i
(
f
(
x
i
)
r_i(f(x_i)
ri(f(xi)是在预测结果向量f(x_i)的第j-th元素的排序值。
4.2 实验结果
本节将报告在24个基准数据集上的实验结果。
MLDE
和9种基线方法对6种性能指标的平均结果的比较分别见表3-8。表标题中向上的箭头“↑”表示表中的值越大,性能越好,而“↓”则表示相反。在每个表中,每个数据集的最高值都以粗体突出显示。此外,在最后三行中报告了不同方法的平均值、平均排名和赢/平局/输的情况。
在表3和表4中,一些方法的精度或f1测量值为0,因为在计算精度和f1值时只计算正标签。对于具有稀疏标签的多标签任务,可能一些方式无法实现正确的预测一些积极的标签甚至有可能精确度和f1值都为0.(见表3和表4,从表3-8中可以看出:
- MLDE赢得了在所有性能度量上的绝大多数数据集的基线方法。
- MLDE在所有性能指标上获得了比所有基线方法更好的平均值和平均值排名。
- MLDE在基于分类和基于排名的指标上都优于基线方法,这证明了所提出的分类器能力测量的有效性。
- 与排名第二的基线方法相比,MLDE在6项性能指标上的平均改善率分别为14.36%、6.63%、29.49%、18.21%、18.95%和8.04%。
总之,与基线方法相比,MLDE在基于分类的度量和基于排名的度量方面都表现最好。
4.3 算法分析
为了进一步探索MLDE的特点,我们实施了特定的实验来分析它。首先,为了验证MLDE和基线方法是否有显著性差异,我们进行了显著性检验。然后,进行了消融研究,以探讨所提出的模型如何生效。接下来,将报告MLDE的运行时。最后,分析了一个重要参数的影响。
4.3.1 显著性检验
我们首先进行弗里德曼检验,以验证所有的比较方法是否有显著差异。给定方法的数量(k=10)、数据集的数量(N=24)和显著性水平(α=0.05),如果弗里德曼统计量
F
F
F_F
FF大于临界值,则拒绝所有方法等价的零假设。表9提供了6个评价指标的临界值和F里德曼统计量
F
F
F_F
FF。显然,所有的
F
F
F_F
FF值都远远大于临界值。由此可见,比较方法存在显著差异。
因此,我们执行了一个事后测试来进一步验证MLDE是否显著优于其他基线方法。我们采用Bonferroni-Dunn检验,显著性检验结果如图3所示。在图中,每条水平线代表一个被比较的方法,红线对应于MLDE。这些线的长度等于CD=
q
α
k
(
k
+
1
)
6
N
q _α\sqrt{\frac{k(k+1)}{6N}}
qα6Nk(k+1),其中k=10,N=24,一条直线中的小圆表示对应方法的平均秩。如果两种方法的平均秩差大于CD,则两种方法存在显著差异。
从图3中可以看出,MLDE在一个误差和平均精度方面与所有基线方法都有显著差异,而在精度、F1值、汉明损失和排名损失方面与大多数基线方法都有显著差异。因此,可以得出结论,MLDE对基线方法提供了统计学上明显的改进。
4.3.2 消融实验
MLDE同时考虑了动态选择的分类精度和排序损失,从而获得了一个更有效的集成模型。单标签精度和排序损失的协同作用在MLDE的动态选择中起着重要的作用。为了验证他们的贡献,我们通过比较MLDE与:
- MLSE,它使用对所有未看到的实例使用所有相同的基分类器的静态集成方法来解决多标签分类;
- MLDE_S,通过只考虑单标签精度来选择基本分类器;
- MLDE_R,通过只考虑排名损失来选择基本分类器;
- MLDE_MR,通过同时考虑多标签精度和排名损失来选择基本分类器;
在MLDE_MR中,根据多标签精度和排名损失分别选择了排名前50%的基分类器。这两组基分类器的组合方法与在MLDE中一样,它们在结合根据单标签精度和排名损失选择的基分类器时的组合方法相同。
比较结果如图4的框图所示。在每个子图中,每个方框描述了24个数据集中对应度量值的最大值、上四分位数、中位数、下四分位数和最小值,圆圈表示离群值。
换句话说,采用单标签精度和排名损失以及动态策略提高了MLDE的有效性。
4.3.3 运行时间分析
在本节中,我们将提供MLDE与其他方法的复杂度分析和运行时比较。假设训练一个基分类器的复杂度为O(
ψ
\psi
ψ),而在一个不可见的实例上进行测试的复杂度为O(
ψ
\psi
ψ)。在模型训练中,时间主要用于基分类器的生成,其复杂度为O(r
ψ
\psi
ψ),其中r为基分类器的数量。在模型测试中,复杂性包括基本分类器选择和基本分类器聚合两部分。对于基分类器的选择,复杂度为O(
k
n
2
d
+
k
r
ψ
+
k
s
ˉ
r
kn^2d+kr\psi+k\bar{s}r
kn2d+krψ+ksˉr),包括寻找k个最近邻,评估候选分类器和选择有能力的分类器,其中
s
ˉ
\bar{s}
sˉ是为不可见的实例所选择的分类器的数量。考虑到评估候选分类器的时间成本比评估搜索和分类器的时间成本要长得多,这个项目可以进一步近似为O(kr
ψ
\psi
ψ)。对于基本分类器聚合,复杂度为O(
s
ˉ
ψ
\bar{s}\psi
sˉψ),该项目可以近似为O(
r
ψ
r\psi
rψ),因为参与最终决策的分类器是从r个候选决策中选择的。综上所述,MLDE的模型训练和测试的复杂性分别为O(
r
ψ
r\psi
rψ)和O(
k
r
ψ
+
r
ψ
kr\psi+r\psi
krψ+rψ)。
当模型应用程序在一个看不见的实例到达时发生时,测试的复杂性就会更加关键。为了减少测试时间,我们首先在训练数据集上测量所有基分类器并保存的性能结果.然后,当一个看不见的实例到达时,MLDE只需要找出它的k个最近邻并使用预测的结果。这样,MLDE的训练和测试复杂性就可以重新表述为O(
r
ψ
r\psi
rψ+
n
ψ
n\psi
nψ)和O(
r
ψ
r\psi
rψ),其中n是训练实例的数量。
为了评估MLDE的效率,我们在图5中比较了MLDE的运行时间和基线方法。在图5中,每种方法都有两个条形图,一个用于训练时间,另一个用于测试时间。由于我们已经重复了5次实验,图中所示的值是平均训练和测试时间。
从图5中可以得出结论,除LF-LELC和ELIFT外,MLDE比其他方法消耗了更多的训练时间。LFLELC和ELIFT需要更多的训练时间,因为它们在模型构建之前重建了特定于标签的特性。MLDE比除ELIFT和DECC之外的所有方法消耗更多的测试时间。ELIFT需要为原始特征映射到每个基分类器的新生成的标签特定特征中,因此它消耗了更多的测试时间。DECC动态地为不同的看不见实例生成不同的CC分类器;因此,它在测试中很慢。
作者在分析时间复杂度的时候,其实也可以作为自己寻找idea的方法,就是从中分析为什么时间复杂度比较高的原因,如何解决时间复杂度高?
必须注意的是,MLDE在模型训练和测试方面都具有良好的并行化前景。首先,r基分类器是独立的。其次,由于采用BR来诱导基分类器,因此每个基分类器中包含的q个单标签学习者也可以被并行化。在最佳的情况下,MLDE的训练时间和测试时间大多取决于r×q个分类器中最复杂的单标签分类器。也就是说,MLDE的训练和测试的复杂性可以降低到O( φ \varphi φ+ ψ \psi ψ)和O( ψ \psi ψ)。
4.3.4 参数敏感性分析
在MLDE中,最近邻的数量k描述了测量基分类器能力的区域的大小。在本小节中,我们分析了k对MLDE性能的影响。我们选择了4个具有不同标签数量的代表性数据集进行分析:旗帜有7个标签,酵母有14个标签,医学有45个标签,CAL_500有174个标签。计算结果如图6所示。在每个子图中,横轴为对数k,纵轴是相应的性能度量的值。
MLDE被显示为对k不敏感。但是,当k过小或过大时,MLDE的性能会有一定程度的下降。因此,我们建议将k设置为大约5。
5 总结
本文提出了一种基于动态集成学习的求解多标签分类的新方法MLDE:它为不同的看不见实例动态选择不同的基分类器组合,弥补了传统静态集成方法的缺陷。MLDE不仅是一种竞争性算法,而且为多标签问题的解决提供了一种新的范例。
首先,MLDE可以将任何多标签模型作为其基础学习器,即使是本文中采用的最简单的BR方法也取得了最先进的性能。其次,MLDE为多标签学习者的评价和选择提供了一种新的方案。在MLDE中,将单标签精度和排名损失相结合来衡量基础分类器的能力,其中单标签精度关注标签之间的差异,确保模型的准确性,排名损失有效地考虑了学习者利用标签相关性的能力。大量的实验和一系列的算法分析已经证明了该方法的有效性。