传统监督学习认为一个对象只具有一个标记类别, 属于“单示例, 单标记”类型. 在上述单一语义的情境中, 监督学习已经取得了巨大的发展成果. 然而在真实世界中, 一个对象往往同时具有多种语义信息, 属于“单示例, 多标记”类型. 例如在一篇新闻稿中可同时包含改革和经济两个主题, 一张风景图中天空和云朵往往会伴随出现, 在这种情况下很难用单一语义标记去描述对象信息. 为此, 多标记学习框架应运而生, 用于解决真实世界中一个对象同时具有多个语义标记的问题. 因其可以良好的反映真实世界中包含的多语义信息, 目前在文本分类[1], 图像标注[2], 生物基因分析[3]等领域得到了广泛应用. 同时众多学者也提出了一些多标记学习算法, 并取得了一定的成功. 但是目前大部分已有的多标记学习算法所采用的共同策略是基于同一特征属性空间预测所有标记类别, 忽略了每个标记独有的特征信息, 因此这种思路存在改进优化的空间. 其中ML-KNN[4]作为一种使用简单, 分类性能优异的多标记学习算法, 其数学形式相对简单, 模型易于优化, 在实际应用和学术科研中得到了广泛应用. 但是ML-KNN算法在模型训练过程中并没有考虑标记之间的相关性, 同时也忽略了标记特定特征信息. 因此, 在模型训练过程中考虑标记相关性和引入标记特定特征信息, 可以进一步提高算法的分类性能, 基于此提出了本文算法. 本文的整体组织结构如下: 第1部分介绍相关工作, 第2部分描述本算法的实现, 第3部分给出实验以及实验结果, 最后进行了总结.
1 相关工作在传统“单示例, 单标记”的单语义环境中, 传统监督学习已经取得了巨大的发展[5-8]. 然而在真实世界中, 语义信息往往是丰富多彩的, 传统监督学习已经不能对同时从属于多个标记类别下的单个示例进行很好的语义表达. 相比于传统监督学习, 多标记学习可以更好的反映真实世界中包含的语义信息. 不同于传统监督学习所假设的“单示例, 单标记”情形, 多标记学习所研究的任务场景属于“单示例, 多标记”类型. 我们假设
目前多标记学习研究所面临的主要挑战是标记空间爆炸性增长的问题[9]. 即类别标记集合数随着标记种类的增加而呈指数级增长, 假设样本中包含有q个类别标记信息, 则标记输出空间规模即可达到
其中, ML-KNN作为一种使用简单, 分类性能高效的算法, 在实际应用中得到了广泛应用. 但是ML-KNN算法属于一阶策略, 并未对标记之间相关性进行考虑, 同时也没有考虑标记特定特征信息. 虽然该算法取得了巨大的成果, 但是并未对标记相关性和标记特定特征信息加以利用, 存在优化改进的空间. 由Zhang等提出了LIFT算法[15]首次提出从引入标记特定特征信息这一角度出发的研究思路, 针对每一个标记信息提取其特征信息, 从而构建标记特征空间, 之后基于标记特征空间进行模型训练. 该算法基于多种公开数据集证明了其思路的有效性, 为多标记学习指明了一个新的研究方向. 但是该算法并未考虑标记之间的相关性, 属于一阶策略算法. 基于此, 我们通过融入标记相关性和引入标记特定特征信息对ML-KNN算法进行改进, 进一步提高算法分类性能.
2 ML-KNN算法以及改进算法 2.1 ML-KNN算法ML-KNN算法是在k近邻算法的基础上, 综合贝叶斯理论提出的能够处理多标记分类问题的KNN算法. 在此引入一些符号用于对该算法进行说明. 在多标记训练数据集
${C_x}\left( l \right) = \mathop \sum \limits_{a \in N\left( x \right)} {Y_a}\left( l \right),\;l \in {\cal{Y}}$ | (1) |
其中,
${Y_t}\left( l \right) = \arg {\max\nolimits_{b \in \left\{ {0,1} \right\}}}\frac{{P\left( {H_b^l} \right)P\left( {E_{{C_t}\left( l \right)}^l|H_b^l} \right)}}{{P\left( {E_{{C_t}\left( l \right)}^l} \right)}}$ | (2) |
该式所代表的含义为已知在测试示例t的k个近邻集合中有
$\begin{split} {Y_t}\left( l \right) =& \arg {\max\nolimits_{b \in \left\{ {0,1} \right\}}}\frac{{P\left( {H_b^l} \right)P\left( {E_{{C_t}\left( l \right)}^l|H_b^l} \right)}}{{P\left( {E_{{C_t}\left( l \right)}^l} \right)}} \\ =& \arg {\max\nolimits_{b \in \left\{ {0,1} \right\}}}P\left( {H_b^l} \right)P\left( {E_{{C_t}\left( l \right)}^l|H_b^l} \right) \\ \end{split} $ | (3) |
由上述公式可知, 计算
LIFT算法是由张敏灵等学者在研究多标记学习算法时提出的一种全新的算法. 该算法不同于之前研究点集中于挖掘标记之间相关性上, 而忽略了标记特定特征信息. LIFT算法从挖掘标记特征这一角度出发, 针对每一个标记类别, 通过挖掘其特征信息构建标记特征空间, 在模型训练过程中引入标记特征, 并且经过大量实验表明LIFT算法分类性能在公开数据集上优于其它多标记学习算法, 同时也证明了在模型训练过程中引入标记特定特征信息提高算法分类性能这一思路的有效性, 为后续多标记学习研究提供了一种新的思路.
2.2.1 LIFT算法基本模型LIFT算法通过对训练样本中的每个类别标记进行聚类操作, 分析每个标记的特征信息, 将原始样本集合根据特征标记划分为与当前标记呈正相关的样本和负相关的样本. 具体来说, 对于标记
$ {P_j} = \{ {x_i}|\left( {{x_i},{Y_i}} \right) \in D,{l_j} \in {Y_i}\} $ | (4) |
$ {N_j} = \{ {x_i}|\left( {{x_i},{Y_i}} \right) \in D,{l_j} \notin {Y_i}\} $ | (5) |
其中,
${\phi _j}\left( {{x}} \right) = \left[ {d\left( {{{x}},p_1^j} \right), \cdots,d\left( {{{x}},p_{m_j^ + }^j} \right),d\left( {{{x}},n_1^j} \right), \cdots,d\left( {{{x}},n_{m_j^ - }^j} \right)} \right] $ | (6) |
其中,
${{D}}_j^* = \left\{ {\left( {{\phi _j}\left( {{x_i}} \right),{Y_i}\left( j \right)} \right)|\left( {{x_i},{Y_i}} \right) \in D} \right\}$ | (7) |
其中, 如果标记
ML-KNN算法属于一阶策略算法, 在模型训练过程中没有考虑标记之间的相关性信息, 同时在预测标记时是基于相同的属性特征集合, 忽略了每个标记所独有的属性特征信息, 因此ML-KNN算法存在优化改进的空间. LIFT算法经过大量实验表明该算法的分类性能与其它多标记学习算法相比具有一定的竞争力, 证明了在模型训练过程中引入标记特定特征信息可以提高算法分类性能这一思路的可行性和有效性. 为此, 我们借鉴该思路, 对ML-KNN算法进行改进, 并且融入标记相关性信息, 提出基于标记特定特征新的多标记分类新算法MLF-KNN (Multi-Label Feature-K Nearest Neighbor). 本算法首先对多标记训练样本集合进行预处理, 通过对每个类别标记进行聚类分析构建基本标记特征, 之后通过稀疏正则化的方式协同增强与其它类别标记的信息从而增强对每个标记特征信息的表述, 进而引入当前标记与其它标记之间的相关性. 基于得到的标记特定特征, 使用改进后的ML-KNN算法进行分类. 不失一般性, 引入一些符号进行本算法的说明. 在模型训练之前, 首先需要构建每个标记所对应的正负相关示例集合. 对于训练样本中的每个标记
$ {\phi _k}\left( x \right) = {\left[ {d\left( {x,p_1^k} \right), \cdot \cdot \cdot ,d\left( {x,p_{{m_k}}^k} \right),d\left( {x,n_1^k} \right), \cdot \cdot \cdot ,d\left( {x,n_{{m_k}}^k} \right)} \right]^{\rm{T}}} $ | (8) |
其中,
${\varphi _k}\left( x \right) = {\left[ {{\phi _1}\left( x \right), \cdot \cdot \cdot ,{\phi _{k - 1}}\left( x \right),{\phi _{k + 1}}\left( x \right), \cdot \cdot \cdot ,{\phi _q}\left( x \right)} \right]^{\rm{T}}}$ | (9) |
其中,
$\mathop {\min }\limits_{{\beta _k} \in {\mathbb{R}^{{d_k}}}} \left| {\left| {{y_k} - {{{X}}_k} \cdot {\beta _k}} \right|} \right|_2^2 + \lambda \cdot {\left| {\left| {{\beta _k}} \right|} \right|_1}$ | (10) |
其中,
${{\cal{I}}_k} = \{ a|\left| {{\beta _{ka}}} \right| \ge \gamma ,1 \le a \le {d_k}\} $ | (11) |
根据之前生成的基本标记特征空间
${\psi _k}\left( {{x}} \right) = \left[ {{\phi _k}\left( {{x}} \right),{\prod\nolimits _{{{\cal{I}}_k}}}\left( {{\varphi _k}\left( {{x}} \right)} \right)} \right]$ | (12) |
其中,
${{{D}}_{{k}}} = \left\{ {\left( {{\psi _k}\left( {{{{x}}_i}} \right),{y_{ki}}} \right)|1 \le i \le m} \right\}$ | (13) |
针对训练样本中的每一个标记类别分别构造其特定特征空间, 在标记空间集合中应用改进后的ML-KNN算法进行模型训练, 其中在计算两个标记之间距离时MLF-KNN算法不同于ML-KNN采用欧式距离直接计算, 而是采用如下r阶Minkowski距离进行计算[16].
$dist({{x}},{{y}}) = {\left({\sum\limits_{l = 1}^d {\left\| {{{{x}}^l} - {{{y}}^l}} \right\|} ^r}\right)^{1/r}}$ | (14) |
其中, xl代表示例x的第l维, ||·||表示取该实数值的绝对值. 在计算两个样本之间的距离时采用Minkowski距离度量方法的主要出发点是考虑到不同数据集内数据可能具有不同分布从而需要采取不同的距离计算方法, 采用Minkowski方法可以提高本算法对不同数据集的包容性. 当阶数取值为1时, 可以转换为曼哈顿距离. 当阶数取值为2时, 可以转换为欧氏距离. 当阶数继续增大到无穷大时可转换为切比雪夫距离. 在本实验中所采用的数据集中的数据取值规范, 分布较为独立, 因此设定r值为2转换为欧式距离进行试验. 当数据集中的数据分布具有关联性或者局限性时, 可以改变r值的取值以适配不同的数据分布. MLF-KNN算法描述如算法1所示.
算法1. MLF-KNN算法
步骤1. 构造基本标记特征集.
For
利用式(4)和式(5)构建标记正相关样本集
End for
For
通过式(8)构建针对
End for
步骤2. 增强基本标记特征集, 构建标记特征.
For
通过对式(10)进行L1-范数正则化计算权重向量
通过式(11), 式(12), 构建最终标记特征;
End for
步骤3. 构建二分类训练集
For
根据式(13)构建标记
End for
步骤4. 计算先验概率.
For
计算标记
End for
步骤5. 计算示例在标记特定特征空间中的k近邻集合.
For
通过式(14)计算k近邻集合
End for
步骤6. 计算各类标记条件概率
步骤7. 对待测样例t进行分类, 通过式(8)构建新的样本表达
为了检验MLF-KNN算法的分类效果, 将本算法与ML-KNN, LIFT, Rank-SVM等3个多标记学习算法在公开酵母数据集yeast和图像数据集image上进行比较. 其中ML-KNN算法基于传统k近邻技术处理多标记问题, 基于已有样本的先验概率, 通过在训练样本中寻找距离最近的k个实例从而对未知示例进行标记预测. 但是该方法没有考虑标记之间的关联信息, 属于算法适应型一阶策略算法. LIFT算法通过构造每一个标记独有的特征信息, 基于标记独有的示例集合进行模型训练, 是从标记特征信息研究的新型算法, 但是同样没有引入标记之间的相关信息, 也属于一阶策略算法. Rank-SVM算法使用最大化间隔思想处理多标记问题, 该算法的核心是通过一组线性分类器对Ranking Loss指标进行优化, 并通过引入“核技巧”处理非线性分类问题[9], 属于算法适应型二阶策略算法. 实验所采用的数据集yeast和image在多标记学习领域是两个公开的数据集, 分别在生物领域和图像领域具有一定的代表性, 两个数据集详细信息如表1所示.
由于每个示例同时类属于多个标记, 因此传统的单标记评价指标例如精度(accuracy)、查准率(precision)和查全率(recall)等指标不再适用. 本文评价指标基于Haming Loss, One-error, Coverage, Ranking Loss, Average Precision[17]等5种在多标记学习领域广泛使用的评价指标. 其中, 对于Average Precision指标信息, 数值越大代表分类性能越好, 在表中使用
由图1可以看出, 本文提出的算法相比于ML-KNN算法在Coverage评价指标上表现性能十分优异, 当k值继续增大时, Coverage值可以接近最优解1.0, 代表MLF-KNN算法对于测试样本的预测所有相关性标记的平均查找深度小, 分类性能有所提高. 由表2和表3的对比实验结果图可以看出, 本文所提出的算法MLF-KNN在数据集yeast当中表现优异. 反映在具体评价指标上, MLF-KNN算法在One-error, Ranking Loss和Average Precision指标上表现不是最优, 虽然Ranking Loss指标上的表现低于LIFT算法, 但是相比ML-KNN算法而言该评价指标有所提高. 在数据集image中, 本算法同样在评价指标Haming Loss和Coverage上表现最优. 实验结果表明对ML-KNN算法引入标记特定特征和标记相关性进行改进可以进一步提高算法分类性能, 尤其在Coverage上表现更为明显, 同时也证明了从标记特定特征对算法进行改进创新这一思路的有效性.
4 结论与展望ML-KNN算法在模型训练过程中没有考虑到标记之间的相关性, 同时在预测不同标记时基于同一特征空间, 忽略了每个标记所特定的标记特征. LIFT算法从利用每个标记所独有的特征出发, 为多标记学习研究指明了一个新的方向. 基于此, 我们对ML-KNN算法进行改进, 在构造标记特征空间的同时对其进行增强, 引入与其它标记之间的相关性, 提高了算法分类性能. 在之后的工作中, 可以进一步对构建标记特征空间的方法进行创新, 另外本算法并未对标记不平衡的问题进行考虑, 当正负标记样本数量差异过大时会制约算法的分类性能, 所以下一步工作可以将当前多标记学习领域对正负标记不平衡问题的研究[18]引入到本算法当中.
[1] |
Nam J, Kim J, Mencía EL, et al. Large-scale multi-label text classification—Revisiting neural networks. Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Nancy, France, 2014, 437-452. |
[2] |
Wang H, Huang H, Ding C. Image annotation using multi-label correlated green’s function. Proceedings of the IEEE 12th International Conference on Computer Vision. Kyoto, Japan. 2009. 2029–2034.
|
[3] |
Goncalves EC, Plastino A, Freitas AA. A genetic algorithm for optimizing the label ordering in multi-label classifier chains. Proceedings of the IEEE 25th International Conference on Tools with Artificial Intelligence. Herndon, VA, USA. 2013. 469–476.
|
[4] |
Zhang ML, Zhou ZH. ML-KNN: A lazy learning approach to multi-label learning. Pattern Recognition, 2007, 40(7): 2038-2048. DOI:10.1016/j.patcog.2006.12.019 |
[5] |
Tsoumakas G, Spyromitros-Xioufis E, Vilcek J, et al. Mulan: A java library for multi-label learning. Journal of Machine Learning Research, 2011, 12: 2411-2414. |
[6] |
广凯, 潘金贵. 一种基于向量夹角的k近邻多标记文本分类算法. 计算机科学, 2008, 35(4): 205-206. DOI:10.3969/j.issn.1002-137X.2008.04.061 |
[7] |
陈琳琳, 陈德刚. 一种基于核对齐的分类器链的多标记学习算法. 南京大学学报(自然科学版), 2018, 54(4): 725-732. |
[8] |
Sun YY, Zhang Y, Zhou ZH. Multi-label learning with weak label. Proceedings of the 24th AAAI Conference on Artificial Intelligence. Atlanta, GA, USA. 2010. 593–598.
|
[9] |
Zhang ML, Zhou ZH. A review on multi-label learning algorithms. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(8): 1819-1837. DOI:10.1109/TKDE.2013.39 |
[10] |
Boutell MR, Luo JB, Shen XP, et al. Learning multi-label scene classification. Pattern Recognition, 2004, 37(9): 1757-1771. DOI:10.1016/j.patcog.2004.03.009 |
[11] |
Fürnkranz J, Hüllermeier E, Mencía EL, et al. Multilabel classification via calibrated label ranking. Machine Learning, 2008, 73(2): 133-153. DOI:10.1007/s10994-008-5064-8 |
[12] |
Read J, Pfahringer B, Holmes G, et al. Classifier chains for multi-label classification. Machine Learning, 2011, 85(3): 333. DOI:10.1007/s10994-011-5256-5 |
[13] |
Clare A, King RD. Knowledge discovery in multi-label phenotype data. Proceedings of the 5th European Conference on Principles of Data Mining and Knowledge Discovery. Freiburg, Germany. 2001. 42–53.
|
[14] |
Elisseeff A, Weston J. A kernel method for multi-labelled classification. Proceedings of the 14th International Conference on Neural Information Processing Systems. Vancouver, BC, Canada. 2002. 681–687.
|
[15] |
Zhang ML, Wu L. Lift: Multi-label learning with label-specific features. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(1): 107-120. DOI:10.1109/TPAMI.2014.2339815 |
[16] |
蒋芸, 肖潇, 侯金泉, 等. 融合标记独有属性特征的k近邻多标记分类新算法. 计算机工程与科学, 2019, 41(3): 513-519. DOI:10.3969/j.issn.1007-130X.2019.03.018 |
[17] |
Chen ZS, Zhang ML. Multi-label learning with regularization enriched label-specific features. Proceedings of Machine Learning Research, Volume 101: Asian Conference on Machine Learning. Nagoya, Japan. 2019. 411–424.
|
[18] |
Zhang ML, Li YK, Liu XY. Towards class-imbalance aware multi-label learning. Proceedings of the 24th International Conference on Artificial Intelligence. Buenos Aires, Argentina. 2015. 4041–4047.
|