文章快速检索     高级检索
  山东大学学报(工学版)  2017, Vol. 47 Issue (4): 1-6  DOI: 10.6040/j.issn.1672-3961.0.2016.339
0

引用本文 

刘洋, 刘博, 王峰. 基于Parameter Server框架的大数据挖掘优化算法[J]. 山东大学学报(工学版), 2017, 47(4): 1-6. DOI: 10.6040/j.issn.1672-3961.0.2016.339.
LIU Yang, LIU Bo, WANG Feng. Optimization algorithm for big data mining based on parameter server framework[J]. Journal of Shandong University (Engineering Science), 2017, 47(4): 1-6. DOI: 10.6040/j.issn.1672-3961.0.2016.339.

基金项目

河南省重点科技攻关资助项目(162102210096, 152102210088, 142102210090);河南省高等学校重点科研资助项目(18A520014)

作者简介

刘洋(1980—), 男, 河南方城人, 讲师, 博士, 主要研究方向为计算机系统结构, 机器学习, 大数据等.E-mail: liuyang@huel.edu.cn

文章历史

收稿日期:2016-09-03
网络出版时间:2017-06-12 10:50:02
基于Parameter Server框架的大数据挖掘优化算法
刘洋1, 刘博2, 王峰1     
1. 河南财经政法大学云计算与大数据研究所, 河南 郑州 450046;
2. 华中科技大学计算机学院, 湖北 武汉 430074
摘要:基于大数据挖掘的实时性要求和数据样本的多样性特征, 提出一种面向大数据挖掘的机器学习模型训练优化算法。分析当前算法的迭代计算过程, 根据模型向量的改变量将迭代过程分为粗调和微调两个阶段, 并发现在微调阶段绝大部分样本对计算结果的影响极小, 因此可以在微调阶段不计算此类样本的梯度而直接采用上次迭代的计算结果, 从而减小计算量, 提升计算效率。试验结果表明, 算法在分布式集群环境下可以减小模型训练约35%的计算量, 且训练得到的模型准确度在正常范围内, 可有效提高大数据挖掘的实时性。
关键词大数据    分布式系统    机器学习    样本差异性    优化算法    
Optimization algorithm for big data mining based on parameter server framework
LIU Yang1, LIU Bo2, WANG Feng1     
1. Institute of Cloud Computing and Big Data, Henan University of Economics and Law, Zhengzhou 450046, Henan, China;
2. School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, Hubei, China
Abstract: Traditional machine learning algorithms for small data were not applicable for mining of big data. An optimization algorithm for machine learning and big data mining was proposed. The iterative computation of machine learning algorithms was divided into two phases according to the change of model vector. According to the observation that most samples contributed little to the model update during the iteration, the computation load of machine learning algorithms could be reduced by reusing the iterative computing results of this kind of samples. The experimental results showed that the proposed method could reduce the computation load by 35%, with little effect on prediction accuracy of the training model.
Key words: big data    distributed system    machine learning    sample diversity    optimization    
0 引言

从大数据中挖掘实时数据信息辅助决策, 对各行各业都有重要意义[1-2]。本质上是基于机器学习算法和模型, 如逻辑回归、支持向量机等, 可通过梯度下降等迭代算法求解[3-6]。与传统的数据挖掘应用不同的是, 大数据的挖掘要求计算结果的正确性在一定期望区间内, 且对数据处理的快速性和结果的实时性有较高的要求[7-9], 因此需要利用集群并行执行迭代算法, 提高计算效率[10-14]

当前的机器学习并行优化算法主要分为两类, 第一类是将现有的单机梯度下降优化算法并行化, 并在通用分布式平台上运行, 例如CHU Cheng tao等人[15]提出基于多核并行环境和MapReduce框架的优化算法。第二类是在Piccolo[16], Adam[17], Petuum[18]和Parameter Server[19]等基于参数服务器框架的分布式机器学习系统上设计并行优化算法, 采用灵活的一致性模型[20-23], 提高算法执行效率。例如LI Mu等人[20]提出基于有界延迟的近似梯度下降法。这些算法往往存在同步等待开销大、收敛速度慢、迭代次数多、总计算量大等问题。在大数据挖掘的背景下, 需要针对实时性和模型精度的要求, 改进当前的优化算法。

