浙江大学学报(工学版), 2019, 53(11): 2110-2117 doi: 10.3785/j.issn.1008-973X.2019.11.008

计算机技术与控制工程

基于深度双向分类器链的多标签新闻分类算法

胡天磊,, 王皓波, 尹文栋

Multi-label news classification algorithm based on deep bi-directional classifier chains

HU Tian-lei,, WANG Hao-bo, YIN Wen-dong

收稿日期: 2018-11-1  

Received: 2018-11-1  

作者简介 About authors

胡天磊(1982—),男,副教授,博士,从事数据库、信息安全、机器学习研究.orcid.org/0000-0003-0744-6454.E-mail:htl@zju.edu.cn , E-mail:htl@zju.edu.cn

摘要

在多标签新闻分类问题中,针对传统分类器链算法难以确定标签依赖顺序、集成模型运行效率低和无法应用复杂模型作为基分类器的问题,提出基于深度神经网络的双向分类器链算法. 该方法利用正向分类器链获取每个标签和前面所有标签的依赖关系,引入逆向分类器链,从正向链最后一个基分类器的输出开始反向学习每个标签和所有其他标签的相关性. 为了提取非线性标签相关性和提高预测性能,使用深度神经网络作为基分类器. 结合2条分类器链的均方误差,使用随机梯度下降算法对目标函数进行有效优化. 在多标签新闻分类数据集RCV1-v2上,将所提算法与当前主流的分类器链算法和其他多标签分类算法进行对比和分析. 实验结果表明,利用深度双向分类器链算法能够有效提升预测性能.

关键词: 多标签 ; 新闻分类 ; 深度学习 ; 神经网络 ; 分类器链

Abstract

A deep neural network based bi-directional classifier chains algorithm was proposed for multi-label news classification tasks to deal with problems faced by traditional classifier chains method, i.e. hard to determine the order of label dependencies, the inefficiency of integrated models and incapable of using complicated base classifiers. In the proposed method, a forward classifier chain is utilized to obtain the correlation between each label and all previous labels, and a backward classifier chain is involved, starting from the output of the last base classifier in the forward classifier chain, to learn the correlations between each label and all other labels. The deep neural network is employed as a base classifier in order to explore the non-linear label correlation and improve the predictive performance. Br integrating the mean square loss of the two classifier chains, the objective function is optimized by stochastic gradient descent algorithm. The experimental results of the proposed method for multi-label news classification dataset RCV1-v2 were compared with those of current classifier chains methods and other multi-label algorithms. Results show that the deep bi-directional classifier chains can significantly improve the predictive performance.

Keywords: multi-label ; news classification ; deep learning ; neural network ; classifier chains

PDF (1159KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

胡天磊, 王皓波, 尹文栋. 基于深度双向分类器链的多标签新闻分类算法. 浙江大学学报(工学版)[J], 2019, 53(11): 2110-2117 doi:10.3785/j.issn.1008-973X.2019.11.008

HU Tian-lei, WANG Hao-bo, YIN Wen-dong. Multi-label news classification algorithm based on deep bi-directional classifier chains. Journal of Zhejiang University(Engineering Science)[J], 2019, 53(11): 2110-2117 doi:10.3785/j.issn.1008-973X.2019.11.008

随着互联网时代的到来,大众传播媒介迅速发展,信息的巨量生产和高速传播成为常态. 在海量信息前,用户的注意力成为稀缺资源. 如何使受众能够有效寻找、感知、确认以及标签化社会事件和信息,对新闻进行准确分类成为人们日益关注的话题. 早期,人们使用一些传统的机器学习方法,如朴素贝叶斯[1]和支持向量机(support vector machine,SVM)[2-3]对新闻进行分类. 此外,也有一些研究[4-7]将神经网络模型引入新闻分类领域. 现有算法多使用单个标签对新闻进行分类,忽视了现实中一条新闻可以被标记上多个标签和主题. 比如关于阿里巴巴财务状况的新闻,既是科技新闻,也是财经新闻;美国军演事件可以同时被纳入军事和国际栏目;“无人驾驶”一直是汽车新闻和科技新闻里的热门话题.

为了解决上述问题,有2种方法:一类是利用特征工程,即利用文本相似性进行分类[8-10];另一类是直接应用分类技术,利用词袋模型(bag of words,BOW)[11]、词频-逆向文档频率模型(term frequency- inverse document frequency,TF-IDF)[12]等算法,在将文本数据数值化之后,直接进行有监督多标签分类. 本研究主要探索多标签分类算法在新闻分类领域的应用.

相比于单标签分类问题,多标签分类有两大难点:1)多个标签之间可能存在着互斥、共生的关系,即标签相关性或标签依赖性. 例如,假设一个男人购买了尿布,他也可能购买啤酒. 当分类算法中“尿布”标签的置信度较高时,“啤酒”标签的输出概率也应当增大. 在某些问题中,标签关系结构是已知的,例如数据中存在的有向无环图结构标签关系、树状结构标签关系[13]等. 但是,在大部分应用场景中,标签结构关系是未知的. 2)在单标签分类中,可能存在维数灾难的问题,即特征空间的维度过高,导致分类性能下降、无法应用于大数据集或过拟合问题等. 在多标签分类中,特征空间和标签空间都可能是高维的,会加剧上述问题.

