开放科学(资源服务)标志码(OSID):
多标签学习广泛存在于真实世界中。在文档分类问题[1-3]中,每篇文档可能隶属于多个预定义的主题,如“经济”与“文化”;在场景分类[4]问题中,每个场景图片可能属于多个语义类别,如“海滩”和“城市”;在ECG心电异常检测[5]问题中,每个病人可能同时具有多种心脏疾病,如“完全性左束支阻滞”“前壁心肌梗死”以及“下壁心肌梗死”。对于上述多标签学习问题,训练集中的每条样本对应一组标签,学习系统通过对训练集进行学习从而完成对未知样本标签集的预测。
如果限定每个样本只对应一个标签,那么传统的二分类以及多分类问题均可看作多标签学习问题的特例。相较二分类以及多分类问题,多标签学习的难点在于随着标签数量的增加,待预测的标签组合数量呈指数级增长[6],从而导致分类器的计算成本过高,例如,一个具有20个标签的数据集,每条样本对应的标签组合一共有
根据多标签学习中考虑的标签关联程度,可以将现有方法分为一阶策略、二阶策略和高阶策略3类[12]:一阶策略是将每个标签看成是独立不相关的,不考虑标签间的相关性;二阶策略利用了标签成对的关联信息;高阶策略考虑每个标签对其他标签的影响。LP算法[13]将多标签问题转换为多分类问题,虽然其考虑了标签间的相关性,但标签组合的爆炸提高了算法的复杂度。TSOUMAKAS等[14]提出Random k-Labelsets算法,该算法将集成学习与LP算法[13]相结合,将原始的标签集分成若干子标签集,使用LP技术训练相应的分类器,但是,该算法对于标签子集的选择是随机的,没有充分利用标签集间的相关性。READ等[15]提出了分类器链(Classifier Chain,CC)算法,该算法将先预测出的标签作为后续待预测标签的输入特征,CC算法虽然考虑到了标签间的相关性,但其结果依赖于标签预测的顺序,前面预测的标签误差会传递到后面的标签中,如果前面的标签误差较大,将会导致算法整体分类性能不佳。YANG等[16]提出深度森林的多标签学习(Multi-label Learning with Deep Forest,MLDF)算法,MLDF算法通过设计多层结构来学习标签之间的相关性,使得深度森林模型适用于多标签分类场景。
本文提出一种双模态、阈值自调节的多标签学习K近邻算法,该算法的核心思想是根据标签相关性的双模态来构建预测模型,其中,一种模态是某些标签和其他标签具有多阶相关性,另一种模态是某些标签和其他标签是独立的。使用Fp_growth[17]算法挖掘标签集的频繁项,明确数据集本身固有的标签高阶关系,然后基于本文算法为高阶标签关系建模,评估样本标签集合是每一种频繁项的可能性,如果标签高阶关系模型不能预测出样本的标签集合,说明该样本具有的标签间相关性并不强,则使用一阶策略完成该样本标签集的预测。在此基础上,提出一种阈值自学习算法,该算法采用通用的Beta分布[18]描述阈值分布,基于每个频繁项和标签在原始特征空间上选择出对应的特征子空间,针对特征子空间中的每条样本,根据相应的评分模型获取相应的概率,用于更新Beta分布的参数
设
本文目的是基于标签相关性的双模态分别构建2个分类器:
1)第一个分类器是
$ {\mathit{\boldsymbol{h}}}_{1}\left(\mathit{\boldsymbol{x}}\right)={\mathit{\boldsymbol{P}}}_{\widehat{t}} $ | (1) |
其中
其中:
2)第二个分类器是
$ {\mathit{\boldsymbol{h}}}_{2}\left(\mathit{\boldsymbol{x}}\right)=\left\{{l}_{t}\left|g\right(\mathit{\boldsymbol{x}}, {l}_{t}) > \mathrm{I}\mathrm{T}({l}_{t}), {l}_{t}\in \mathit{\boldsymbol{Y}}, 1\le t\le q\right\} $ | (2) |
其中:
当频繁项相关性得分大于对应的关联阈值且该频繁项得分是所有频繁项中的最大值时,样本的标签集就是该频繁项。当通过多标签分类器
定义1(特征子空间) 在多标签任务中,给定标签
$ {\mathit{\boldsymbol{D}}}_{{l}_{j}}=\left\{{\mathit{\boldsymbol{x}}}_{i}\left|\right({\mathit{\boldsymbol{x}}}_{i}, {\mathit{\boldsymbol{Y}}}_{i})\in \mathit{\boldsymbol{D}}, {l}_{j}\in {\mathit{\boldsymbol{Y}}}_{i}\right\} $ | (3) |
$ {\mathit{\boldsymbol{D}}}_{{\mathit{\boldsymbol{P}}}_{j}}=\left\{{\mathit{\boldsymbol{x}}}_{i}\left|\right({\mathit{\boldsymbol{x}}}_{i}, {\mathit{\boldsymbol{Y}}}_{i})\in \mathit{\boldsymbol{D}}, {\mathit{\boldsymbol{Y}}}_{i}\subseteq {\mathit{\boldsymbol{P}}}_{j}\wedge {\mathit{\boldsymbol{P}}}_{j}\subseteq {\mathit{\boldsymbol{Y}}}_{i}\right\} $ | (4) |
定义2(频繁项) 给定一个标签组合
本文提出一种基于标签相关性的多标签学习K近邻算法,其架构如图 1所示。首先,使用频繁项挖掘算法Fp_growth[17]挖掘给定数据集的频繁项集;然后,为频繁项相关性得分和标签相关性得分建模,基于这2种评分模型使用阈值自学习算法为每一个频繁项和标签学习对应的关联阈值和独立阈值。至此,多标签学习分类模型构建完毕,最终使用预测算法完成测试样本预测。
![]() |
Download:
|
图 1 本文算法结构框架 Fig. 1 The structure framework of this algorithm |
本文对标签高阶关系和单标签分别进行建模,建模方法与ML-kNN算法[19]相比,ML-kNN算法将标签与其他标签之间看作是相互独立的,实现了单标签的建模与模型求解,忽略了标签之间的相关性,本文在ML-kNN单标签建模算法的基础上,实现高阶标签关系建模与模型求解,兼顾了标签间多种可能的相关性。
标签高阶关系通常以频繁项的形式呈现,对频繁项相关性得分进行建模,形式化表示为:
$ {s}_{\mathit{\boldsymbol{t}}}({\mathit{\boldsymbol{P}}}_{j})=p\left({\mathit{\boldsymbol{P}}}_{j}\left|{C}_{{\mathit{\boldsymbol{P}}}_{j}}\right(\mathit{\boldsymbol{t}})\right), {\mathit{\boldsymbol{P}}}_{j}\in \mathit{\boldsymbol{P}} $ | (5) |
其中:
$ {s}_{\mathit{\boldsymbol{t}}}({\mathit{\boldsymbol{P}}}_{j})=p({\mathit{\boldsymbol{P}}}_{j})p\left({C}_{{\mathit{\boldsymbol{P}}}_{j}}\left(\mathit{\boldsymbol{t}}\right)|{\mathit{\boldsymbol{P}}}_{j}\right)/p\left({C}_{{\mathit{\boldsymbol{P}}}_{j}}\left(\mathit{\boldsymbol{t}}\right)\right) $ | (6) |
其中:
算法1 频繁项相关性得分计算算法
输入 训练集
输出 频繁项相关性得分
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
$ \begin{array}{l}\mathrm{p}\left({\mathrm{P}}_{\mathrm{j}}\right)\mathrm{p}\left({\mathrm{C}}_{{\mathrm{P}}_{\mathrm{j}}}\left(\mathrm{t}\right)|{\mathrm{P}}_{\mathrm{j}}\right)/\left(\mathrm{p}\right({\mathrm{P}}_{\mathrm{j}})\mathrm{p}\left({\mathrm{C}}_{{\mathrm{P}}_{\mathrm{j}}}\left(\mathrm{t}\right)|{\mathrm{P}}_{\mathrm{j}}\right)+\\ \mathrm{p}(\neg {\mathrm{P}}_{\mathrm{j}})\mathrm{p}({\mathrm{C}}_{{\mathrm{P}}_{\mathrm{j}}}\left(\mathrm{t}\right)|\neg {\mathrm{P}}_{\mathrm{j}}))\end{array} $ |
对标签相关性得分进行建模,形式化表示为:
$ {s}_{\mathit{\boldsymbol{t}}}\left({l}_{j}\right)=p\left({l}_{j}\left|{C}_{{l}_{j}}\right(\mathit{\boldsymbol{t}})\right), {l}_{j}\in \mathit{\boldsymbol{Y}} $ | (7) |
使用贝叶斯准则,式(7)可以重写为:
$ {s}_{\mathit{\boldsymbol{t}}}\left({l}_{j}\right)=p\left({l}_{j}\right)p\left({C}_{{l}_{j}}\left(\mathit{\boldsymbol{t}}\right)|{l}_{j}\right)/p\left({C}_{{l}_{j}}\right(\mathit{\boldsymbol{t}}\left)\right) $ | (8) |
对于某个样本
$ \begin{array}{l}f\left(\mathrm{C}\mathrm{T}\left({\mathit{\boldsymbol{P}}}_{j}\right)\;:\alpha , \beta \right)=\\ \frac{1}{B(\alpha , \beta )}\int \mathrm{C}\mathrm{T}\left({\mathit{\boldsymbol{P}}}_{j}{)}^{\alpha -1}\right(1-\mathrm{C}\mathrm{T}({\mathit{\boldsymbol{P}}}_{j}{\left)\right)}^{\beta -1}, {\mathit{\boldsymbol{P}}}_{j}\in \mathit{\boldsymbol{P}}\end{array} $ | (9) |
本文采用通用的Beta分布来描述关联阈值
算法2 关联阈值自学习算法
输入 训练集
输出 关联阈值
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.end
12.
对独立阈值进行建模,形式化表示为:
$ \begin{array}{l} f(\mathrm{I}\mathrm{T}({l}_{j}):\alpha , \beta )= \\ \frac{1}{B(\alpha , \beta )}\int \mathrm{I}\mathrm{T}({l}_{j}{)}^{\alpha -1}(1-\mathrm{I}\mathrm{T}({l}_{j}{\left)\right)}^{\beta -1}, {l}_{j}\in \mathit{\boldsymbol{Y}} \end{array} $ | (10) |
独立阈值自学习算法描述如下:
算法3 独立阈值自学习算法
输入 训练集
输出 独立阈值
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.end
12.
值得注意的是,以上提到的2种阈值自学习算法都是增量式学习算法,当有新的训练样本时,可以基于已有的阈值直接进行更新,而无需重新学习。
例1 假设一个频繁项
$ \begin{array}{l} {\alpha }^{1} =1+100 \times 0.28=29,\; {\beta }^{1} =1+100 \times 0.72=73\\ {\alpha }^{2} =29+100 \times 0.25=54,\; {\beta }^{2} =73+100 \times 0.75=148\\ {\alpha }^{3} =54+100 \times 0.44=98,\; {\beta }^{3} =148+100 \times 0.56=204 \end{array} $ |
最终,频繁项
$ \mathrm{C}\mathrm{T}({\mathit{\boldsymbol{P}}}_{1})=\frac{{\alpha }^{3}}{{\alpha }^{3}+{\beta }^{3}}=\frac{98}{98+204}=0.325 $ |
预测的思路是首先基于标签高阶关系模型,评估样本标签集合属于每一种频繁项的可能性,如果标签高阶关系模型不能预测出样本的标签集合,说明该样本具有的标签间相关性并不强,则将问题转换为多个独立的二分类问题进行解决,从而兼顾标签间多种可能的相关性。预测算法描述如下:
算法4 预测算法
输入 训练集
输出 测试样本标签集
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.else
15.
16.
17.
18.
19.
为了验证本文算法的有效性,选取来自Mulan Library[21]库中的2组经典多标签数据集进行实验,多标签数据集对应的名称、领域、样本数、特征数、标签空间中标签数等详细信息如表 1所示。
![]() |
下载CSV 表 1 多标签数据集统计信息 Table 1 Multi-label dataset statistics |
Emotions[22]数据集包含593个标注了情感的歌曲样本,每个样本由72个特征描述,即8个韵律特征和64个音色特征。每个样本对应6个情感标签,每个标签代表一个基于模型的歌曲情感聚类。
Scene[23]数据集包含2 407个自然场景的图片样本,每个样本由294个特征描述,对应一个294维的特征向量,具体的属性向量生成过程可参见文献[23],标签空间是6种可能的自然场景。
3.2 实验设置实验设置具体如下:
1)实验平台。实验中所有代码都由Python编写,模型基于sklearn搭建。设备系统为Windows10,配备NVIDIA GEFORCE GTX 950M显卡,内存为16 GB。
2)数据预处理。本文算法对样本进行预测需要找出样本在训练集上相似度最高的k个样本,基于这k个样本的标签集预测测试样本的标签组合。为了度量样本之间的相似性,本文采用样本间的欧氏距离作为样本相似性的度量标准,为了消除特征之间的量纲影响,对数据特征进行归一化处理。
3)评价指标。本文算法可以直接预测出测试样本的标签集,因此,基于多标签排序[24]的评价指标并不适用于本文算法,考虑到本文算法的特殊性,从多标签分类层面对预测结果进行评估,采用
![]() |
下载CSV 表 2 分类结果的混淆矩阵 Table 2 Confusion matrix of classification results |
各评价指标的计算公式如下:
$ P=\frac{{T}_{\mathrm{T}\mathrm{P}}}{{T}_{\mathrm{T}\mathrm{P}}+{F}_{\mathrm{F}\mathrm{P}}} $ | (11) |
$ R=\frac{{T}_{\mathrm{T}\mathrm{P}}}{{T}_{\mathrm{T}\mathrm{P}}+{F}_{\mathrm{F}\mathrm{N}}} $ | (12) |
$ \mathrm{F}1=\frac{2\times P\times R}{P+R} $ | (13) |
各方法在实验数据集上的性能比较结果如表 3、表 4所示。从表 3、表 4可以看出,本文算法在2个数据集上的
![]() |
下载CSV 表 3 多标签学习方法在Emotions数据集上的性能比较 Table 3 Performance comparison of multi-label learning methods on Emotions dataset |
![]() |
下载CSV 表 4 多标签学习方法在Scene数据集上的性能比较 Table 4 Performance comparison of multi-label learning methods on Scene dataset |
为了验证关联阈值
1)只使用关联阈值对测试样本进行预测。
2)只使用独立阈值对测试样本进行预测。
3)结合2个阈值对测试样本进行预测。
3种策略的判别能力如表 5、表 6所示。由表 5、表 6可以看出,策略3的分类性能优于策略1和策略2。对比2组实验数据不难发现,在Emotions数据集上,只使用关联阈值就可以取得较好的分类性能,在Scene数据集上,只使用关联阈值则分类性能不理想。在Emotions数据集上,从策略1到策略3分类性能提升不是很明显,但是在Scene数据集上,从策略1到策略3的分类性能提升效果非常显著。
![]() |
下载CSV 表 5 不同策略在Emotions数据集上的性能比较 Table 5 Performance comparison of different strategies on Emotions dataset |
![]() |
下载CSV 表 6 不同策略在Scene数据集上的性能比较 Table 6 Performance comparison of different strategies on Scene dataset |
出现上述2种情况,最主要的原因是2组数据集标签间相关性的强弱不同。具体来说,Emotions数据集上因为标签间的相关性很强,测试样本的标签集总是以频繁项的形式呈现,因此,通过关联阈值预测就可以将绝大部分的测试样本标签集确定,剩余的样本需借助独立阈值去获取样本的标签集,即从策略1到策略3分类效果的性能提升不是很明显,验证了本文对标签高阶关系建模的有效性。在Scene数据集上,由于标签间的相关性较弱,存在挖掘出的频繁项不能覆盖所有标签的情况,通过使用关联阈值进行预测,该标签的分类指标必然为0,将大幅影响整体分类效果。在实际的预测过程中,只有很少部分的测试样本标签集是频繁项,值得注意的是,在数据集上虽然挖掘出频繁项,但一种标签组合是否属于频繁项由它在数据集上出现的频数以及设置的阈值参数共同决定,在Scene数据集上,频繁项的个数很少,通过本文算法验证了Scene数据集标签间的相关性较弱,对于测试样本,大部分都采用策略2完成标签集的获取,因此,从策略1到策略3分类效果有了很大的提升。
4 结束语已有多标签学习算法大多将多标签学习问题转化为多个独立的二分类问题,以对每个标签进行单独求解,该过程通常忽略了标签间的相关性。本文提出一种基于标签相关性的多标签学习K近邻算法,该算法充分挖掘标签间的相关性,对标签高阶关系进行建模,基于标签高阶关系模型分析样本的标签集合,如果标签高阶关系模型不能预测出样本的标签集合,说明该样本标签间的相关性并不强,此时使用一阶策略完成该样本标签集的预测工作,从而消除仅依靠单阶或多阶模型进行预测时存在的弊端。在2个经典数据集上的实验结果表明,该算法具有较高的F1-Measure值,其能取得较好的分类效果。下一步将在确定对应于每个频繁项或标签的近邻样本时,采用不同大小的近邻参数K,从近邻样本中提取出更为有效的信息来辅助分类过程,从而提高本文算法的分类性能。
[1] |
王进, 徐巍, 丁一, 等. 基于图嵌入和区域注意力的多标签文本分类[J]. 江苏大学学报(自然科学版), 2022, 43(3): 310-318. WANG J, XU W, DING Y, et al. Multi-label text classification based on graph embedding and region attention[J]. Journal of Jiangsu University (Natural Science Edition), 2022, 43(3): 310-318. (in Chinese) DOI:10.3969/j.issn.1671-7775.2022.03.010 |
[2] |
MINAEE S, KALCHBRENNER N, CAMBRIA E, et al. Deep learning—based text classification: a comprehensive review[J]. ACM Computing Surveys, 2022, 54(3): 62. |
[3] |
KOWSAR I, MEIMANDI J, HEIDARYSAF A, et al. Text classification algorithms: a survey[J]. Information, 2019, 10(4): 150. DOI:10.3390/info10040150 |
[4] |
ZHANG Z L, ZHANG M L. Multi-instance multi-label learning with application to scene classification[EB/OL]. [2021-10-05]. https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/nips06.pdf.
|
[5] |
HAN J Y, SUN G P, SONG X H, et al. Detecting ECG abnormalities using an ensemble framework enhanced by Bayesian belief network[J]. Biomedical Signal Processing and Control, 2022, 72: 103320. DOI:10.1016/j.bspc.2021.103320 |
[6] |
ZHANG M L, ZHOU Z H. A review on multi-label learning algorithms[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(8): 1819-1837. DOI:10.1109/TKDE.2013.39 |
[7] |
HE J, KORTYLEWSKI A, YANG S K, et al. Rethinking re-sampling in imbalanced semi-supervised learning[EB/OL]. [2021-10-05]. https://arxiv.org/abs/2106.00209.
|
[8] |
TSOUMAKAS G, KATAKIS I. Multi-label classification[J]. International Journal of Data Warehousing and Mining, 2007, 3(3): 1-13. DOI:10.4018/jdwm.2007070101 |
[9] |
CARVALHO A C P L F D, FREITAS A A. A tutorial on multi-label classification techniques[M]. Berlin, Germany: Springer, 2009.
|
[10] |
ZHANG M L, ZHANG K. Multi-label learning by exploiting label dependency[C]//Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2010: 999-1008.
|
[11] |
徐鹏宇, 刘华锋, 刘冰, 等. 标签推荐方法研究综述[J/OL]. 软件学报: 1-5[2021-10-05]. http://www.jos.org.cn/1000-9825/6481.htm. XU P Y, LIU H F, LIU B, et al. Research review of tag recommendation methods[J/OL]. Journal of Software: 1-5[2021-10-05]. http://www.jos.org.cn/1000-9825/6481.htm. (in Chinese) |
[12] |
HUANG S J, GAO W, ZHOU Z H. Fast multi-instance multi-label learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019, 41(11): 2614-2627. DOI:10.1109/TPAMI.2018.2861732 |
[13] |
JUNIOR J D C, FARIA E R, SILVA J A, et al. Label powerset for multi-label data streams classification with concept drift[C]//Proceedings of the 5th Symposium on Knowledge Discovery, Mining and Learning. Washington D. C., USA: IEEE Press, 2017: 97-104.
|
[14] |
TSOUMAKAS G, KATAKIS I, VLAHAVAS I. Random k-labelsets for multilabel classification[J]. IEEE Transactions on Knowledge and Data Engineering, 2011, 23(7): 1079-1089. DOI:10.1109/TKDE.2010.164 |
[15] |
READ J, PFAHRINGER B, HOLMES G, et al. Classifier chains for multi-label classification[J]. Machine Learning, 2011, 85(3): 333-359. DOI:10.1007/s10994-011-5256-5 |
[16] |
YANG L, WU X Z, JIANG Y, et al. Multi-label learning with deep forest[EB/OL]. [2021-10-05]. https://arxiv.org/pdf/1911.06557.pdf.
|
[17] |
BHANDARI A, GUPTA A, DAS D. Improvised apriori algorithm using frequent pattern tree for real time applications in data mining[J]. Procedia Computer Science, 2015, 46: 644-651. DOI:10.1016/j.procs.2015.02.115 |
[18] |
CHEN S M, LIAO W T. Multiple attribute decision making using Beta distribution of intervals, expected values of intervals, and new score function of interval-valued intuitionistic fuzzy values[J]. Information Sciences, 2021, 579: 863-887. DOI:10.1016/j.ins.2021.04.028 |
[19] |
ZHANG M L, ZHOU Z H. ML-kNN: a lazy learning approach to multi-label learning[J]. Pattern Recognition, 2007, 40(7): 2038-2048. DOI:10.1016/j.patcog.2006.12.019 |
[20] |
SHAH K, PATEL H, SANGHVI D, et al. A comparative analysis of logistic regression, random forest and KNN models for the text classification[J]. Augmented Human Research, 2020, 5(1): 1-16. DOI:10.1007/s41133-019-0017-2 |
[21] |
TSOUMAKAS G, SPYROMITROS-XIOUFIS E, VILCEK J, et al. Mulan: a java library for multi-label learning[J]. The Journal of Machine Learning Research, 2011, 12: 2411-2414. |
[22] |
TROCHIDIS K, TSOUMAKAS G, KALLIRIS G, et al. Multi-label classification of music into emotions[J]. EURASIP Journal on Audio Speech and Music Processing, 2008(1): 325-330. |
[23] |
BOUTELL M R, LUO J B, SHEN X P, et al. Learning multi-label scene classification[J]. Pattern Recognition, 2004, 37(9): 1757-1771. DOI:10.1016/j.patcog.2004.03.009 |
[24] |
FÜRNKRANZ J, HÜLLERMEIER E, LOZA MENCÍA E, et al. Multilabel classification via calibrated label ranking[J]. Machine Learning, 2008, 73(2): 133-153. DOI:10.1007/s10994-008-5064-8 |
[25] |
SEBASTIANI F. Machine learning in automated text categorization[J]. ACM Computing Surveys, 2002, 34(1): 1-47. DOI:10.1145/505282.505283 |