本研究提出一种基于样本差异性的并行优化算法, 利用样本对模型更新的贡献的差异性实现迭代计算中间结果的重复使用, 从而减小迭代过程的计算量, 提高大数据挖掘的计算效率和结果的实时性。为便于描述, 以参数服务器系统[19](parameter server, PS)为例, 对迭代计算过程进行特征分析, 实现基于样本差异性的迭代算法, 并与目前最新的并行优化算法[20]进行比较。

1 基于样本差异性的迭代优化算法 1.1 PS系统的迭代计算过程

PS系统的计算过程由多次迭代计算组成, 每次迭代均更新一次模型参数向量。假设第i次迭代更新得到模型参数向量为vi, 第i+1次迭代得到模型参数向量为vi+1, 则将向量vivi+1之间的夹角视为模型参数向量在第i+1次迭代对模型参数向量的改变量。整个迭代过程中, 模型参数向量的变化见图 1, 横坐标表示迭代次数n, 纵坐标表示模型向量的改变量d

图 1 模型参数向量在迭代过程中的变化量 Figure 1 The change of model vector during iterations

图 1可知, 在迭代初期, 每次迭代对模型参数向量的改变较大, 而在迭代后期, 不同迭代之间的模型参数向量的差距较小。因此可设置阈值参数α, 当迭代对模型参数向量的改变量大于α时, 认为迭代处于粗调阶段, 每次迭代计算对模型参数的改变较大。当模型参数的改变量小于α时, 迭代处于微调阶段, 此时迭代接近最优值, 每次迭代对模型参数的改变量较小。

由于微调阶段, 每次迭代计算对模型参数向量的更新较小, 因此主要考虑调整微调阶段的计算过程, 减小计算量, 提高系统计算效率和实时性。

1.2 迭代计算过程中的样本差异性

在分布式机器学习系统的迭代计算过程中, 每次迭代时, 计算结点通过接口访问服务器结点上保存的模型参数集, 并根据每个本地训练样本xi计算出对应的梯度向量gi, 将本地所有梯度向量相加并发送给服务器结点。服务器结点汇总所有计算结点的梯度向量得到总梯度g, 见图 2, 并利用该梯度更新模型参数向量, 用于下一次迭代计算。当模型参数集收敛时, 上述迭代过程停止。

图 2 样本梯度向量合成 Figure 2 The composition of gradient vector of samples

在计算过程中, 每次迭代时, 都要基于每个训练样本xi计算对应的梯度向量gi, 所有gi合成得到总梯度g, 但是在梯度向量合成时, 不同样本对应的梯度向量对总梯度的贡献不同。

根据向量合成原理, 多个向量合成时, 向量长度越长, 则其与最终合成的向量内积越大(与合成向量越接近), 对合成向量的贡献也越大。以样本对应的梯度向量gi的长度‖gi‖表示其对总梯度g的贡献, ‖gi‖越大, 则对总梯度g的贡献也越大, 即样本对模型参数改变的贡献越大。表 1为每次迭代时, 对总梯度而言, 不同的样本贡献区间内的样本数量占总样本数的比例, 即每个梯度长度区间内的样本比例。

表 1 各次迭代中样本对模型更新的贡献量分布 Table 1 The distribution of sample contribution to model update in all iteartions%

表 1可知, 随着迭代的进行, 绝大部分样本(90%左右)对总梯度的贡献极小, 只有极少数样本对总梯度的影响较大。同时还发现, 各次迭代中, 对模型参数更新贡献较小的样本集合(例如梯度长度为0~0.1的样本集合)的交集达到99%以上, 这意味着当样本在某次迭代中对总梯度的贡献较小时, 其在后续迭代中对总梯度的贡献一直都较小。因此, 在整个迭代计算过程中, 绝大部分样本对模型更新和收敛的贡献都很小, 而只有极少数样本对模型更新和收敛的影响较大。

可通过阈值β来区分不同的样本, 当样本对应的梯度向量的长度小于或等于β时(对于表 2中的≤β), 认为该样本对模型更新的贡献较小。反之(对于表 2中的>β), 则认为对模型更新的贡献较大。当β=0.08时, 在各次迭代中, 上述两类样本集(对模型更新贡献大和贡献小的样本集)包含的样本数量占总样本数的比例, 以及该样本集中所有样本对模型更新的贡献(梯度向量的长度)见表 2所示。