现有的多标签分类方法主要有2个类别:算法适应(algorithm adaption,AA)和问题转换(problem transformation,PT). AA将现有单标签分类算法进行转换来解决多标签分类问题. 例如,Zhang等[14]提出的基于k近邻(k nearest neighbor,kNN)的多标签算法,Brinker等[15]提出的基于案例的多标签排名算法等. PT尝试将多标签分类任务转换成其他学习问题. 其中最简单的算法是二值相关(binary relevance,BR)算法[16],它将多标签问题转化为多个单独的单标签问题. 尽管该算法实现简单,计算速度较快,但它没有考虑标签相关性,因此性能较差. 为了解决这个问题,Hsu等[17]提出基于压缩感知(compressed sensing,CS)的多标签预测算法,将多标签分类算法转换成标签降维问题. 该算法使用随机投影,将原有的高维标签映射到低维标签空间. Yeh等[18]首次集成标签投影技术和深度神经网络,提出典型相关自动编码器(canonical correlated autoencoder,C2AE),进一步增强了投影算法的特征提取能力. Read等[19]提出分类器链(classifier chains,CC)算法,将标签作为输入进行特征增强,有效提取了标签相关性. 但是,由于CC算法要求标签之间具有马尔科夫链性质,对标签顺序较为敏感. 针对此问题,被广泛采用的解决方案是随机生成多个标签序列,然后用集成分类器链(ensemble classifier chains,ECC)算法训练多个分类器链进行预测. 此外,王少博等[20]提出使用分类器圈(classifier circle,CCE)算法构造一个圈结构,避免标签顺序的影响. 但是CCE需要多轮迭代,和ECC一样存在算法规模较大的问题.

在现有算法中,分类器链算法实现简单,实验效果较好,是最热门的多标签算法之一. CC算法存在三大问题:1)CC算法对标签顺序较为敏感;2)现有文献中基于分类器链的算法实现均以SVM等较为简单的算法作为基分类器,没有探究更为复杂有效的基分类器,如神经网络;3)如果简单地在ECC中替换基分类器为神经网络,其计算复杂度是不可接受的.

为了解决上述问题,本研究提出深度双向分类器链(deep bi-directional classifier chains,DBCC)模型,无须考虑标签顺序就能够提取每个标签和剩余标签的依赖关系,并且使用神经网络作为基分类器来提高预测准确率. 近年来随着深度学习的发展,神经网络在分类任务中的表现越来越优异[21-22],也有许多标签分类算法引入了神经网络结构,例如C2AE[18]. 由于在CC中基分类器执行单标签分类任务,神经网络基分类器分类性能更优. DBCC模型使用传统的分类器链作为正向链,提取第 $j$个标签和之前所有标签的依赖关系. 最后一个标签考虑了和其他所有剩余标签的关系,具有更准确的预测性. 因此DBCC使用一条逆向分类器链,逆向利用这一性质,得到每个标签和其他所有标签的依赖关系. DBCC无须考虑标签的依赖顺序,能够应用神经网络提高模型的预测性能.

1. 基础知识

1.1. 符号定义

在多标签新闻分类中,特征矩阵 ${{X}} = \left[ {{{x}}_1}, {{{x}}_2},\cdots,\right.$ $\left.{{{{x}}_N}} \right] \in {{\bf{R}}^{p \times N}}$,标签矩阵 ${{Y}} = \left[ {{{{y}}_1},{{{y}}_2},\cdots,{{{y}}_N}} \right] \in {\{ 0,1\} ^{q \times N}}$. 其中, $N$为训练数据的数量, $p$为新闻稿件的特征数量, $q$为标签的数量. 对于第 $i$个新闻稿件 ${{{x}}_i} = $ ${\left[ {x_i^1,x_i^2,\cdots,x_i^{p }} \right]^{\rm{T}}} \in {{\bf{R}}^{p\times 1}}$,对应着标签向量 ${{{y}}_i} = \left[ {y_i^1}, \right.$ $\left. {y_i^2\cdots,y_i^q} \right]^{\rm T} \in {{\bf{R}}^{q \times 1}}$.

