MLDE

用于多标签分类的动态集成学习
Xiaoyan Zhu a 1, Jiaxuan Li a 1, Jingtao Ren a, Jiayin Wang a, Guangtao Wang
摘要:集成学习已被证明是解决多标签分类问题的有效方法。然而,大多数现有的集成学习方法没有考虑不可见实例之间的差异,现有的考虑这种差异的方法未能有效地探索标签相关性,这限制了它们的性能。为了解决这些问题,我们提出了一种名为 MLDE(具有动态集成学习的多标签分类)的新方法。在 MLDE 中,选择并组合最有能力的基分类器集合来预测每个未见过的实例。为了使动态选择特定于多标签问题并获得更好的性能,我们将分类精度和排名损失结合起来作为基本分类器的能力度量。具体来说,分类准确率可分解为多个标签,区分一个分类器对不同标签的能力差异,而ranking loss则关注分类器在标签集上的整体表现,从而充分考虑多个标签之间的相关性。在 24 个公开可用的数据集上进行的广泛实验表明,MLDE 优于最先进的方法。
关键词:多标签分类、动态集成学习、标签相关、分类器选择
1 介绍
多标签分类解决了每个实例可以同时属于多个标签的问题。由于其在各个领域的广泛应用,例如文本分类、生物信息学和场景分类等领域,引起了越来越多研究者的关注。多标签问题不是几个单标签问题的简单组合,即标签之间的相关性是一个重要的问题。
已经提出了许多方法来解决多标签分类问题,这些方法主要属于两类,问题转换(PT)和算法适应(AA)。 PT 方法将多标签问题转换为单标签问题。典型的 PT 方法包括二进制相关性 (BR)、分类链 (CC) [7] 和标签幂集 (LP) [5];他们忽略了多个标签作为一个整体的特征,可能性能有限。 AA 方法 [3,4,8] 将特定的单标签方法扩展到其多标签版本,通常缺乏通用性。
在没有任何方法是完美的情况下,直观地采用集成学习来增强基本多标签算法的有效性。一些研究人员 [9-11] 构建了多个具有不同泛化能力和标签相关性探索能力的基学习器,然后将它们与 bagging 方案相结合,以增强模型的鲁棒性和克服初始化敏感性 [12,13]。然而,在 bagging 方案下,不同的 base learner 共享相同的权重,但实际上它们的贡献并不相等。
为了区分不同基础学习者的贡献,一些加权集成多标签方法 [14,15] 建议设计一个特定的目标函数并相应地学习权重分布。在这种学习方案中,通常在目标函数中添加正则化和约束项,以避免过度拟合和学习标签相关性。
此外,一些研究人员将AdaBoost[16] 方法扩展到多标签分类以实现另一种加权集成方案。这些提升方法[1,17]采用损失函数来确定每个基分类器的权重和下一次迭代中的数据分布,并最终获得加性模型。
然而,上面讨论的所有集成学习方法都无法区分不可见实例之间的差异。也就是说,一旦引入了基础学习器并确定了集成策略,学习模型就固定下来并传递给所有未见过的实例。然而,每个基本分类器通常是特征空间局部区域的专家。因此,提出了动态集成方法[18]来解决这个问题。单标签分类的动态集成学习已被广泛研究 [19,20]。在这些方法中,只有最有能力的基分类器才会被选择用于不同的未见实例。基分类器的能力测量通常通过其在未见实例所在的局部区域的准确性(或其他评估指标)来估计。这个概念是,在与未见实例相似的实例上表现良好的学习者有望在这个未见实例上表现良好。
DIBR [21] 首先对挖掘多标签概念漂移数据流进行动态集成学习,并将汉明损失作为基分类器能力的度量。考虑到汉明损失可分解为多个标签,DIBR 在分类器选择过程中没有考虑标签相关性。
DECC [22] 不是动态选择有能力的基分类器,而是为不同的未见实例生成不同的 CC 分类器。具体来说,对于每个未见实例,DECC 启发式地根据未见实例的邻域以不同的链顺序构造基本 CC 分类器。然而,CC方法只考虑沿标签顺序的标签相关性,DECC 没有完全解决传播问题。此外,如果没有动态选择,基分类器的性能很难得到保证。
在本文中,提出了一种名为 MLDE 的新型多标签动态集成学习方法。它遵循传统的动态集成方案,为不同的未知实例选择一个有能力的基分类器集成,并首先提出了一种特定于多标签任务的动态选择方法。
在多标签分类中,标签数量的增加给分类器能力测量带来了两个挑战:
1)多个标签上的整体测量倾向于忽略它们之间的差异,
2)可分解为多个标签的测量忽略它们之间的相关性。
为了应对这两个挑战,在 MLDE 中,将基于单个标签的分类精度和基于标签集的排名损失相结合,以评估基分类器的能力。
首先,准确性对于分类任务至关重要,对于多标签分类,我们建议分别评估基分类器在多个标签上的准确性,以便区分学习者在不同标签上的预测能力差异。
其次,MLDE利用排序损失来衡量正负标签之间的相反关系,有效地考虑了标签相关信息。第三,由于多个指标用于基分类器选择,MLDE 进一步提出了一种新机制,将所有选定分类器的输出整合到一个统一的结论中。总而言之,拟议的 MLDE 的贡献可以强调如下:
它为不同的未见实例动态选择合适的基分类器,并提供更有希望的预测结果。它提出了一种针对多标签问题的新型分类器选择方法,同时考虑单个标签的分类精度和标签集的排名损失,显着提高了模型精度及其标签相关性利用能力。它为多标签动态选择学习提供了一种新颖的集成机制,融合了通过不同测量选择的基分类器的输出。
本文的其余部分安排如下。第 2 节回顾了相关文献。第 3 节详细描述了所提出的方法。第 4 节描述了一项实证研究,第 5 节讨论了结论。
2、相关工作
本研究旨在通过动态集成学习方案解决多标签分类问题;因此,相关工作存在于多标签分类的集成学习方法和单标签分类的动态集成学习方法领域。
2.1.多标签分类的集成学习方法根据集成方法
我们将集成学习中的相关工作分为三类:传统集成学习方法、加权集成学习方法和动态集成学习方法。
2.1.1.传统的集成学习方法
如第 1 节所述,问题转换 (PT) 方法将多标签问题转换为单标签问题,并使用现有算法进一步解决。 PT 方法不可避免地有许多缺陷,但可以灵活地进一步改进。
在本文中,传统的集成学习方法是指采用非加权集成方案来缓解基础 PT 分类器缺陷的方法。典型的 PT 方法包括二进制相关性 (BR)、分类器链 (CC) 和标签幂集 (LP)。 BR 独立地对不同的标签建模,因此从不考虑标签相关性。为了解决这个问题,
文献 [23] 构建了一个具有两层 BR 分类器的堆叠模型,其中第一层输出之间的交互可以由第二层学习。 CC在不同的标签顺序下归纳出一系列分类器,以便后续分类器可以学习前面分类器的预测信息。
然而,CC 包含错误传播问题[24,25],即前端产生的错误可能会向下传播并导致进一步的错误。 ECC [9] 以随机顺序生成链的集合,因此大大减轻了 CC 的不确定性。 LP 将每个标签组合转换为一个新的标签类别,并接收一个多类别问题。 LP 完全保留了标签相关信息,但往往得到的类太多,而且每个类都很少有实例需要训练。 RAkEL [10] 将原始标签集随机分解为小子集,并为不同的新生成标签建立基分类器。这些子集可以显着减少标签数量并降低泛化难度。然后,在 RAkEL 之上,提出了一些方法 [26-28] 来改进标签子集的生成。
2.1.2.加权集成学习方法
在传统的集成学习方法中,所有基分类器的贡献被平等对待,忽略了它们之间的差异。为了解决这个问题,已经提出了一些加权集成学习方法。 Adaboost.MH [1] 首先将 AdaBoost 扩展到多标签分类,建立了一个基于 boosting 的加权模型,其中 BR 用于诱导基分类器,Hamming Loss 作为代理损失函数。
在此框架下,提出了许多方法将 AdaBoost 应用于各种多标签任务 [29-32]。由于Hamming Loss 可分解为多个标签且无法考虑标签相关性,Adaboost.LC [33] 将 Subset Accuracy 作为损失函数,评估学习者是否同时正确预测实例的所有标签。 BOOMER [17,34] 进一步建立了可用于更多多标签损失函数的多标签增强框架。尽管如此,SubsetAccuracy 只取 f0 的值;每个未知实例区分度很差。
为了灵活地捕获标签依赖性,一些基于排序的方法 [35,36] 采用正负标签之间的成对排序关系来指导迭代。与基于提升的方法不同,一些方法通过优化精心设计的目标函数来为基分类器搜索合适的权重分布。这些方法很少关注基分类器的设计,主要区别在于目标函数的构造。例如,ELIFT [14] 在目标函数中同时包含了损失函数和惩罚项,而 MLWSE [15] 在优化中进一步加入了标签相关性约束。
2.1.3.动态集成学习方法
传统和加权集成学习算法都忽略了未见实例之间的差异,并使用相同的模型来预测所有未见实例。为了克服这个问题,一些研究人员开始考虑这种歧视。
DIBR [21] 首先在挖掘多标签概念漂移数据流中执行动态集成学习。在 DIBR 中,采用改进的 BR 算法来归纳基分类器,并且对于每个未见实例,基分类器根据它们在未见实例的 k 最近邻上的汉明损失来选择。最后,所选基分类器的输出与多数表决方法相结合。 DIBR 实现了评估和选择有能力的分类器的传统动态集成方案,但它从未对多标签任务的方案进行有针对性的改进。
DECC [22] 以另一种方式采用了动态集成的思想。它不是为最终决策选择合适的基分类器,而是为不同的未见实例动态生成不同的 CC 分类器。对于每个未见过的实例,DECC 会根据其邻域启发式地构建标签预测顺序。 DECC 利用与 CC 框架的标签相关性,其中后续分类器可以建立在先前分类器的预测之上。然而,DECC 未能消除错误传播问题,标签相关性探索仅限于标签预测的顺序。此外,缺乏动态选择使得难以确保基分类器的能力。
2.2.单标签动态集成学习
用于单标签分类的动态集成学习已得到深入研究,并提出了许多有效的算法。这些算法一般包括三个步骤,即归纳、选择和集成基分类器,其核心思想是选择最有能力的分类器。通常,基分类器的能力是基于局部区域来估计的,这会产生局部区域识别、性能指标指定和选择标准设置的问题。关于局部区域识别问题,已经提出了一些算法,包括 k-NN、聚类和决策空间 [19,37,38]。 k-NN算法具有简单和高精度的优点,因此被广泛使用[18]。
关于绩效指标的指定,研究人员研究了两种方法:个体测量和群体测量。对于个体,已经使用了准确性、排名、概率、预言机等[39,20]。对于群体,多样性和歧义已被使用 [19,40]。通常,选择具有超过某个能力阈值的基分类器 [41]。此外,所有基分类器都可以根据它们在局部区域的表现选择不同的分配权重[42,43],动态选择也可以看作是一个元学习问题[44]。
3. 提出的方法
3.1.问题陈述
多标签学习旨在学习分类函数 h : X ! 2 Y 给定训练数据集 D,它从特征空间映射到标签空间的子集。为了方便地管理不同标签的预测概率的相对大小,多标签学习也可以形式化为学习一个实函数,其中 f x 反映了标签的置信度。
3.2.方法流程
动态集成学习的基本思想是为未见过的实例选择最有能力的基分类器,并将这些分类器组合起来做出最终决策。遵循这一思想,MLDE 的框架如图 1 所示。如图所示,MLDE 包括三个步骤:
1)基分类器生成,生成候选基分类器池;
2)基分类器选择,它为不同的未见实例动态选择最有能力的基分类器;
3) base classifier aggregation,它结合了选择的base classifiers来做出最终的决定。
3.3.基分类器生成
在集成学习中,关键点是基分类器应该是准确和多样化的。因为集成学习构建了多个分类器,所以首选简单的分类方法。为了有效地构建基础分类器,BR [5],一种简单的多标签学习方法,被利用。 BR 将多标签学习问题视为多个单一学习问题。具体来说,BR 将原始的带有 q 个标签的多标签数据集 D 划分为 q 个单标签数据集。然后对于每个标签,可以在给定单标签二元分类算法的情况下构建相应的分类器。为了确保基分类器的多样性,MLDE 在 BR 中使用不同的单标签分类方法来构建其基分类器。总共应用了4种不同的候选算法,包括逻辑回归、决策树、贝叶斯网络和支持向量机。为了进一步增强多样性,使用通过引导方法重采样的不同数据集来训练基础分类器。最终,这些 BR 分类器一起形成候选分类器池。
3.4.基分类器选择
使用生成的候选分类器池 P,下一个任务是在出现未见过的实例 x new 时从 P 中选择最有能力的基分类器。如前一小节所述,集成学习的关键点是基分类器应该是准确和多样化的。我们通过在不同的数据集上训练不同的单标签分类方法来增加基础分类器的多样性。因此,在选择基础分类器时,我们必须考虑每个分类器的能力,包括其分类能力和标签相关性探索能力。为了帮助描述基分类器能力评估,提前描述了一些评估指标。所有指标均在具有 m 个实例的数据集中计算。单标签准确度:测量在给定标签的情况下正确预测的实例的比例。例如,Y j 的单标签准确度可以表示为:
Ranking Loss:探索正负标签之间的对立关系,对于每个实例,它测量反向排序标签对的分数(给定正标签和负标签预测值):
其中 y i j j 和 ðq À y i j jÞ 分别是 x i 的 ground truth 中正标签和负标签的数量。当所有正标签的预测值都大于负标签的预测值时,Ranking Loss 达到完美值,这侧重于学习者对标签相关性的利用能力,而不是模型准确性。能力测量是基分类器选择的关键问题。能力的评估指标是这个问题的关键。因此,我们分析以下应该使用哪些评估指标。
单标签准确性用于评估基分类器对未见实例的不同标签的准确性。为了更有效地管理每个标签,在评估基分类器的准确性时,我们分别对待每个标签。事实上,我们可以简单地采用多标签准确度来衡量一个基分类器在标签集整体上的正确性。然而,Multi-label Accuracy衡量一个基分类器考虑所有标签的准确性,它可能导致所有基分类器在相似的标签子集上有效地工作并获得无差异的评估。这个过程会留下一些不能被所有选定的基分类器准确预测的标签。
下面的一个简单示例演示了在基本分类器能力测量中单标签准确度优于多标签准确度的优势。
在示例中,每个实例有 3 个标签,并且有 5 个候选基分类器。如表 1 所示,C 4 和 C 5 实现了最高的多标签准确度,因此在使用多标签准确度来衡量基分类器的能力时将被选中。然而,标签 1 将没有有效的基学习器。因此,单独处理标签并使用单标签准确度衡量基分类器对单个标签的能力是合理的。
Ranking Loss 用于通过分析标签之间的相关性来评估基分类器在整个标签集上的性能。也就是说,标签之间存在复杂且显着的相关性,如果将标签视为独立个体,则相关信息将被忽略。
因此,我们试图找到一种简单有效的方法来探索标签相关性。 Ranking Loss 通过检查标签中的关系来评估基分类器的能力,为我们提供了一个很好的选择。因此,除了Single-label Accuracy之外,还采用了Ranking Loss。
Single-label Accuracy保证了base classifiers的准确性,而Ranking Loss试图获取一个合适的label order。同时考虑它们进行基分类器选择有望提供良好的多标签学习性能。以Single-label Accuracy和Ranking Loss作为评价指标,当x new 出现时,基分类器C 1 的能力测度; C 2 ; . . . ;分类器池 P中的 C r 由如下三步过程完成。
首先,确定 x new 的 k 个最近邻居。与 x new 具有最小欧氏距离的 k 个实例被视为它的 k 个最近邻居 N k 并被视为 x new 的局部区域。
其次,使用所有基分类器来预测 Nk 中的实例。对于基础分类器 C i ,可以计算其在 Nk 上的单标签准确度和排名损失上的单标签准确度和排名损失值被认为描述了 C i 在 x 上的能力。直觉是在的邻居上表现良好的分类器也有望在 x 上表现良好。在单标签准确性方面,分类器被选中。按照Ranking Loss,选择前 50% 的基分类器。选择这么多基分类器的原因是应该保留足够数量的候选者以供单标签精度选择,以便为所有单个标签提供良好的预测性能。图 2 显示了示例 1 的可能选择结果。
如图 2 所示,就单标签准确性而言,基础分类器 C 1 ; C 2 被选择用于标签 1,基本分类器 C 3 ; C 4 ; C 5 被选择用于标签 2,基分类器 C 4 ; C 5 被选为标签 3。在排名损失方面,基础分类器 C 3 ; C 4 ; C 5 被选中。如何结合单标签准确性和排名损失方面的选择结果来生成最终的基分类器集合来预测 x new 将在下一节中描述。
3.5.基分类器聚合
在基分类器选择中,根据单标签准确性,我们选择 q 个基分类器池用于相应的标签。此外,在Ranking Loss方面,也选择了一个基分类器池P Rank。所有这些选定的基分类器将被聚合成一个整体来做出最终决定。
对于 x new 的第 j 个标签,P j Acc 中的每个基分类器将产生一个分类结果。标签的最终决定是通过在 P j Acc 中所有基分类器的分类结果中进行多数表决获得的。
因此,P j 中的基分类器一起为第 j 个标签产生 0 或 1 值。相反,P Rank 中的每个基分类器都会为 x new 的每个标签生成一个实数值。总之,P Acc 中基分类器的预测结果采用布尔值向量的形式; b 2 ; Á Á ; b q Þ 和 P Rank 中的基分类器的形式为实值向量 r 1/4 ðr 1; 2 ; Á Á ; rqÞ。这两个向量应该混合以获得最终结果。
根据 3.1 小节中描述的第二种多标签学习方案,多标签函数能够将 x new 和特定标签 Y j 2 Y 的特征映射到实数值。该实数值描述了 Y j 与 x new 关联的概率。因此,必须解决如何将实数值转化为布尔值来表示Y j 是否为x new 的标签。还必须确定如何保持对不同标签的预测的适当排名,因为属于 x new 的标签的预测概率应该高于不相关标签的预测概率。因此,在最终的预测结果中,我们应该同时保留b的分类结果和r的排序结果。
基于以上分析,b和r按如下方式混合。首先将b和r中对应的值相加。当将 b i 和 r i 相加时, b i 的布尔值 0/1 被转换为实数值 0:0 或 1:0。然后,通过将其每个值除以所有值的总和来对 br 进行归一化。最后将归一化的br转化为x new 的最终多标签,将小于0:5的值转化为0,其他转化为1。这种方法可以保持单标签的预测精度,同时调整标签顺序为更多合适的。
4. 实验研究
为了评估 MLDE 的有效性并验证该方法在实践中是否潜在有用,本节进行了广泛的实证研究。首先,描述实验设置以确保该实验的可重复性。然后,报告和分析实验结果。
4.1.实验设置
4.1.1.基准数据集
在实验中,考虑了来自 8 个不同领域的 24 个数据集。所有这些数据集都是从 KDIS 2 的网站下载的。有关所用数据集的详细信息如表 2 所示,包括数据集的名称和域、数据集的实例数 (n)、特征 (d) 和标签 (q)。在最后三列中,Card 是与数据集中每个实例关联的标签的平均数量,可以由由 Card 1/4 sumðYÞ n 提出,其中 Y 是标签矩阵。 Dens描述了标签空间的稀疏性,Dens越小,数据集越稀疏。 Dens 可以通过计算。为了衡量多标签数据集的类别不平衡程度,标签的不平衡率定义为多数标签与当前标签之间的比率。例如,第j个标签的不平衡比例为IR j 1/4 max k1/41;αα;q fsumðY k Þg=sumðY j Þ。平均失衡率 (MeanIR) 衡量平均所有标签的年龄失衡程度。它可以通过 MeanIR 1/4计算,每个基准数据集分为两部分:训练和测试数据集,使用迭代分层方法[45],分区分别为 67% 和 33%。为获得更可靠的结果,该过程重复 5 次。
4.1.2.基线方法
为了报告可靠的比较结果,将 MLDE 与不同类型的多标签分类方法进行比较,并选择具有代表性和更新的方法。总共选择了 9种方法,包括非集成 (MLKNN (2007) [8]、LF-LELC (2021) [46])、传统集成 (RAkELd (2010) [26]、ECC (2011) [9] 和 ACkELo(2021) [28])、加权集成 (ELIFT (2017) [14]、BOOMER (2020) [17] 和 MLWSE (2021) [15]) 和动态集成 (DECC (2019) [22])。ACkEL 产生两个特定的实现,ACkELd 和 ACkELo,我们选择第二个,因为它实现了更好的性能。 MLWSE 给出了两种约束形式来获得加权模型 MLWSE-L1 和 MLWSE-L21,我们选择 MLWSE-L1 是因为两种算法没有显着差异,但第一种更快。 DECC 提供了两种基于NaiveBayes 和 kNN 的基础学习器,我们选择第二种,因为第一种方法对标签的数量敏感,并且在训练超过 15 个标签的数据集时会很困难。
4.1.3.超参数设置
对于 MLDE,进行了 20 个基分类器。具体来说,在 BR 框架下采用逻辑回归、J48 决策树、贝叶斯网络和支持向量机(RBF核)等 4 种候选算法,并使用不同的自举数据集对每种算法进行 5 次重复归纳。邻居数 k 设置为 5。所提出的方法使用 Weka 和Mulan 框架实现,MLDE 的代码将公开可用 3 。
4.1.4.评价指标
在评估 MLDE 的性能时,使用了 6 个成熟的多标签指标,包括 3 个基于分类的指标(准确性、F1 度量、汉明损失)和 3 个基于排名的指标(一个错误、排名损失和平均精度) ). Ranking Loss 的计算已经在公式 3 中介绍过,我们在下面描述其他 5 个性能指标。准确性评估地面实况标签和预测结果之间的 Jaccard 相似度。值越大,性能越好;完美的值是1。
类似于公式 2 中的多标签准确性,它反映了整个标签集的性能。不同之处在于准确性仅考虑正标签,因为多标签学习中的正类通常比负类重要得多。F1 Measure 是准确率和召回率的综合衡量。值越大,性能越好;它的完美值是1。
汉明损失评估错误分类标签的比例。值越小,性能越好;它的完美值为0。
One Error 评估排名靠前的标签被错误分类的实例的比例。该值越小,性能越好;它的完美值为0。
每个实例的平均精度,评估其预测实际值排在特定正标签之上的正标签的平均分数;值越大,性能越好;它的完美值是1。
4.2.实验结果
本节报告了 24 个基准数据集的实验结果。表 3-8 分别显示了 MLDE 和 9 种基线方法在 6 个性能指标方面的平均结果比较。表格标题中的向上箭头"""表示表格中的值越大,性能越好,而"#"表示相反。在每个表格中,每个数据集的最高值以粗体突出显示。另外,最后三行报告了不同方法的平均值,平均排名和赢/平/输情况。在表3和表4中,一些方法报告Accuracy或F1 Measure的值为0,因为只计算了正标签在计算Accuracy和F1 Measure时。对于标签稀疏的多标签任务,一些方法可能会失败。
table 3. Accuracy ↑.
Dataset | ML-kNN | LF-LELC | RAkELd | ACkEL | ECC | ELIFT | BOOMER | MLWSE | DECC | MLDE |
BBC1000 | 0 | 0 | 0.113 | 0.332 | 0.085 | 0 | 0.333 | 0.058 | 0.159 | 0.307 |
Guardian1000 | 0.031 | 0 | 0.151 | 0.274 | 0.054 | 0 | 0.240 | 0.041 | 0.224 | 0.283 |
Inter3000 | 0 | 0 | 0.102 | 0.111 | 0.061 | 0.018 | 0.289 | 0.073 | 0.149 | 0.050 |
Reuters1000 | 0.004 | 0 | 0.104 | 0.285 | 0.081 | 0.002 | 0.247 | 0.073 | 0.269 | 0.246 |
Birds | 0.538 | 0.040 | 0.572 | 0.602 | 0.582 | 0.473 | 0.595 | 0.561 | 0.492 | 0.685 |
CAL500 | 0.197 | 0.402 | 0.205 | 0.298 | 0.211 | 0.181 | 0.213 | 0.201 | 0.214 | 0.264 |
CHD_49 | 0.488 | 0.525 | 0.450 | 0.520 | 0.494 | 0.491 | 0.506 | 0.515 | 0.488 | 0.542 |
Emotions | 0.487 | 0.477 | 0.406 | 0.538 | 0.488 | 0.180 | 0.566 | 0.514 | 0.417 | 0.750 |
Flags | 0.555 | 0.400 | 0.583 | 0.576 | 0.619 | 0.507 | 0.664 | 0.558 | 0.533 | 0.733 |
Foodtruck | 0.430 | 0.483 | 0.412 | 0.475 | 0.414 | 0.420 | 0.450 | 0.421 | 0.412 | 0.582 |
Genbase | 0.936 | 0.028 | 0.984 | 0.983 | 0.985 | 0 | 0.002 | 0.895 | 0.059 | 0.983 |
GnegativeGO | 0.895 | 0.935 | 0.940 | 0.940 | 0.939 | 0.887 | 0.937 | 0.934 | 0.913 | 0.945 |
GpositiveGO | 0.872 | 0.922 | 0.922 | 0.924 | 0.922 | 0.875 | 0.956 | 0.917 | 0.916 | 0.935 |
HumanGO | 0.672 | 0.742 | 0.711 | 0.724 | 0.742 | 0.623 | 0.759 | 0.722 | 0.671 | 0.730 |
Image | 0.480 | 0.562 | 0.450 | 0.543 | 0.510 | 0.413 | 0.625 | 0.508 | 0.524 | 0.730 |
Medical | 0.558 | 0.259 | 0.744 | 0.618 | 0.742 | 0.057 | 0.622 | 0.473 | 0.157 | 0.764 |
PlantGO | 0.599 | 0.707 | 0.742 | 0.777 | 0.750 | 0.473 | 0.814 | 0.722 | 0.590 | 0.730 |
Scene | 0.675 | 0.727 | 0.529 | 0.676 | 0.613 | 0.619 | 0.781 | 0.718 | 0.682 | 0.760 |
Coffee | 0 | 0.056 | 0.185 | 0.107 | 0.119 | 0 | 0.133 | 0.086 | 0.037 | 0.171 |
Tmc2007_500 | 0.510 | 0.628 | 0.588 | 0.621 | 0.641 | 0.671 | 0.581 | 0.658 | 0.510 | 0.669 |
VirusGO | 0.715 | 0.859 | 0.882 | 0.917 | 0.890 | 0.304 | 0.921 | 0.900 | 0.774 | 0.895 |
Water_quality | 0.355 | 0.442 | 0.353 | 0.343 | 0.384 | 0.503 | 0.391 | 0.367 | 0.363 | 0.561 |
Yeast | 0.507 | 0.587 | 0.433 | 0.487 | 0.484 | 0.532 | 0.533 | 0.525 | 0.534 | 0.657 |
Yelp | 0.525 | 0.675 | 0.654 | 0.634 | 0.698 | 0.573 | 0.645 | 0.685 | 0.502 | 0.672 |
Average value | 0.460 | 0.436 | 0.509 | 0.554 | 0.521 | 0.367 | 0.534 | 0.505 | 0.441 | 0.610 |
Average rank | 7.88 | 5.75 | 5.98 | 4.00 | 4.94 | 8.33 | 3.29 | 5.67 | 6.83 | 2.33 |
Win/Draw/Loss | 0/0/24 | 1/0/23 | 1/0/23 | 1/0/23 | 2/0/22 | 1/0/23 | 7/0/17 | 0/0/24 | 0/0/24 | 11/0/13 |
Table 4. F1 Measure ↑.
Dataset | ML-kNN | LF-LELC | RAkELd | ACkEL | ECC | ELIFT | BOOMER | MLWSE | DECC | MLDE |
BBC1000 | 0 | 0 | 0.128 | 0.379 | 0.089 | 0 | 0.344 | 0.060 | 0.171 | 0.331 |
Guardian1000 | 0.031 | 0 | 0.182 | 0.313 | 0.060 | 0 | 0.248 | 0.043 | 0.231 | 0.302 |
Inter3000 | 0 | 0 | 0.126 | 0.123 | 0.064 | 0.018 | 0.304 | 0.080 | 0.164 | 0.053 |
Reuters1000 | 0.005 | 0 | 0.120 | 0.321 | 0.086 | 0.003 | 0.254 | 0.073 | 0.280 | 0.263 |
Birds | 0.564 | 0.069 | 0.611 | 0.641 | 0.611 | 0.475 | 0.619 | 0.586 | 0.504 | 0.720 |
CAL500 | 0.324 | 0.549 | 0.335 | 0.448 | 0.342 | 0.302 | 0.342 | 0.326 | 0.342 | 0.410 |
CHD_49 | 0.599 | 0.637 | 0.572 | 0.640 | 0.606 | 0.602 | 0.618 | 0.627 | 0.603 | 0.652 |
Emotions | 0.562 | 0.554 | 0.495 | 0.645 | 0.569 | 0.221 | 0.648 | 0.594 | 0.494 | 0.805 |
Flags | 0.679 | 0.521 | 0.695 | 0.693 | 0.720 | 0.641 | 0.766 | 0.678 | 0.665 | 0.817 |
Foodtruck | 0.511 | 0.580 | 0.505 | 0.565 | 0.496 | 0.503 | 0.535 | 0.509 | 0.508 | 0.661 |
Genbase | 0.951 | 0.029 | 0.988 | 0.989 | 0.989 | 0 | 0.003 | 0.916 | 0.062 | 0.987 |
GnegativeGO | 0.908 | 0.944 | 0.951 | 0.949 | 0.946 | 0.894 | 0.944 | 0.942 | 0.920 | 0.954 |
GpositiveGO | 0.876 | 0.924 | 0.926 | 0.926 | 0.924 | 0.878 | 0.957 | 0.921 | 0.917 | 0.937 |
HumanGO | 0.697 | 0.774 | 0.748 | 0.771 | 0.772 | 0.651 | 0.784 | 0.752 | 0.698 | 0.766 |
Image | 0.513 | 0.594 | 0.508 | 0.609 | 0.545 | 0.442 | 0.661 | 0.542 | 0.558 | 0.758 |
Medical | 0.585 | 0.293 | 0.775 | 0.665 | 0.771 | 0.074 | 0.662 | 0.516 | 0.184 | 0.794 |
PlantGO | 0.615 | 0.721 | 0.766 | 0.802 | 0.769 | 0.480 | 0.824 | 0.736 | 0.595 | 0.758 |
Scene | 0.688 | 0.741 | 0.566 | 0.721 | 0.625 | 0.634 | 0.796 | 0.732 | 0.693 | 0.776 |
Coffee | 0 | 0.074 | 0.225 | 0.144 | 0.140 | 0 | 0.190 | 0.127 | 0.053 | 0.207 |
Tmc2007_500 | 0.599 | 0.713 | 0.674 | 0.712 | 0.717 | 0.699 | 0.668 | 0.735 | 0.596 | 0.746 |
VirusGO | 0.726 | 0.878 | 0.901 | 0.935 | 0.908 | 0.423 | 0.934 | 0.918 | 0.818 | 0.910 |
Water_quality | 0.491 | 0.574 | 0.491 | 0.488 | 0.523 | 0.609 | 0.527 | 0.502 | 0.500 | 0.691 |
Yeast | 0.611 | 0.678 | 0.554 | 0.608 | 0.591 | 0.603 | 0.631 | 0.627 | 0.630 | 0.747 |
Yelp | 0.601 | 0.734 | 0.714 | 0.709 | 0.755 | 0.662 | 0.706 | 0.743 | 0.558 | 0.731 |
Average value | 0.506 | 0.483 | 0.565 | 0.617 | 0.567 | 0.409 | 0.582 | 0.554 | 0.489 | 0.657 |
Average rank | 7.88 | 5.79 | 5.73 | 3.48 | 5.00 | 8.79 | 3.50 | 5.63 | 6.83 | 2.38 |
Win/Draw/Loss | 0/0/24 | 1/0/23 | 1/0/23 | 4/0/20 | 2/0/22 | 0/0/24 | 5/0/19 | 0/0/24 | 0/0/24 | 11/0/13 |
Table 5. Hamming Loss ↓.
Dataset | ML-kNN | LF-LELC | RAkELd | ACkEL | ECC | ELIFT | BOOMER | MLWSE | DECC | MLDE |
BBC1000 | 0.195 | 0.172 | 0.260 | 0.266 | 0.211 | 0.196 | 0.240 | 0.202 | 0.296 | 0.170 |
Guardian1000 | 0.189 | 0.171 | 0.262 | 0.286 | 0.211 | 0.189 | 0.267 | 0.208 | 0.274 | 0.183 |
Inter3000 | 0.187 | 0.171 | 0.295 | 0.305 | 0.208 | 0.184 | 0.243 | 0.231 | 0.289 | 0.212 |
Reuters1000 | 0.203 | 0.173 | 0.253 | 0.294 | 0.217 | 0.203 | 0.272 | 0.219 | 0.262 | 0.196 |
Birds | 0.050 | 0.545 | 0.050 | 0.053 | 0.042 | 0.052 | 0.040 | 0.050 | 0.057 | 0.035 |
CAL500 | 0.136 | 0.071 | 0.166 | 0.136 | 0.145 | 0.146 | 0.170 | 0.176 | 0.161 | 0.154 |
CHD_49 | 0.318 | 0.296 | 0.341 | 0.345 | 0.314 | 0.305 | 0.311 | 0.298 | 0.313 | 0.266 |
Emotions | 0.214 | 0.225 | 0.276 | 0.266 | 0.210 | 0.301 | 0.194 | 0.201 | 0.266 | 0.090 |
Flags | 0.288 | 0.384 | 0.265 | 0.304 | 0.242 | 0.341 | 0.217 | 0.275 | 0.313 | 0.161 |
Foodtruck | 0.153 | 0.123 | 0.153 | 0.145 | 0.157 | 0.159 | 0.151 | 0.155 | 0.160 | 0.115 |
Genbase | 0.006 | 0.072 | 0.001 | 0.001 | 0.001 | 0.068 | 0.092 | 0.007 | 0.073 | 0.001 |
GnegativeGO | 0.025 | 0.017 | 0.015 | 0.017 | 0.015 | 0.023 | 0.016 | 0.016 | 0.021 | 0.013 |
GpositiveGO | 0.047 | 0.039 | 0.038 | 0.043 | 0.039 | 0.049 | 0.022 | 0.037 | 0.042 | 0.032 |
HumanGO | 0.042 | 0.037 | 0.041 | 0.048 | 0.038 | 0.042 | 0.036 | 0.036 | 0.048 | 0.038 |
Image | 0.195 | 0.168 | 0.229 | 0.246 | 0.169 | 0.198 | 0.158 | 0.171 | 0.191 | 0.087 |
Medical | 0.016 | 0.026 | 0.010 | 0.019 | 0.011 | 0.030 | 0.019 | 0.021 | 0.035 | 0.010 |
PlantGO | 0.052 | 0.039 | 0.039 | 0.042 | 0.038 | 0.054 | 0.032 | 0.037 | 0.062 | 0.041 |
Scene | 0.089 | 0.083 | 0.143 | 0.126 | 0.095 | 0.091 | 0.074 | 0.078 | 0.098 | 0.058 |
Coffee | 0.016 | 0.009 | 0.016 | 0.011 | 0.016 | 0.020 | 0.022 | 0.026 | 0.020 | 0.016 |
Tmc2007_500 | 0.067 | 0.048 | 0.059 | 0.057 | 0.050 | 0.099 | 0.059 | 0.048 | 0.068 | 0.046 |
VirusGO | 0.068 | 0.044 | 0.037 | 0.029 | 0.035 | 0.309 | 0.026 | 0.032 | 0.079 | 0.030 |
Water_quality | 0.303 | 0.227 | 0.310 | 0.509 | 0.295 | 0.190 | 0.286 | 0.294 | 0.318 | 0.190 |
Yeast | 0.196 | 0.148 | 0.250 | 0.260 | 0.209 | 0.210 | 0.190 | 0.191 | 0.204 | 0.125 |
Yelp | 0.229 | 0.145 | 0.168 | 0.202 | 0.144 | 0.059 | 0.162 | 0.147 | 0.220 | 0.152 |
Average value | 0.137 | 0.143 | 0.153 | 0.167 | 0.130 | 0.147 | 0.137 | 0.132 | 0.161 | 0.101 |
Average rank | 6.02 | 4.04 | 6.42 | 7.21 | 4.58 | 6.75 | 4.71 | 4.75 | 8.25 | 2.27 |
Win/Draw/Loss | 0/0/24 | 5/0/19 | 0/0/24 | 0/0/24 | 1/0/23 | 1/0/23 | 3/0/21 | 1/0/23 | 0/0/24 | 13/0/11 |
Table 6. One Error ↓.
Dataset | ML-kNN | LF-LELC | RAkELd | ACkEL | ECC | ELIFT | BOOMER | MLWSE | DECC | MLDE |
BBC1000 | 0.732 | 0.732 | 0.759 | 0.588 | 0.732 | 0.679 | 0.634 | 0.723 | 0.804 | 0.529 |
Guardian1000 | 0.724 | 0.745 | 0.776 | 0.678 | 0.755 | 0.704 | 0.735 | 0.750 | 0.755 | 0.605 |
Inter3000 | 0.632 | 0.702 | 0.842 | 0.800 | 0.772 | 0.789 | 0.667 | 0.772 | 0.807 | 0.842 |
Reuters1000 | 0.677 | 0.710 | 0.742 | 0.665 | 0.731 | 0.710 | 0.731 | 0.704 | 0.699 | 0.616 |
Birds | 0.732 | 0.925 | 0.789 | 0.738 | 0.676 | 0.812 | 0.765 | 0.725 | 0.845 | 0.628 |
CAL500 | 0.114 | 0.337 | 0.760 | 0.256 | 0.269 | 0.189 | 0.417 | 0.371 | 0.303 | 0.319 |
CHD_49 | 0.230 | 0.251 | 0.350 | 0.356 | 0.295 | 0.251 | 0.355 | 0.279 | 0.333 | 0.220 |
Emotions | 0.354 | 0.318 | 0.465 | 0.356 | 0.288 | 0.505 | 0.323 | 0.295 | 0.384 | 0.140 |
Flags | 0.323 | 0.387 | 0.339 | 0.216 | 0.258 | 0.226 | 0.210 | 0.258 | 0.226 | 0.109 |
Foodtruck | 0.273 | 0.273 | 0.303 | 0.270 | 0.303 | 0.273 | 0.258 | 0.273 | 0.273 | 0.216 |
Genbase | 0.018 | 0.917 | 0.005 | 0 | 0.005 | 0.995 | 0.995 | 0.030 | 0.876 | 0 |
GnegativeGO | 0.067 | 0.046 | 0.048 | 0.052 | 0.052 | 0.063 | 0.048 | 0.047 | 0.067 | 0.039 |
GpositiveGO | 0.081 | 0.081 | 0.070 | 0.076 | 0.070 | 0.081 | 0.041 | 0.070 | 0.081 | 0.055 |
HumanGO | 0.235 | 0.172 | 0.227 | 0.225 | 0.198 | 0.220 | 0.192 | 0.176 | 0.265 | 0.174 |
Image | 0.371 | 0.305 | 0.457 | 0.367 | 0.309 | 0.389 | 0.287 | 0.307 | 0.367 | 0.151 |
Medical | 0.257 | 0.367 | 0.157 | 0.284 | 0.144 | 0.677 | 0.282 | 0.339 | 0.712 | 0.119 |
PlantGO | 0.243 | 0.195 | 0.225 | 0.216 | 0.207 | 0.257 | 0.180 | 0.205 | 0.362 | 0.207 |
Scene | 0.231 | 0.194 | 0.418 | 0.252 | 0.262 | 0.227 | 0.184 | 0.202 | 0.257 | 0.157 |
Coffee | 0.778 | 0.625 | 0.625 | 0.767 | 0.542 | 0.778 | 0.653 | 0.778 | 0.792 | 0.552 |
Tmc2007_500 | 0.252 | 0.166 | 0.254 | 0.257 | 0.159 | 0.171 | 0.265 | 0.148 | 0.255 | 0.138 |
VirusGO | 0.171 | 0.092 | 0.053 | 0.039 | 0.079 | 0.280 | 0.039 | 0.072 | 0.079 | 0.049 |
Water_quality | 0.311 | 0.286 | 0.437 | 0.441 | 0.294 | 0.222 | 0.386 | 0.266 | 0.326 | 0.194 |
Yeast | 0.232 | 0.221 | 0.431 | 0.293 | 0.258 | 0.280 | 0.301 | 0.225 | 0.250 | 0.173 |
Yelp | 0.293 | 0.200 | 0.272 | 0.219 | 0.187 | 0.197 | 0.232 | 0.190 | 0.259 | 0.185 |
Average value | 0.347 | 0.385 | 0.408 | 0.350 | 0.327 | 0.416 | 0.382 | 0.342 | 0.432 | 0.267 |
Average rank | 5.94 | 5.31 | 7.63 | 5.50 | 5.04 | 6.35 | 5.04 | 4.60 | 7.63 | 1.96 |
Win/Draw/Loss | 2/0/22 | 1/0/23 | 0/0/24 | 0/2/22 | 1/0/23 | 0/0/24 | 1/1/22 | 0/0/24 | 0/0/24 | 15/1/8 |
Table 7. Ranking Loss ↓.
Dataset | ML-kNN | LF-LELC | RAkELd | ACkEL | ECC | ELIFT | BOOMER | MLWSE | DECC | MLDE |
BBC1000 | 0.414 | 0.413 | 0.485 | 0.595 | 0.447 | 0.364 | 0.395 | 0.395 | 0.454 | 0.298 |
Guardian1000 | 0.426 | 0.427 | 0.503 | 0.660 | 0.439 | 0.406 | 0.452 | 0.441 | 0.413 | 0.345 |
Inter3000 | 0.374 | 0.434 | 0.519 | 0.883 | 0.443 | 0.416 | 0.445 | 0.463 | 0.414 | 0.487 |
Reuters1000 | 0.375 | 0.460 | 0.432 | 0.665 | 0.467 | 0.391 | 0.452 | 0.412 | 0.400 | 0.349 |
Birds | 0.093 | 0.299 | 0.159 | 0.315 | 0.096 | 0.150 | 0.183 | 0.115 | 0.170 | 0.088 |
CAL500 | 0.186 | 0.312 | 0.324 | 0.674 | 0.222 | 0.210 | 0.298 | 0.289 | 0.247 | 0.228 |
CHD_49 | 0.228 | 0.248 | 0.328 | 0.394 | 0.224 | 0.223 | 0.316 | 0.229 | 0.246 | 0.188 |
Emotions | 0.186 | 0.209 | 0.367 | 0.299 | 0.160 | 0.328 | 0.212 | 0.165 | 0.273 | 0.097 |
Flags | 0.231 | 0.411 | 0.288 | 0.401 | 0.215 | 0.226 | 0.185 | 0.233 | 0.231 | 0.148 |
Foodtruck | 0.169 | 0.182 | 0.224 | 0.510 | 0.149 | 0.162 | 0.235 | 0.178 | 0.186 | 0.149 |
Genbase | 0.008 | 0.435 | 0.006 | 0.016 | 0.005 | 0.276 | 0.344 | 0.022 | 0.267 | 0.002 |
GnegativeGO | 0.018 | 0.011 | 0.011 | 0.044 | 0.009 | 0.016 | 0.021 | 0.011 | 0.023 | 0.009 |
GpositiveGO | 0.046 | 0.037 | 0.038 | 0.075 | 0.036 | 0.039 | 0.030 | 0.035 | 0.051 | 0.029 |
HumanGO | 0.046 | 0.026 | 0.077 | 0.167 | 0.028 | 0.036 | 0.098 | 0.029 | 0.063 | 0.025 |
Image | 0.206 | 0.157 | 0.276 | 0.347 | 0.166 | 0.199 | 0.230 | 0.157 | 0.215 | 0.106 |
Medical | 0.038 | 0.161 | 0.050 | 0.330 | 0.024 | 0.145 | 0.234 | 0.079 | 0.349 | 0.022 |
PlantGO | 0.051 | 0.037 | 0.068 | 0.156 | 0.030 | 0.049 | 0.094 | 0.043 | 0.098 | 0.032 |
Scene | 0.083 | 0.065 | 0.276 | 0.229 | 0.096 | 0.074 | 0.160 | 0.066 | 0.106 | 0.063 |
Coffee | 0.175 | 0.451 | 0.225 | 0.906 | 0.172 | 0.314 | 0.398 | 0.392 | 0.375 | 0.138 |
Tmc2007_500 | 0.065 | 0.040 | 0.121 | 0.261 | 0.038 | 0.059 | 0.150 | 0.035 | 0.083 | 0.032 |
VirusGO | 0.064 | 0.028 | 0.018 | 0.045 | 0.020 | 0.269 | 0.041 | 0.022 | 0.029 | 0.012 |
Water_quality | 0.271 | 0.242 | 0.321 | 0.530 | 0.249 | 0.162 | 0.326 | 0.259 | 0.277 | 0.183 |
Yeast | 0.168 | 0.195 | 0.340 | 0.377 | 0.190 | 0.129 | 0.191 | 0.168 | 0.186 | 0.136 |
Yelp | 0.152 | 0.104 | 0.161 | 0.227 | 0.086 | 0.042 | 0.138 | 0.089 | 0.150 | 0.086 |
Average value | 0.170 | 0.224 | 0.234 | 0.379 | 0.167 | 0.195 | 0.234 | 0.180 | 0.221 | 0.136 |
Average rank | 4.79 | 5.71 | 7.21 | 9.50 | 3.63 | 4.33 | 7.08 | 4.58 | 6.54 | 1.63 |
Win/Draw/Loss | 2/0/22 | 0/0/24 | 0/0/24 | 0/0/24 | 2/0/22 | 3/0/21 | 0/0/24 | 0/0/24 | 0/0/24 | 17/0/7 |
Table 8. Average Precision ↑.
Dataset | ML-kNN | LF-LELC | RAkELd | ACkEL | ECC | ELIFT | BOOMER | MLWSE | DECC | MLDE |
BBC1000 | 0.485 | 0.499 | 0.462 | 0.579 | 0.483 | 0.528 | 0.548 | 0.508 | 0.451 | 0.628 |
Guardian1000 | 0.489 | 0.481 | 0.441 | 0.533 | 0.458 | 0.504 | 0.479 | 0.472 | 0.495 | 0.582 |
Inter3000 | 0.532 | 0.498 | 0.402 | 0.420 | 0.452 | 0.453 | 0.510 | 0.453 | 0.456 | 0.415 |
Reuters1000 | 0.540 | 0.491 | 0.474 | 0.533 | 0.470 | 0.514 | 0.484 | 0.504 | 0.519 | 0.571 |
Birds | 0.586 | 0.588 | 0.479 | 0.738 | 0.631 | 0.682 | 0.702 | 0.759 | 0.675 | 0.821 |
CAL500 | 0.480 | 0.431 | 0.324 | 0.402 | 0.440 | 0.473 | 0.359 | 0.398 | 0.431 | 0.439 |
CHD_49 | 0.784 | 0.779 | 0.723 | 0.741 | 0.778 | 0.782 | 0.733 | 0.775 | 0.764 | 0.811 |
Emotions | 0.762 | 0.760 | 0.640 | 0.758 | 0.792 | 0.651 | 0.760 | 0.794 | 0.708 | 0.883 |
Flags | 0.791 | 0.681 | 0.770 | 0.803 | 0.812 | 0.808 | 0.833 | 0.793 | 0.794 | 0.884 |
Foodtruck | 0.731 | 0.733 | 0.695 | 0.678 | 0.739 | 0.740 | 0.702 | 0.736 | 0.718 | 0.777 |
Genbase | 0.980 | 0.223 | 0.990 | 0.986 | 0.992 | 0.174 | 0.152 | 0.961 | 0.287 | 0.996 |
GnegativeGO | 0.958 | 0.973 | 0.972 | 0.965 | 0.973 | 0.962 | 0.963 | 0.973 | 0.956 | 0.976 |
GpositiveGO | 0.950 | 0.955 | 0.958 | 0.948 | 0.959 | 0.954 | 0.973 | 0.960 | 0.949 | 0.968 |
HumanGO | 0.854 | 0.897 | 0.843 | 0.834 | 0.882 | 0.865 | 0.829 | 0.893 | 0.825 | 0.896 |
Image | 0.755 | 0.803 | 0.692 | 0.743 | 0.801 | 0.751 | 0.770 | 0.803 | 0.752 | 0.885 |
Medical | 0.803 | 0.658 | 0.862 | 0.671 | 0.889 | 0.473 | 0.648 | 0.706 | 0.362 | 0.899 |
PlantGO | 0.846 | 0.886 | 0.858 | 0.845 | 0.885 | 0.842 | 0.854 | 0.875 | 0.766 | 0.884 |
Scene | 0.861 | 0.885 | 0.697 | 0.816 | 0.842 | 0.867 | 0.844 | 0.881 | 0.839 | 0.901 |
Coffee | 0.269 | 0.242 | 0.414 | 0.154 | 0.506 | 0.202 | 0.184 | 0.181 | 0.153 | 0.468 |
Tmc2007_500 | 0.779 | 0.849 | 0.763 | 0.742 | 0.859 | 0.896 | 0.702 | 0.869 | 0.769 | 0.876 |
VirusGO | 0.892 | 0.948 | 0.966 | 0.967 | 0.956 | 0.678 | 0.959 | 0.961 | 0.951 | 0.972 |
Water_quality | 0.673 | 0.703 | 0.624 | 0.580 | 0.689 | 0.771 | 0.645 | 0.690 | 0.668 | 0.781 |
Yeast | 0.762 | 0.756 | 0.602 | 0.718 | 0.744 | 0.855 | 0.742 | 0.771 | 0.747 | 0.817 |
Yelp | 0.833 | 0.899 | 0.846 | 0.888 | 0.907 | 0.832 | 0.874 | 0.909 | 0.859 | 0.913 |
Average value | 0.725 | 0.692 | 0.687 | 0.710 | 0.747 | 0.677 | 0.677 | 0.734 | 0.662 | 0.793 |
Average rank | 5.54 | 5.00 | 7.71 | 6.63 | 4.67 | 5.48 | 6.38 | 4.52 | 7.33 | 1.75 |
Win/Draw/Loss | 2/0/22 | 2/0/22 | 0/0/24 | 0/0/24 | 1/0/23 | 2/0/22 | 1/0/23 | 0/0/24 | 0/0/24 | 16/0/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.显着性检验
我们首先进行 Friedman 检验 [47] 来验证比较中的所有方法是否有显着差异。给定方法数量 (k 1/4 10)、数据集数量 (N 1/4 24)和显着性水平 (a 1/4 0:05),如果弗里德曼统计量 F F 较大,则所有方法都等效的原假设将被拒绝大于临界值。表 9 提供了 6 个评估指标的临界值和 Friedman 统计量 F F。
显然,所有的 F F 值都远大于临界值。因此,可以得出结论,比较的方法具有显着差异。因此,执行事后测试以进一步验证 MLDE 是否明显优于其他基线方法。我们采用 Bonferroni-Dunn 检验 [48],显着性检验结果如图 3 所示。
图中,每条水平线代表比较的方法,红线对应于 MLDE。直线的长度等于 CD 1/4 q a其中 k = 10 和 N = 24。直线中的小圆圈表示相应方法的平均排名。如果两种方法的平均排名之差大于 CD,则这两种方法有显着差异。
从图 3 可以看出,MLDE 在 One Error 和 Average Precision 方面与所有 baseline 方法有显着差异,在 Accuracy、F1Measure、Hamming Loss 和 Ranking 方面与大多数 baseline 方法有显着差异损失。因此,可以得出结论,MLDE 对基线方法提供了统计上明显的改进。
4.3.2.消融研究
MLDE 同时考虑动态选择的分类精度和排名损失,从而实现更有效的集成模型。 Single-label Accuracy 和 Ranking Loss 的配合在 MLDE 的动态选择中起着重要作用。为了验证他们的贡献,通过将 MLDE 与以下内容进行比较来执行消融研究:
(1) MLSE,它使用静态集成方法对所有未见过的实例使用所有相同的基分类器来解决多标签分类问题;
(2) MLDE_S,仅考虑单标签精度来选择基分类器;
(3) MLDE_R,仅考虑Ranking Loss来选择基分类器;
(4) MLDE_MR,它通过同时考虑多标签准确性和排名损失来选择基分类器;在 MLDE_MR 中,根据多标签准确度和排名损失分别选择前 50% 的基分类器。然后,这两组基分类器的组合方式与 MLDE 中根据单标签准确性和排名损失选择的基分类器组合时的方式相同。
比较结果如图 4 中的箱线图所示。在每个子图中,每个箱子描述了 24 个数据集中相应指标值的最大值、上四分位数、中值、下四分位数和最小值,圆圈代表异常值。根据比较结果,可以确定以下内容:MLDE 始终表现最好,表明结合单标签准确性和排名损失的优越性。 MLSE 总是比其他的表现差,证实了动态选择策略的有效性。考虑到基于分类的性能指标,MLDE_S 和 MLDE 优于 MLDE_R 和 MLDE_MR,证明了单标签精度对分类性能的有效性。考虑到基于排名的性能指标,MLDE_R、MLDE_MR 和 MLDE_SR 的性能优于 MLDE_S,明确了排名损失的贡献。换句话说,采用单标签准确性和排名损失以及动态策略可以提高 MLDE 的有效性。
4.3.3.运行时分析
在本节中,我们提供了 MLDE 与其他方法的复杂性分析和运行时比较。假设训练基础分类器的复杂度为 O,而在未见过的实例上进行测试的复杂性为 o2。在模型训练中,时间主要花在基分类器的生成上,其复杂度为O,其中r是基分类器的数量。
在模型测试中,复杂性由两部分组成:基分类器选择和基分类器聚合。为了基分类器选择,复杂度为 Oðkn 2 d + krP + k srÞ,包括寻找 k-最近邻,评估候选日期分类器并选择有能力的分类器,其中 s 是为未见实例选择的分类器的数量。考虑到评估候选分类器的时间成本比搜索和排序的时间成本长得多,
此项可以进一步近似为 OðkrPÞ。对于基分类器聚合,复杂度为 Oð sPÞ,并且此项可以近似为 OðrPÞ,因为参与最终决策的分类器是从 r 个候选分类器中选出的。总之,对于 MLDE,模型训练和测试的复杂度分别为 OðrLÞ 和 OðkrP þ rPÞ。由于每当一个看不见的实例到达时就会发生模型应用,因此测试的复杂性更为关键。为了减少测试时间,我们首先测量并保存训练数据集上所有基分类器的性能结果。
然后,当一个看不见的实例到达时,MLDE 只需要找出它的 k 最近邻并使用预先保存的结果。这样,MLDE 的训练和测试复杂性可以重新表述为 OðrL þ nPÞ 和 OðrPÞ,其中 n 是训练实例的数量。为了评估 MLDE 的效率,图 5比较了 MLDE 的运行时间 4 和基线方法。在图中,每种方法都有两个条,一个用于训练时间,另一个用于测试时间。因为我们已经重复了 5 次实验,所以图中显示的值是平均训练和测试时间。
从图 5 可以得出结论,MLDE 比 LF-LELC 和 ELIFT 以外的其他方法消耗更多的训练时间。 LF-LELC 和 ELIFT 需要更多的训练时间,因为它们在模型构建之前重建标签特定的特征。 MLDE 比除 ELIFT 和 DECC 之外的所有方法消耗更多的测试时间。 ELIFT 需要为每个基分类器将原始特征映射到新生成的特定于标签的特征,因此它会消耗更多的测试时间。 DECC 为不同的未见实例动态生成不同的 CC 分类器;因此,它的测试速度很慢。必须指出的是,MLDE 在模型训练和测试方面都具有良好的并行化前景。首先,r 个基分类器是独立的。其次,由于采用 BR 来归纳基分类器,每个基分类器中包含的 q 个单标签学习器也可以并行化。在最优情况下,MLDE 的训练和测试时间取决于 q 个的复杂单标签分类器,即 MLDE 的训练和测试复杂性能够降低。
4.3.4.参数敏感性
分析在 MLDE 中,最近邻的数量 k 描述了测量基分类器能力的区域的大小。在本小节中,我们分析了 k 对 MLDE 性能的影响。我们选择了 4 个具有不同标签数量的代表性数据集进行分析:具有 7 个标签的 Flags、具有 14 个标签的 Yeast、具有 45 个标签的Medical 和具有 174 个标签的 CAL_500。结果如图 6 所示。在每个子图中,横轴是对数 k,纵轴是相应性能指标的值。 MLDE 被证明对 k 不敏感。但是,当k过小或过大时,MLDE的性能都会有所下降。因此,我们建议将 k 设置为大约 5。
5结论
在本文中,提出了一种名为 MLDE 的新方法,用于通过动态集成学习解决多标签分类:它为不同的未见实例动态选择基分类器的不同组合,弥补了传统静态集成方法的缺陷。
MLDE 不仅是一种有竞争力的算法,而且为多标签问题解决提供了一种新颖的范例。首先,MLDE 可用于将任何多标签模型作为其基础学习器,即使是本文采用的最简单的 BR 方法也取得了最先进的性能。其次,MLDE 为多标签学习器的评估和选择提供了一种新颖的方案。在 MLDE 中,Single-label Accuracy 和 Ranking Loss 结合来衡量基分类器的能力,其中 Single-label Accuracy 关注标签之间的差异并保证模型的准确性,Ranking Loss 有效地考虑了学习者对标签的能力相关性利用。大量实验和一系列算法分析证明了所提方法的有效性。