表 2 微调阶段两类样本数量分布及对模型更新的贡献 Table 2 The distribution and contribution of the two types of samples during the fine tuing phase

表 2可以看出, 当β=0.08时, 80%以上的样本对模型更新的贡献很小, 且这部分样本集合对模型更新的贡献与剩余少数样本对模型更新的贡献相差不大。

由上述分析可知, 在迭代过程中, 绝大部分样本对模型更新和迭代收敛的贡献极小, 而只有少数样本对模型更新的影响较大。然而在每次迭代中, 当前迭代算法都是平等对待每个样本, 即每个样本在每次迭代中都要被计算一次, 所有样本在迭代计算过程中消耗相同的计算资源, 因此在整个计算过程中, 计算资源的分配不够合理, 绝大部分对结果影响较小的样本占据大量的计算资源, 而少数对结果影响较大的样本占用少量的计算资源。

1.3 基于样本差异性的迭代优化算法

基于当前分布式机器学习系统中样本差异性导致的计算资源分配不均衡性, 本节提出基于样本差异性的迭代算法, 见算法1。该算法在迭代计算过程中根据样本对模型更新的贡献大小分配计算资源, 以提高计算资源利用率, 提升系统性能。

算法1 基于样本差异性的机器学习优化算法

输入: αβ、flag←false,

输出:模型参数向量w

方法: //计算结点rt次迭代计算过程

(1) if flag==false //如果当前迭代处于粗调阶段;

(2) 基于当前模型向量计算每个样本的梯度;

(3) else  //如果当前迭代处于微调阶段;

(4) for each sample i

(5)  if ‖gi(t-1) ‖≤β //如果样本i上论迭代对模型更新贡献较小;

(6)   gi(t)gi(t-1);  //重复使用上次迭代得到的梯度向量;

(7)  else //如果样本i在上次迭代对模型更新贡献较大;

(8) gi(t)=▽f(w(t), xi, yi);  //计算样本i的梯度;

(9) end if;

(10) end for;

(11) end if;

(12) 计算所有样本的总梯度g;

(13) 向服务器结点发送总梯度g; //服务器收到g后更新模型参数;

(14) 从服务器结点处获取最新的模型参数向量;

(15) if‖wr(t)-wr(t-1) ‖≤α //这次迭代对模型改变不大, 继续微调阶段;

(16) flag←true;

(17) else//模型改变量太大则进入粗调阶段, 精确计算所有样本梯度;

(18) flag←false;

(19) end if。

在算法1中, 当样本对模型更新贡献较大时, 每次迭代都计算该样本的准确梯度, 否则在微调阶段, 不计算该样本的梯度而采用上次迭代使用的梯度向量, 这样得到的梯度向量虽然有误差, 但是由于该梯度向量对模型更新的贡献较小, 因此对模型更新和收敛的影响也较小, 从而将减小计算量带来的误差和不良影响降到最小。当梯度向量重用导致的误差过大时, 迭代会进入粗调阶段, 此时需要计算所有样本的准确梯度, 保证计算结果的正确性。

2 收敛性分析

假设在第t次迭代时由于重复使用样本梯度相对于原算法引入的误差为${\delta _t} = O\left( {\frac{1}{t}} \right)$, 设优化目标函数F中的损失函数为f, 且满足Lipschitz连续性, 规范化函数为h, 则在PS系统的迭代优化算法的收敛性分析[20]的基础上, 有:

Δt=wt+1-wt, 则在第t次迭代时有:

$f({\mathit{\boldsymbol{w}}_{t + 1}}) - f({\mathit{\boldsymbol{w}}_t}) \le \left\langle {{\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_t},\nabla f({\mathit{\boldsymbol{w}}_t})} \right\rangle + {L_{{\rm{var}}}}{\mathit{\boldsymbol{\| \boldsymbol{\varDelta} }}_t\|}{^2},$ (1)
$h({\mathit{\boldsymbol{w}}_{t + 1}}) - h\left( {{\mathit{\boldsymbol{w}}_t}} \right) \le - \frac{1}{\gamma }{\mathit{\boldsymbol{\| \boldsymbol{\varDelta} }}_t\|}{^2} - \left\langle {{g_t},{\rm{ }}{\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_t}} \right\rangle 。$ (2)