1.2. 分类器链

Read等[19]假设标签之间存在马尔科夫关系,并提出使用分类器链算法进行多标签分类. 分类器链模型由 $q$个二元基分类器组成. 这些基分类器互相连接,链上的每一个基分类器被用于预测一个标签. 在训练阶段,第 $j$个基分类器的输入由新闻稿件 ${{x}}$${{x}}$的前 $j - 1$个真实标签构成,其预测函数 ${f_j}$的表达式为

$\left. \begin{array}{c} {{\hat y}^j} = {f_j}\left( {{{{z}}_j}} \right),\\ {{{z}}_j} = [{x^1},{x^2},\cdots,{x^p},{y^1},{y^2},\cdots,{y^{j - 1}}]. \end{array} \right\}$

式中: ${{{z}}_j}$为第 $j$个基分类器的输入, ${\hat y^j}$为第 $j$个基分类器预测的标签. 通过上述方法,可以逐步构建分类器链 ${C_1},{C_2},\cdots,{C_q}$. 链上的每个基分类器 ${C_j}$只须通过实例 ${{x}}$和前 $j - 1$个标签 $\left({y^1},{y^2},\cdots,{y^{j - 1}}\right)$训练并预测标签 ${y^j}$.

训练阶段的模型设计会带来一些误解,似乎将实例 ${{x}}$和其他所有标签输入每个基分类器就能够得到最佳的标签相关性. 然而,在测试阶段,算法无法直接获取所有真实标签. 例如,在第1个分类器中,对一个测试数据,算法无法获得后续所有标签. 但是在后续的分类器中,算法可以直接使用之前分类器的预测结果来对输入标签进行较好的估计. 在测试环节,CC算法从第1个标签开始,沿着分类器链依次传播: ${C_1}$先预测 ${\hat y^1}$${C_2},{C_3},\cdots,{C_p}$依次预测 ${\hat y^2},{\hat y^3},\cdots,{\hat y^q}$,第 $j$个分类器所预测的标签表达式为

$\left. \begin{array}{c} {{\hat {y}}^j} = {f_j}\left( {{{\hat {{z}}}_j}} \right), \\ {{\hat {{z}}}_j} = [{x^1},{x^2},\cdots,{x^p},{{\hat y}^1},{{\hat y}^2},\cdots,{{\hat y}^{j - 1}}]. \end{array} \right\}$

在分类器链中,一般选取最简单的感知机或者SVM作为基分类器. 这类简单的分类器链具有两大问题. 1)当输入和输出之间不是简单的线性关系时,即每个基分类器的输入数据线性不可分时,其预测性能急剧下降. 另外,线性基分类器只能提取新闻标签的线性相关性,无法提取更复杂的依赖关系. 对于真实世界数据集,数据的分布是不可知的,因此应当考虑更复杂的分类模型. 2)标签的顺序难以确定,单一的标签顺序只能够得到某个标签和序列中在该标签之前所有标签的依赖关系,而真实的标签关系是杂乱无章的,任何一对标签都可能相互依赖或排斥. 为了解决这个问题,最常见的解决方案是采用集成分类器链算法,随机生成多种标签序列,由此训练多个弱分类器来增强最终的预测性能. 因此,本研究重点研究深度神经网络模型(现今最有效也最复杂的模型之一)在分类器链算法中的可行性.

1.3. 深度神经网络

深度神经网络模仿生物神经网络结构,以网络拓扑结构为基础,模拟人脑处理信息的机制. 该模型可以进行自主学习以训练数据的特征和分布,并且可以智能化地预测结果. 其在本质上是由大量线性函数和非线性函数构成的. 深度神经网络独特的信息处理模式和储存方法已经引起全球相关学者的关注.

深度神经网络由大量的神经元互相连接而成. 每个神经元可以表达某种输入特征. 每2个神经元之间的连接表达他们之间连接信号的权重,即这2个特征之间的关联程度. 通过这种机制,深度神经网络模拟人脑通过电波传递信息的方式. 深度神经网络模型的构建是受到生物神经系统的启发,但其在本质上是基于统计学的数学模型.

深度神经网络的历史可以追溯到20世纪40年代. Mcculloch等[23]提出M-P神经网络模型. Rosenblatt[24]在Mcculloch等[23]工作的基础上,提出感知器(perceptron)模型. 感知器模型与现在的深度神经网络模型较相似. 发展到如今,深度神经网络众所周知,人们发明了上百种不同神经网络结构,将其应用在各种各样的领域,比如Lecun等[25]提出卷积神经网络(convolutional neural network,CNN)并将其应用在计算机视觉领域,Mikolov等[26]提出循环神经网络(recurrent neural network,RNN),在自然语言处理、机器翻译和问答系统等领域有极为成功的应用.

深度神经网络由大量的神经元组成,可以分为输入层、隐藏层和输出层,其结构如图1所示. 对于输入 ${{z}}$,神经网络模型的表达式如下:

图 1

图 1   深度神经网络结构

Fig.1   Structure of deep neural network


$\left.\begin{array}{c} {{{h}}^1} = {\sigma ^1}\left( {{{{W}}^1}{{z}} + {{{b}}^1}} \right) ,\\ {{{h}}^2} = {\sigma ^2}\left( {{{{W}}^2}{{{h}}^1} + {{{b}}^2}} \right), \\ \vdots \\ {{{h}}^t} = {\sigma ^t}\left( {{{{W}}^t}{{{h}}^{t - 1}} + {{{b}}^t}} \right) ,\\ \hat {{y}} = {{{W}}^{{\rm{out}}}}{{{h}}^t} + {{{b}}^{{\rm{out}}}}. \\ \end{array} \right\}$

式中: $t$为隐藏层的数量, ${{{h}}^i}$${{{W}}^i}$${{{b}}^i}$${\sigma ^i}$分别为深度神经网络中第 $i$个隐藏层的输出向量、权重矩阵、偏差向量和激活函数, ${{{W}}^{{\rm{out}}}}$${{{b}}^{{\rm{out}}}}$分别为输出层的权重矩阵和偏差向量. 输出层是没有激活函数的;隐藏层的激活函数可以有许多选择,如Sigmoid函数、Tanh函数和ReLU函数.

随着大数据和芯片技术的飞速发展,深度神经网络在单标签分类任务中已经展现出优越的性能[21-22]. 将一些多标签算法[18]引入神经网络结构,极大地提升了其特征提取能力. 但是,现有的分类器链算法的基分类器大多为简单的支持向量机或朴素贝叶斯等分类器,分类效果较差,无法处理大规模数据集. 因此,本研究重点探究如何采用深度神经网络作为基分类器,提升分类器链算法性能.

由于神经网络的训练需要大量的训练数据,并且参数规模较大,训练速度较慢,无法将其应用在集成分类器链中. 同时,如果仅训练一个分类器链,那么将会出现标签相关性提取不充分的问题,即对于第 $j$个基分类器,单个分类器链只能提取当前标签和前 $j - 1$个标签的相关性. 因此,如何在保证较快训练速度的同时,应用神经网络有效提升分类器链算法的性能已经成为亟待解决的问题.

2. 深度双向分类器链

为了解决上述问题,本研究提出基于神经网络的双向分类器链. 对于任意标签序列 $({y^j})_{j = 1}^q$,DBCC通过一条正向链获取每个标签和前面所有标签的依赖关系;之后引入逆向链,从最后一个基分类器的输出开始反向利用每个标签和所有其他标签的依赖关系. 在这样的设置下,DBCC无须预先得到合理的标签顺序以及使用集成算法训练多个弱分类器. 此时,模型只需要一个双向分类器链就可以有效地提取标签依赖性,因此可以使用神经网络作为基分类器进一步提高预测性能. 如图2所示为DBCC模型在测试阶段的结构.

图 2

图 2   DBCC测试阶段结构图

Fig.2   Structure of DBCC in testing phase


2.1. 正向链

正向链模型与原始分类器链相同,采用二分类神经网络模型作为原始分类器链的基分类器. 在训练阶段,每个分类器的输入为特征向量 $ x$和之前所有的真实标签 ${y^1},{y^2},\cdots,{y^q}$,输出为一个预测标签 ${\tilde y_j}$;在测试阶段,算法将输入标签替换为前面所有分类器预测的标签 ${\tilde y^1},{\tilde y^2},\cdots,{\tilde y^q}$. 定义正向链第 $j$个基分类器 ${C_j}$的神经网络函数为 ${\tilde f_j}$,预测结果表达式如下:

$\!\!\!\!\!\left. \begin{array}{l} \qquad\qquad\qquad\qquad{{\tilde y}^j} = {{\tilde f}_j}\left( {{{{u}}_j}} \right),\\ {{{u}}_j} = \left\{ \begin{array}{c} \left[ {{x^1},{x^2},\cdots,{x^p},{y^1},{y^2},\cdots,{y^{j - 1}}} \right],{\text{训练阶段}};\\ \left[ {{x^1},{x^2},\cdots,{x^p},{{\tilde y}^1},{{\tilde y}^2},\cdots,{{\tilde y}^{j - 1}}} \right],{\text{测试阶段}}. \end{array} \right. \end{array} \right\}\!\!\!\!\!$