综合式(1)、(2) 有

$\begin{array}{l} E\left[ {F({\mathit{\boldsymbol{w}}_{t + 1}}) - F({\mathit{\boldsymbol{w}}_t})} \right] \le \left\langle {{\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_t},\nabla f\left( {{\mathit{\boldsymbol{w}}_t}} \right) - E\left[ {{\mathit{\boldsymbol{g}}_t}} \right]} \right\rangle + \\ \quad \quad \quad \quad \quad \quad \left( {{L_{{\rm{var}}}} - \frac{1}{\gamma }} \right){\mathit{\boldsymbol{\| \boldsymbol{\varDelta} }}_t\|}{^2}, \end{array}$ (3)

由于$E\left[ {{\mathit{\boldsymbol{g}}_t}} \right] = \sum\limits_{i = 1}^m {\nabla {f_i}} \left( {{\mathit{\boldsymbol{w}}_{{t_i}}} + {\mathit{\boldsymbol{\sigma }}_{{t_i}}} + {\mathit{\boldsymbol{\delta }}_{{t_i}}}} \right)$, 其中σti表示第i个计算结点中由于模型参数延迟更新导致的误差, δti表示由于跳过对模型更新贡献较小的样本的梯度计算而引起的误差。

${\theta _t} = O\left( {\frac{1}{t}} \right)$, 则‖σt‖≤θt, ‖δt‖≤θt, 则有

$\left\| {\nabla f({\mathit{\boldsymbol{w}}_t}) - E[{\mathit{\boldsymbol{g}}_t}]} \right\| \le \sum\limits_{k = 1}^\tau {{L_{{\rm{cov}}}}} {\mathit{\boldsymbol{\| \boldsymbol{\varDelta} }}_{t - k}}\| + {L_{{\rm{cov}}}}{\theta _t},$ (4)

因此有

$\begin{align} & E[F({{\mathit{\boldsymbol{w}}}_{T+1}})-F({{\mathit{\boldsymbol{w}}}_{1}})]\le \\ & \quad \quad \sum\limits_{t=1}^{T}{\left( {{L}_{\rm{var}}}+{{L}_{\rm{cov}}}\tau -\frac{1}{\gamma } \right)}\|{{\mathit{\Delta }}_{t}}{{\|}^{2}}+{{L}_{\rm{cov}}}\theta _{t}^{2} 。\\ \end{align}$ (5)

由于${{\theta }_{t}}=O\left( \frac{1}{t} \right)$, 则此式与PS系统的DBPG迭代优化算法的收敛性问题[20]等价, 则算法1提出的基于样本差异性的迭代优化策略能保证系统收敛。

3 试验结果及分析

为了验证算法的有效性, 在分布式机器学习系统PS上, 基于RCV1[24]和KDD04数据集运行逻辑回归应用。RCV1数据集中包含由13000个样本组成的训练集以及由8000个样本组成的测试集, KDD04数据集中包括14.6万个样本, 对其采用交叉验证法, 选择20%的样本作为测试集, 余下80%作为训练集。

试验运行环境为4个结点组成的集群系统, 每台机器均为Intel Xeon4核CPU, 主频为2.4GHz。集群结点之间通过10Gbps以太网相连, 4个结点中1个作为调度器结点, 1个作为服务器结点, 2个作为计算结点。

以逻辑回归问题为例, 研究上述算法在RCV1和KDD04数据集上, 迭代计算的总计算量的差异以及评估上述算法对训练模型精度的影响, 并与目前最新的机器学习并行优化算法DBPG算法[20]进行比较。

图 3为在RCV1和KDD04数据集上, 算法1与DBPG算法的总计算量比较。在RCV1数据集上, 算法1需要经过18次迭代才能收敛, 但只有4次迭代需要计算所有样本的梯度, 其余迭代只需要计算少量样本梯度, 相比于DBPG算法, 模型训练总计算量减小35%。在KDD04数据集上, 算法1需要经过15次迭代才能收敛, 但只有4次迭代需要计算所有样本的梯度, 其余11次迭代只需要计算少量样本梯度即可, 模型训练的总计算量相比于DBPG算法减小38%。