通过上述过程,正向链已经能够在一定程度上提取标签相关性,但对前 $q - 1$个标签,其标签提取是不充分的. 例如,对第 $j$$j < q$)个标签的预测没有考虑后续第 $j + 1$至最后一个标签的相关性. 因此,正向链得到的标签是一个训练不充分的标签. 接下来,算法引入一条逆向链,进一步提取更复杂的标签相关性.

2.2. 逆向链

在正向链中,最后一个分类器的输入是特征向量和前 $q - 1$个标签,因此该分类器的预测充分考虑了该标签和其他所有标签的依赖关系,即最后一个标签的预测 ${\tilde y^q}$是最佳预测. 另一方面,正向链对第 $q - 1$个标签的预测只考虑了该标签与前 $q - 2$个标签的相关性,而忽视了与第 $q$个标签的关系. 引入另一个神经网络分类器 ${\hat f^{q - 1}}$,结合 ${\tilde y^q}$${\tilde y^{q - 1}}$,得到对第 $q - 1$个标签的最佳预测 ${\hat y^{q - 1}} = {\hat f^{q - 1}}$ $ \left( {\left[ {{{\tilde y}^q},{{\tilde y}^{q - 1}}} \right]} \right)$. ${\tilde y^{q - 1}}$中包含特征向量和前 $q - 1$个标签的信息,缺少最后一个标签的信息,而 ${\hat y^q}$能够为这个不充分预测提供有效的补充,因此最终的预测值完全考虑了第 $q - 1$个标签与其他所有标签的依赖性,可以作为第 $q - 1$个标签的最佳预测.

以此类推该过程至正向链的所有输出,形成一条逆向链,最终每个输出的标签都考虑了与其他所有标签的相关性. 定义 ${\hat y^q} = {\tilde y^q}$,可以得到逆向链的迭代公式表达式如下:

$\left. \begin{array}{l} \qquad\qquad\qquad{{\hat y}^j} = {{\hat f}_j}\left( {{{{v}}_j}} \right),\\ {{{v}}_j} = \left\{ \begin{array}{l} \left[ {{{\tilde y}^j},{y^{j + 1}},{y^{j + 2}},\cdots,{y^q}} \right],{\text{训练阶段}};\\ \left[ {{{\tilde y}^j},{{\hat y}^{j + 1}},{{\hat y}^{j + 2}},\cdots,{{\hat y}^q}} \right],{\text{测试阶段}}. \end{array} \right. \end{array} \right\}$

结合正向链,DBCC模型包含 $2q - 1$个深度神经网络,假设 $S$为神经网络的复杂度,则模型训练和测试的时间复杂度为 $O\left( {\left( {2q - 1} \right)S} \right)$. 在训练过程中,同一条链上的分类器可以并行训练,所以实际训练的时间复杂度仅为 $O\left( {2S} \right)$. 这只是简单估计,由于逆向链没有引入特征向量 $ x$,因此复杂度更低. 同时,DBCC模型的空间复杂度仅为简单替换基分类器为神经网络的原始分类器链的常数倍,这样的空间开销是可以接受的.

通过上述过程,DBCC充分利用了每个标签和其他所有标签的相关性,使得标签依赖顺序不再须预先确定. 在保证时间和空间复杂度的情况下,DBCC引入神经网络作为基分类器,提取线性依赖以外更强的标签依赖,提高模型的预测性能.

2.3. 模型训练

为了训练DBCC中的神经网络模型,DBCC使用均方误差函数(mean square error,MSE). 该损失函数常用于回归中,表达式为

$\begin{array}{*{20}{l}} {l\left( {{{{y}}^j},{{{{\hat y}}}^j}} \right) = {{({{{{\hat y}}}^j} - {{{y}}^j})}^2}} \end{array}.$

式中: $j = 1,2,3,\cdots,q$.

正向链的错误预测将会直接影响逆向链提取相关性的能力. 因此,DBCC结合2条链的输出信息,得到最终需最小化的目标函数:

$\begin{split} {\cal L} = & \frac{\tau }{2}\sum\limits_{\theta \in \varTheta } {{{\left\| \theta \right\|}^2}} + \\ & \frac{1}{{\left( {1 + \lambda } \right)qN}}\mathop \sum \limits_{i = 1}^N {\rm{}}\mathop \sum \limits_{j = 1}^q \left( {l\left( {y_i^j,\tilde y_i^j} \right) + \lambda l\left( {y_i^j,\hat y_i^j} \right)} \right). \end{split}$

式中: $\lambda $为用来权衡2个预测值损失的变量, $y_i^j$$\tilde y_i^j$$\hat y_i^j$分别为第 $i$个样本的第 $j$个真实标签、正向链预测标签、逆向链预测标签, $\varTheta $为模型所有参数的集合, $\tau $为正则系数.

DBCC采用随机梯度下降算法(stochastic gradient descent,SGD)来训练模型. SGD是通用的训练神经网络的方法,使用后向传播算法迭代更新参数,直到整个模型收敛为止. 在每次迭代中,SGD随机选择一个训练样本 ${{x}}$,朝着梯度相反的方向更新每一个参数.

3. 实验与结果

3.1. 实验设置

3.1.1. 数据集

使用RCV1-v2数据集来验证所提出算法的有效性. RCV1-v2数据集是Lewis等[27]从新闻网站路透社(Reuters)上收集的新闻稿件集合. 该社每天生产用23种语言写成的11 000 篇新闻稿件,但是这些稿件太过杂乱,也有不少错误. Lewis等[27]收集了部分新闻稿件,并加以整理和修改,最后发布了RCV1-v2数据集. 该数据集包含30 000条新闻稿件,每个新闻稿件具有47 236个特征,对应着101个标签. 为了提高算法运行速度,本研究使用主成分分析算法将特征进行降维,提取前500个特征向量. 同时,在实验时随机选择80%的数据用来训练,剩余20%的数据用作测试. 每个实验均运行5次,并报告平均值和标准差.

3.1.2. 对比试验

用于对比的方法为2个先进的分类器链算法和2个其他多标签算法. 1)CC算法[19]. 选择2个不同的分类器链算法:使用SVM作为基分类器的原始分类器链(Vanilla CC)算法和使用深度神经网络作为基分类器(deep classifier chains,DCC)的分类器链算法. 2)CCE算法[20]. CCE使用圈结构来避免分类器链,使用多轮迭代求得较为精确的标签值. 3)C2AE算法[18]. 作为首个基于深度神经网络的多标签投影算法,C2AE结合深度典型相关分析算法(deep canonical correlation analysis, DCCA)和自动编码器来提取标签依赖.4)BR算法[16]. BR算法将多标签问题转化为多个独立的单标签问题进行求解. BR的基分类器同样被设置为深度神经网络.

3.1.3. 参数设置

使用TensorFlow[28]实现DBCC算法. 设置随机梯度下降算法的学习率默认值 $\eta = 0.001$,损失函数的权重参数 $\lambda = 1$,正则系数 $\tau {\rm{ = 0}}{\rm{.01}}$. 每个基分类器均为3 层神经网络,维度为 $\left[ {64,8,1} \right]$. 神经网络的参数由一个标准高斯分布初始化. 在对比实验方面,VanillaCC和CCE算法的基分类器为使用RBF核函数的SVM分类器. 设置CCE算法的迭代次数为5次,BR、DCC算法的学习率 $\eta $=0.001,BR算法的基分类器为维度为 $\left[ {64,8,1} \right]$的3层神经网络,C2AE算法的参数为文献[18]中的默认参数. 此外,本研究还探究了算法对参数的敏感性,学习率 $\eta $的取值范围为 $\left\{ {10^{ - 4}},3 \times{10^{ - 4}}, {10^{ - 3}},\; \right.$ $3\times{10^{ - 3}} ,{10^{ - 2}}{\rm{\} }}$.

3.1.4. 评价指标

使用如下4种不同的评价指标来衡量方法的性能.

1)Micro-F1. 计算总的精准率和召回率,之后计算F1分数. F1分数的表达式为

$\begin{array}{*{20}{l}} {{\rm{F}}1 = 2 {{{{P}} {{R}}}}/({{{{P}} + {{R}}}})} \end{array}.$

式中:PR分别为精准率和召回率.

2)Macro-F1. 在标签维度上计算F1分数并取平均.

3)Example-F1. 在每个测试样本的标签上计算F1分数并取平均.

4)Precision@ $K$. 该指标为精确率度量. 给定预测标签向量 $\hat {{y}} \in {{\bf{R}}^q}$和真实值向量 ${{y}} \in {\{ 0,1\} ^q}$,则Precision@ $K$的表达式为