图 3 算法1与DBPG算法的总计算量比较 Figure 3 The computation comparison between the proposed and DBPG algorithm on RCV1 and KDD04 dataset

图 4为在RCV1和KDD04数据集上, 算法1与DBPG算法训练得到的模型精度比较。在RCV1数据集上, 算法1训练的模型对测试集中预测准确度约为90.5%, 而DBPG算法训练的模型预测准确度约为97.3%。在KDD04数据集上, 算法1训练的模型对测试集中预测准确度约为92.4%, 而DBPG算法训练的模型预测准确度约为98.2%。

图 4 算法1与DBPG算法上的模型预测准确度比较 Figure 4 The model comparison between the proposed and DBPG algorithm on RCV1 and KDD04 dataset

图 3图 4可以看出, 算法1能够大幅减小机器学习优化算法迭代执行过程中的计算量, 而对模型精度的影响能控制在一定范围内。考虑到大数据挖掘应用对计算实时性和快速性的要求远大于对模型准确度的要求, 因此算法1相比于目前主流的机器学习并行优化算法DBGP, 更适应大数据挖掘应用的需求。

4 结论

本研究提出一个更适应大数据挖掘应用特点的用于分布式机器学习的迭代优化算法, 相比于传统的机器学习并行优化算法, 此算法通过牺牲少量的模型精度来换取系统执行效率的大幅提升。该算法主要利用当前优化算法迭代执行过程中, 大部分迭代对模型改变较小, 且迭代计算过程中大部分样本对模型更新的贡献极小这一特性, 在模型更新的后期重复使用贡献较小的样本梯度, 以减小这部分样本消耗的计算量, 从而提高系统执行效率。