$\begin{array}{*{20}{l}} {{\rm{Precision}}@K = \dfrac{1}{K}\mathop {\displaystyle\sum} \limits_{j \in {\rm{ran}}{{\rm{k}}_K}\left( {{{\hat y}}} \right)} {y_j}} \end{array}.$

式中: ${\rm{rank}}{_K}\left( {\hat {{y}}} \right)$为分数最高的 $K$${y_j}$对应的下标集合. 在实验中,选择 $K = 1,2,3,4,5$.

3.2. 实验结果

表1所示为不同方法在Micro-F1、Macro-F1和Example-F1度量上的实验结果. 如图3所示为不同方法的Precision@ $K$结果. 如图4所示为不同的度量结果随学习率的变化. 可以看出:1)由于BR算法缺少对标签相关性的提取,最终效果不理想. 2)DCC算法的效果显著优于Vanilla CC算法,说明神经网络作为基分类器能够有效提升预测性能. 3)DBCC算法的效果显著优于其他所有算法. 这证明了所提出的DBCC算法具有较好的性能. 其中,优于Vanilla CC算法和CCE算法说明神经网络的特征提取能力较强,能够显著提升预测性能;优于DCC算法说明所提算法不易受到标签顺序的影响. 4)随着学习率的变化,模型的3个指标的变化幅度不大,说明该模型较稳定,对参数不敏感. 综上可知,DBCC算法性能高且稳定.

表 1   3个F1度量的实验结果

Tab.1  Experimental results of three F1-measures

方法 Micro-F1 Macro-F1 Example-F1
DBCC 0.491±0.010 0.270±0.009 0.487±0.003
Vanilla CC 0.456±0.008 0.216±0.013 0.461±0.009
DCC 0.459±0.015 0.267±0.010 0.471±0.008
CCE 0.454±0.002 0.249±0.005 0.437±0.003
C2AE 0.423±0.021 0.272±0.018 0.403±0.022
BR 0.419±0.011 0.219±0.019 0.397±0.016

新窗口打开| 下载CSV


图 3

图 3   不同方法的Precision@$ K$度量实验结果

Fig.3   Experimental results of Precision@ $K$ for different methods


图 4

图 4   学习率敏感性实验结果

Fig.4   Experimental results of learning rate sensitivity


4. 结 语

本研究提出基于深度神经网络的双向分类器链算法DBCC. 算法在传统分类器链算法的基础上,引入一条逆向分类器链依次提取当前标签和其他所有标签的依赖关系. DBCC算法使用神经网络模型作为基分类器,使得算法能够提取非线性标签依赖关系,进一步提升了预测性能. 在多标签新闻数据集RCV1-v2上的实验结果表明,DBCC算法不仅在预测性能上显著优于其他先进的分类器链算法和多标签算法,还具有较好的鲁棒性.

Nam等[29]提出基于LSTM的分类器链变种算法. 注意到DBCC算法在结构上与双向循环神经网络模型较相似,因此后续工作将致力于结合双向分类器链算法与RNN、LSTM等神经网络模型.

参考文献

MCCALLUM A, NIGAM K. A comparison of event models for naive Bayes text classification [C]// AAAI-98 Workshop on Learning for Text Categorization. Madison: AAAI, 1998, 752(1): 41-48.

[本文引用: 1]

DILRUKSHI I, DE Z K, CALDERA A. Twitter news classification using SVM [C]// International Conference on Computer Science and Education. Colombo: IEEE, 2013: 287-291.

[本文引用: 1]

KUMAR R B, KUMAR B S, PRASAD C S S

Financial news classification using SVM

[J]. International Journal of Scientific and Research Publications, 2012, 2 (3): 1- 6

[本文引用: 1]

SELAMAT A, OMATU S

Web page feature selection and classification using neural networks

[J]. Information Sciences, 2004, 158: 69- 88

DOI:10.1016/j.ins.2003.03.003      [本文引用: 1]

KIM Y. Convolutional neural networks for sentence classification [C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Doha: ACL, 2014: 1746-1751.

KARPATHY A, TODERICI G, SHETTY S, et al. Large-scale video classification with convolutional neural networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 1725-1732.

WERMTER S

Neural network agents for learning semantic text classification

[J]. Information Retrieval, 2000, 3 (2): 87- 103

DOI:10.1023/A:1009942513170      [本文引用: 1]

BLEI D M, NG A Y, JORDAN M I

Latent Dirichlet allocation

[J]. Journal of Machine Learning Research, 2003, 3: 993- 1022

[本文引用: 1]

涂鼎, 陈岭, 陈根才, 等

基于在线层次化非负矩阵分解的文本流主题检测

[J]. 浙江大学学报: 工学版, 2016, 50 (8): 1618- 1626

TU Ding, CHEN Ling, CHEN Gen-cai, et al

Hierarchical online NMF for detecting and tracking topic

[J]. Journal of Zhejiang University: Engineering Science, 2016, 50 (8): 1618- 1626

林萌, 罗森林, 贾丛飞, 等

融合句义结构模型的微博话题摘要算法

[J]. 浙江大学学报: 工学版, 2015, 49 (12): 2316- 2325

[本文引用: 1]

LIN Meng, LUO Sen-lin, JIA Cong-fei, et al

Microblog topics summarization algorithm merging sentential structure model

[J]. Journal of Zhejiang University: Engineering Science, 2015, 49 (12): 2316- 2325

[本文引用: 1]

HARRIS Z S

Distributional structure

[J]. Word, 1954, 10 (2/3): 146- 162

[本文引用: 1]

SALTON G, YU C T. On the construction of effective vocabularies for information retrieval [C]// ACM SIGIR Forum. Gaithersburg: ACM, 1973: 48-60.

[本文引用: 1]

BI W, KWOK J T. Multi-label classification on tree-and dag-structured hierarchies [C]// Proceedings of the 28th International Conference on Machine Learning. Bellevue: IMLS, 2011: 17-24.

[本文引用: 1]

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      [本文引用: 1]

BRINKER K, HÜLLERMEIER E. Case-based multilabel ranking [C]// IJCAI. Hyderabad: IJCAI, 2007: 702-707.

[本文引用: 1]

TSOUMAKAS G, KATAKIS I, VLAHAVAS I. Mining multi-label data [M]// Data Mining and Knowledge Discovery Handbook. Boston: Springer, 2009: 667-685.

[本文引用: 2]

HSU D J, KAKADE S M, LANGFORD J, et al. Multi-label prediction via compressed sensing [C]// Advances in Neural Information Processing Systems. Vancouver: NIPS, 2009: 772-780.

[本文引用: 1]

YEH C K, WU W C, KO W J, et al. Learning deep latent space for multi-label classification [C]// AAAI. San Francisco: AAAI, 2017: 2838-2844.

[本文引用: 5]

READ J, PFAHRINGER B, HOLMES G, et al

Classifier chains for multi-label classification

[J]. Machine Learning, 2011, 85 (3): 333

DOI:10.1007/s10994-011-5256-5      [本文引用: 3]

王少博, 李宇峰

用于多标记学习的分类器圈方法

[J]. 软件学报, 2015, 26 (11): 2811- 2819

[本文引用: 2]

WANG Shao-bo, LI Yu-feng

Classifier circle method for multi-label learning

[J]. Journal of Software, 2015, 26 (11): 2811- 2819

[本文引用: 2]

KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks [C]// Advances in Neural Information Processing Systems. Lake Tahoe: NIPS, 2012: 1097-1105.

[本文引用: 2]

HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770-778.

[本文引用: 2]

MCCULLOCH W S, PITTS W

A logical calculus of the ideas immanent in nervous activity

[J]. The Bulletin of Mathematical Biophysics, 1943, 5 (4): 115- 133

DOI:10.1007/BF02478259      [本文引用: 2]

ROSENBLATT F

The perceptron: a probabilistic model for information storage and organization in the brain

[J]. Psychological Review, 1958, 65 (6): 386

DOI:10.1037/h0042519      [本文引用: 1]

LECUN Y, BOTTOU L, BENGIO Y, et al

Gradient-based learning applied to document recognition

[J]. Proceedings of the IEEE, 1998, 86 (11): 2278- 2324

DOI:10.1109/5.726791      [本文引用: 1]

MIKOLOV T, KARAFIÁT M, BURGET L, et al. Recurrent neural network based language model [C]// 11th Annual Conference of the International Speech Communication Association. Florence: ISCA, 2011: 2877-2880.

[本文引用: 1]

LEWIS D D, YANG Y, ROSE T G, et al

Rcv1: a new benchmark collection for text categorization research

[J]. Journal of Machine Learning Research, 2004, 5: 361- 397

[本文引用: 2]

ABADI M, BARHAM P, CHEN J, et al. Tensorflow: a system for large-scale machine learning [C]// OSDI. Savannah: USENIX, 2016, 16: 265-283.

[本文引用: 1]

NAM J, MENCIA E L, KIM H J, et al. Maximizing subset accuracy with recurrent neural networks in multi-label classification [C]// Advances in Neural Information Processing Systems. Long Beach: NIPS, 2017: 5413-5423.

[本文引用: 1]

/