参考文献
[1] 张引, 陈敏, 廖小飞. 大数据应用的现状与展望[J]. 计算机研究和发展, 2013, 50(S2): 216-233
ZHANG Yin, CHEN Min, LIAO Xiaofei. Big data applications: a survey[J]. Journal of Computer Research and Development, 2013, 50(S2): 216-233
[2] 王元卓, 靳小龙, 程学旗. 网络大数据:现状与展望[J]. 计算机学报, 2013, 36(6): 1125-1138
WANG Yuanzhuo, JIN Xiaolong, CHENG Xueqi. Network big data: present and future[J]. Chinese Journal of Computers, 2013, 36(6): 1125-1138
[3] 张蕾, 章毅. 大数据分析的无限深度神经网络方法[J]. 计算机研究与发展, 2016, 53(1): 68-79
ZHANG Lei, ZHANG Yi. Big data analysis by infinite deep neural networks[J]. Journal of Computer Research and Development, 2016, 53(1): 68-79 DOI:10.7544/issn1000-1239.2016.20150663
[4] 耿丽娟, 李星毅. 用于大数据分类的KNN算法研究[J]. 计算机应用研究, 2014, 31(5): 1342-1344
GENG Lijuan, LI Xingyi. Improvements of KNN algorithm for big data classification[J]. Application Research of Computers, 2014, 31(5): 1342-1344
[5] 刘红岩, 陈剑, 陈国青. 数据挖掘中的数据分类算法综述[J]. 清华大学学报(自然科学版), 2002, 42(6): 727-730
LIU Hongyan, CHEN Jian, CHEN Guoqing. Review of classification algorithms for data mining[J]. Journal of Tsinghua University (Science & Technology), 2002, 42(6): 727-730
[6] 何清, 李宁, 罗文娟, 等. 大数据下的机器学习算法综述[J]. 模式识别与人工智能, 2014, 27(4): 327-336
HE Qing, LI Ning, LUO Wenjuan, et al. A survey of machine learning algorithms for big data[J]. Pattern Recognition and Artificial Intelligence, 2014, 27(4): 327-336
[7] 吴启晖, 邱俊飞, 丁国如. 面向频谱大数据处理的机器学习方法[J]. 数据采集与处理, 2015, 30(4): 703-713
WU Qihui, QIU Junfei, DING Guoru. Machine learning methods for big spectrum data processing[J]. Journal of Data Acquisition and Processing, 2015, 30(4): 703-713
[8] 程学旗, 靳小龙, 王元卓. 大数据系统和分析技术综述[J]. 软件学报, 2014, 25(9): 1889-1908
CHENG Xueqi, JIN Xiaolong, WANG Yuanzhuo. Survey on big data system and analytic technology[J]. Journal of Software, 2014, 25(9): 1889-1908
[9] 郭迟, 刘经南, 方媛, 等. 位置大数据的价值提取与协同挖掘方法[J]. 软件学报, 2014, 25(4): 713-730
GUO Chi, LIU Jingnan, FANG Yuan, et al. Value extraction and collaborative mining methods for location big data[J]. Journal of Software, 2014, 25(4): 713-730
[10] 陈国良, 毛睿, 陆克中. 大数据并行计算框架[J]. 科学通报, 2015, 60: 566-569
CHEN Guoliang, MAO Rui, LU Kezhong. Parallel computing framework for big data[J]. Chinese Science Bulletin, 2015, 60: 566-569
[11] YUAN Jinhui, GAO Fei, HO Qirong, et al. Light LDA: big topic models on modest computer clusters[C]//Proceedings of the 24th International Conference on World Wide Web. Florence, Italy: Springer, 2015:1351-1361
[12] KUMAR Abhimanu, BEUTEL Alex, HO Qirong, et al. Fugue: slow-worker-agnostic distributed learning for big models on big data[C]//Proceedings of the Seventeenth International Conference on Artificial Intelligence and Statistics. Reykjavik, Iceland: JMLR, 2014:531-539.
[13] LIU Ji, WRIGHT S J, RE Christopher, et al. An asynchronous parallel stochastic coordinate descent algorithm[J]. Journal of Machine Learning Research, 2015, 16(1): 285-322
[14] HSIEH C J, YU H F, DHILLON I S. PASSCoDe: parallel asynchronous stochastic dual coordinate descent[C]//Proceedings of the 32nd International Conference on Machine Learning. Lille, France: ACM, 2015: 2370-2379.
[15] CHU Chengtao, KIM Sangkyun, LIN Yian, et al. Map-reduce for machine learning on multicore[C]//20th Annual Conference on Neural Information Processing Systems Vancouver. British Columbia, Canada: MIT Press, 2006:281-288.
[16] POWER Russell, LI Jinyang. Piccolo: building fast, distributed programs with partitioned tables[C]//9th USENIX Symposium on Operating Systems Design and Implementation. Vancouver, Canada: USENIX, 2010: 293-306.
[17] CHILIMBI Trishul, SUZUE Yutaka, APACIBLE Johnson, et al. Project adam: building an efficient and scalable deep learning training system[C]//11th USENIX Symposium on Operating Systems Design and Implementation. Broomfield, USA: USENIX, 2014: 571-582.
[18] XING Eric P, HO Qirong, DAI Wei, et al. Petuum: a new platform for distributed machine learning on big data[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Sydney, NSW, Australia: ACM, 2015: 1335-1344.
[19] LI Mu, ANDERSEN David G, PARK Jun Woo, et al. Scaling distributed machine learning with the parameter server[C]//11th USENIX Symposium on Operating Systems Design and Implementation. Broomfield, USA: USENIX, 2014:583-598.
[20] LI Mu, ANDERSEN David G, SMOLA Alexander J, et al. Communication efficient distributed machine learning with the parameter server[C]//28th Annual Conference on Neural Information Processing Systems. Montreal, Canada: MIT Press, 2014: 19-27.
[21] HO Qirong, CIPAR James, CUI Henggang, et al. More effective distributed ML via a stale synchronous parallel parameter server[C]//27th Annual Conference on Neural Information Processing Systems. Lake Tahoe, United States: MIT Press, 2013: 1223-1231.
[22] LANGFORD John, SMOLA Alexander J, ZINKEVICH Martin. Slow learners are fast[C]//23rd Annual Conference on Neural Information Processing Systems. Vancouver, Canada: MIT Press, 2009: 2331-2339.
[23] ZINKEVICH Martin A, WEIMER Markus, SMOLA Alex, et al. Parallelized stochastic gradient descent[C]//24th Annual Conference on Neural Information Processing Systems. Vancouver, Canada: MIT Press, 2009: 2331-233.
[24] LEWIS David D, YANG Yiming, ROSE Tony G, et al. RCV1: a new benchmark collection for text categorization research[J]. Journal of Machine Learning Research, 2004, 5: 361-397