-
摘要:
针对流数据中概念漂移发生后,在线学习模型不能对分布变化后的数据做出及时响应且难以提取数据分布的最新信息,导致学习模型收敛较慢的问题,提出一种基于在线集成的概念漂移自适应分类方法(adaptive classification method for concept drift based on online ensemble,AC_OE). 一方面,该方法利用在线集成策略构建在线集成学习器,对数据块中的训练样本进行局部预测以动态调整学习器权重,有助于深入提取漂移位点附近流数据的演化信息,对数据分布变化进行精准响应,提升在线学习模型对概念漂移发生后新数据分布的适应能力,提高学习模型的实时泛化性能;另一方面,利用增量学习策略构建增量学习器,并随新样本的进入进行增量式的训练更新,提取流数据的全局分布信息,使模型在平稳的流数据状态下保持较好的鲁棒性. 实验结果表明,该方法能够对概念漂移做出及时响应并加速在线学习模型的收敛速度,同时有效提高学习器的整体泛化性能.
Abstract:In view of the problems that the online learning model cannot respond in time to the change of data distribution and it is difficult to extract the latest information of data distribution after concept drift occurs in streaming data, which leads to slow convergence of the learning model, an adaptive classification method for concept drift based on online ensemble (AC_OE) is presented. On the one hand, the online ensemble strategy is used to construct a local online learner, which can dynamically adjust the weight of base learner by local prediction of training samples in data blocks. It is helpful to not only extract the evolution information of streaming data in depth to make a more accurate response to the change of data distribution, but also improve the adaptability of the online learning model to the new data distribution after the occurrence of concept drift, and the real-time generalization performance of the learning model is improved too. On the other hand, the incremental learning strategy is used to construct a global incremental learner, and incremental training updates are carried out with the entry of new samples. The method extracts global distribution information of streaming data, and the model can maintain good robustness in the steady state of streaming data. Experimental results show that the proposed method can respond to concept drift and accelerate the convergence of online learning model, and improve the overall generalization performance of the learner effectively.
-
Keywords:
- streaming data /
- concept drift /
- online ensemble /
- incremental learning /
- adaptive model
-
大数据时代,流数据作为一种典型的数据类型受到广泛关注. 不同于传统静态数据,其具有动态性、时序性、无限性、不可再现性等特点,给数据的收集、存储、分析、处理,以及面向挖掘任务的模型构建和算法设计等都带来了严峻挑战[1-2]. 流数据在实际生产生活各领域的应用范围不断扩大,例如网络入侵、智慧医疗、气象预测等. 近年来,对流数据的研究备受关注,其目的是提高在线学习模型的泛化性能以适应流数据的实时分布[3-5]. 概念漂移是流数据挖掘在现实世界中的一个重要特性,也是流数据分析挖掘中不可避免的难点问题,它打破了传统机器学习中数据分布固定的假设,其典型特征是实时数据分布不断变化,并已受到越来越多的关注和研究[6-7].
流数据中存在的概念漂移使得由历史数据训练得到的学习模型很难适应分布变化后的新数据.例如在医学领域中,病毒可能会发生变异,若一直使用之前的在线学习模型对病毒进行筛查,很难在较短时间内发现变异后的病毒(如德尔塔毒株是由COVID-19病毒变异而来,随着病毒特征改变,需要实时更新筛查方法);在气象预测领域,天气情况可能会受气温、空气湿度、压强等因素的影响,这些因素的改变都可能导致不同的天气情况,若无法检测气象因素的实时变化情况,就不能准确预测天气情况的变化. 因此,在含概念漂移的流数据挖掘中,需要打破传统机器学习对数据分布固定的假设,这对于提高在线学习模型的适应性能具有重要意义.
目前,利用集成学习处理概念漂移是非稳定环境下流数据挖掘采用的有效手段,即结合流数据的时序特性,构建多个具有差异性的基学习器,通过组合策略将多个弱学习器集成以形成一个性能较强的集成模型,提高学习模型的泛化性能. 然而,多数集成学习方法在漂移发生后不能对新数据分布做出及时响应,导致在线学习模型在漂移发生后不能快速收敛到新的分布,模型泛化性能较差.
为提高概念漂移发生后在线学习模型的快速响应能力及模型的实时泛化性能,本文提出一种基于在线集成的概念漂移自适应分类方法(adaptive classification method for concept drift based on online ensemble,AC_OE). 该方法一方面通过在线集成策略对流数据进行局部的在线预测以实时调整基学习器权重,捕捉数据分布演化的局部细节信息;另一方面,引入增量学习器以获取流数据的全部分布信息,并随新样本的进入进行增量式的训练更新,提取流数据的全局分布信息,提高模型的鲁棒性. 所提出的方法使得概念漂移发生后在线学习模型能对概念漂移做出响应并快速收敛. 本文的主要贡献有2个方面:
1)通过对样本的在线局部预测,动态调整基学习器权重,提高模型对新分布数据的响应能力及收敛性能.
2)设置增量学习器以提取流数据的整体分布特征,提升在线学习模型的鲁棒性.
1. 相关工作
目前,已有较多文献对流数据挖掘中概念漂移问题进行研究,常见的处理策略大致分为基于主动检测的概念漂移处理方法和基于被动自适应的概念漂移处理方法.
基于主动检测的概念漂移处理方法通过引入概念漂移检测机制,对流数据分布的稳定性进行检测或者通过模型实时性能指标(分类准确率、召回率等)的变化判断是否有概念漂移发生.当监测到数据分布不稳定或学习模型指标发生明显波动时,触发概念漂移警报,以及时对模型进行相应调整. 常见的主动检测方法主要有基于滑动窗口的方法和基于模型性能的方法.基于滑动窗口的方法采用单个或多个滑动窗口来存储处理数据,使用当前滑动窗口来容纳最新分布的样本,通过不断向前滑动窗口来判断是否有概念漂移的发生. 典型的方法有:使用自适应滑动窗口的熵方法[8]、基于自适应窗口的方法[9]、基于多窗口协同滑动的方法 [10-11]. 基于模型性能的方法需要实时监测模型性能的变化情况,当检测到模型性能发生明显下降时,表明流数据中可能发生了概念漂移.典型的方法如:快速的概念漂移检测方法通过比较2次错误分类之间的标准差与设定阈值之间的大小来检测概念漂移[12];基于在线性能测试的方法通过比较漂移位点精度收敛偏差来判别概念漂移位点以及基于迁移学习的概念漂移检测方法[13-14].主动检测方法虽然能够在流数据非平稳状态下避免不必要的检测,提高了算法的效率,但是在学习过程中可能会发生概念漂移位点的误检、漏检及延检等情况,这将导致在线学习模型泛化性能降低.
基于被动自适应的概念漂移处理方法则不需要引入漂移检测机制来判断概念漂移的发生,而是通过不断调整学习器来适应数据分布的变化. 在被动自适应方法中,基于集成学习的处理方式较为常见,其根据学习单元大小可分为基于数据块的集成和基于单数据样本的在线集成.
基于数据块的集成每次对数据进行批量处理,典型的如:数据流集成方法将流数据分为固定大小的数据块,通过在数据块上训练基分类器构建集成模型,并根据一定的启发式规则使用最新数据块上构建的模型替换掉集成模型中性能最差的基分类器[15];基于动态调整基分类器权重的方法通过不断调整基分类器的权重来适应概念漂移[16-18];基于时序遗忘的方法使用遗忘机制对分类器进行动态加权[19];基于选择性集成的在线自适应方法和基于迁移的集成学习方法[20-21]通过选择性集成及迁移学习技术提高基学习器的有效性.基于数据块集成的方法虽然能够很大程度上提高分类器的预测性能,但是当数据块中发生概念漂移时,模型不能做出快速响应,导致模型的收敛速度较慢.
基于单数据样本的在线集成方法每个时间戳仅处理1个样本进行模型更新,并对基分类器进行加权组合.典型方法如:基于混合标记策略的在线学习方法通过固定集成和动态集成相结合来适应概念漂移[22];在线的Bagging方法和在线的Boosting方法将传统的集成学习技术改进应用于数据流的处理[23-24].基于单数据样本的在线集成方法虽然在一定程度上提高了模型对概念漂移的响应速度,但是难以提取重要的历史信息.
本文结合在线集成与增量学习策略,提出一种基于在线集成的概念漂移自适应分类方法.与传统方法相比,该方法既利用在线集成模型更新集成分类器权值,提升模型对局部演化特性的适应能力,又利用增量学习有效提取流数据的整体分布信息以提升鲁棒性,使学习模型在概念漂移发生后做出快速响应的同时提高收敛性能.
2. 在线集成的概念漂移自适应分类方法
针对概念漂移发生后,在线学习模型不能做出及时响应且难以提取最新数据分布信息,导致模型收敛速度慢的问题,本文提出一种基于在线集成的概念漂移自适应分类方法.该方法有效结合在线集成与增量学习策略,通过在线集成对新到样本进行局部预测,更新在线集成模型中基学习器权重,以有效适应流数据的局部变化特性.同时结合增量学习对样本进行增量训练,提取流数据的整体分布信息,提升模型的鲁棒性. 图1为该方法的整体框架示意图.
2.1 问题定义
流数据是指随时间不断推移而产生的一系列具有实时性、持续性和不稳定性的数据,可以将其表示为:
$$ S = \{ ({{\boldsymbol{x}}_i},{{y}_i})\} _{i = 1}^t \text{,} $$ (1) 其中${{\boldsymbol{x}}_i}$是对应时刻的样本实例,${{y}_i}$是该样本实例对应的标签. 若某一时刻流数据中样本的空间分布用一个“概念”来表示,则要学习的概念或者函数可用“目标概念”来表示. 假设流数据中数据的联合概念分布表示为${{P}}({\boldsymbol{x}},{y})$,若在时刻$ t $,流数据的概念分布发生变化,即该时刻发生了概念漂移,表示为:
$$ \exists {\boldsymbol{x}}:{P_{t - 1}}({\boldsymbol{x}},{y}) \ne {P_t}({\boldsymbol{x}},{y}) . $$ (2) 2.2 在线集成的局部预测
由于流数据本身所具有的时序特性与集成学习机制高度契合,而集成学习又解决了单一学习器在流数据挖掘中不能把握全局信息的问题,因此通过在不同时刻构建基学习器进行集成,是流数据挖掘的一条可行路径. 由于流数据中存在的概念漂移要求在线学习模型不仅能够对新数据分布快速收敛,也需要对概念漂移做出快速响应,而在线集成策略通过对样本进行逐个处理,有效提取漂移位点附近的细节分布演化特征,实现对概念漂移的快速响应. 因此,本文通过在线集成策略进行局部预测,并对基学习器权值进行更新,以使得在线集成模型适应概念漂移发生后流数据的快速变化,同时提高学习效率. 具体地,假设在线集成模型为$H = \{ ({h_1},{w_1}),({h_2}, {w_2}), … {\text{,}}({h_k},{w_k})\}$,其中,$ {h_i} $为基学习器,$ {w_i} $为所对应权值,初始状态下,每个基学习器对应权值$ {w_i} = 1/k $.
在流数据处于平稳状态时,通过反复训练后集成模型中的基学习器对新样本都保持较高的预测能力.然而,当概念漂移发生后,由于新样本分布发生变化,集成模型中的基学习器无法快速适应新的数据分布,对最新数据分布的预测能力较差. 因此,为对概念漂移快速响应,本文采用“权值在线更新、模型间隔训练”的方式,既通过在线的预测过程快速捕捉流数据当中数据分布的演化信息,并对集成学习的权值进行实时更新,同时又保持基学习器的相对稳定,通过每个数据块对基学习器进行替换,避免集成模型的不稳定波动影响学习性能. 具体地,假设数据流为$S D = \{ {D^1}{\kern 1pt} {\kern 1pt} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} {D^2},{\kern 1pt} {\kern 1pt} …{\kern 1pt} {\kern 1pt} {\kern 1pt} ,{D\,^t},{\kern 1pt} {\kern 1pt} …\}$,在时刻$ t $当新样本${\boldsymbol{x}}_j^t \in {D\,^t}$到达时,使用前序的集成模型$ H $中的基学习器首先对其进行局部预测:
$$ \tilde y\,^t_{ j} = \displaystyle\sum_{i = 1}^k {{w_i}\cdot {h_i}({\boldsymbol{x}}_{ j}^t)} . $$ (3) 在线集成模型对时刻t的第j个样本的预测结果$\tilde y\,^t_{ j} $与其真实标签$y\;^t_{ j} $不相等时,则将该基学习器的权重根据式(4)作更新,并采用式(5)进行归一化;反之基学习器权重保持不变. 若流数据中发生概念漂移,在较短的时间内,在线集成中大多数历史基学习器的预测性能会保持较低的状态,则相应基学习器的权值会发生指数级下降,为了不使权重过低,本文在经过1个数据单元后对基学习器权重根据式(5)进行归一化处理,使其保持在区间[0,1]内.
$$ {w_i} = \beta \cdot {w_i},\beta \in (0,1) \text{,} $$ (4) $$ {w_i} = \dfrac{{{w_i}}}{{\displaystyle\sum_{i = 1}^k {{w_i}} }} \text{,} $$ (5) 其中$ \beta $表示权重衰退因子,若分类器将当前样本错误分类,则该分类器的权重将以一定步长减小. 当第$ t $个时刻整个数据块$ {D^t} $中样本全部处理完毕后进行基学习器的更新,即在$ {D^t} $上训练得到新的学习器$ h $,并选择在线集成模型中最差的基学习器进行替换:
$$ h \leftrightarrow \mathop {{\rm{arg\;max}} }_{h_i \in H} \displaystyle\sum_{j = 1}^n {{h_i}({\boldsymbol{x}}\,^t_{ j}\,) \ne y\,^t_{ j}} . $$ (6) 由于基学习器$ h $是在最新的数据块$ {D^t} $上训练得到的,代表着流数据的最新分布,因此将基学习器权值的初始值设置为1. 在线集成的局部预测过程如图2所示,其中局部预测与权值更新是迭代进行的.
2.3 增量学习的全局预测
由于在线集成模型是在当前位点附近得到,其仅仅代表局部的分布信息.当流数据稳定时,仅采用在线集成模型无法覆盖整个流数据的分布信息,得到的基学习器鲁棒性较差. 因此本文同时构建增量学习器进行全局预测,以提取流数据的整体分布信息,提升鲁棒性. 具体地,在起始位点初始化1个增量学习器I,在流数据进入过程中,根据每个新到达的数据块$ {D^t} $以及历史数据块内的代表性关键样本,对增量学习器I进行增量更新,更新方式为:
$$ I^t \leftarrow Tr({D^t} \cup \{ Rand(m,{\sigma _{\tilde y\,^i_{ j} = y\,^i_{ j}}}( \cup _{i = 1}^{t - 1}\{ {D^i}\} ))\} ) \text{,} $$ (7) 其中$ Tr( \cdot ) $表示在相应的数据集上训练得到学习器过程,$ Rand(m, \cdot ) $表示从样本中随机选择$ m $个符合特定条件的样本(这里的特定条件${\sigma _{\tilde y \,^i_{ j} = y\,^i_{ j}}}( \cdot )$指选择模型分类正确的样本). 增量学习的全局预测过程如图3所示.
在此基础上,结合2.2节和本节所述的在线集成模型与增量学习模型构成总的测试模型,对待测样本进行加权投票:
$$ y = \sum_{i = 1}^k {{w_i} \cdot {h_i}({{{\boldsymbol{x}}}})} + \alpha \cdot I({{{\boldsymbol{x}}}}) . $$ (8) 2.4 AC_OE方法
本文提出一种基于在线集成的概念漂移自适应分类方法,该方法通过在线集成来对新到样本进行局部预测,使模型对概念漂移及时响应,结合增量学习器做全局预测.利用历史数据块内适量关键样本与新到达的数据块内样本,分别提取关键历史信息与最新数据分布的信息,更新增量学习器,从而快速适应概念漂移. 在一个数据单元后,更新在线集成,提高了模型的整体泛化性能. 算法1展示了本文提出的AC_OE方法的执行流程. 对测试样本${\boldsymbol{x}}$进行标签预测.
算法1. 在线集成的概念漂移自适应分类算法.
初始化:数据流$S D = \{ {D^1}{\kern 1pt} {\kern 1pt} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} {D^2},{\kern 1pt} {\kern 1pt} …{\kern 1pt} {\kern 1pt} {\kern 1pt} ,{D^t},{\kern 1pt} {\kern 1pt} …\}$,在线集成模型$H = \{ ({h_1},{w_1}),({h_2},{w_2}), … {\text{,}}({h_k},{w_k})\}$,$ {w_i} = 1/k $,增量学习模型$I$,权值衰退因子$ \beta $.
① while 流数据$S D$未结束
第$ t $个位点对应数据块$ {D^t} $进入;
② while 对于$ {D^t} $中新进入的第$ j $个样本${\boldsymbol{x}}\,^t_{ j}$
③ 采用在线集成$ H $中的每个基学习器$ {h_i} $对当 前样本${\boldsymbol{x}}\,^t_{ j}$进行局部预测,得到预测标签 ${h_i}({\boldsymbol{x}}\,^t_{ j})$;
④ if ${h_i}({\boldsymbol{x}}\,^t_{ j}) \ne y\,^t_{ j}$
⑤ 更新在线集成的基学习器权重
$ {w_i} = \beta \cdot {w_i},\beta \in (0,1) $;
权值标准化 ${w_i} = \dfrac{{{w_i}}}{{\displaystyle\sum_{i = 1}^k {{w_i}} }}$;
⑥ end if
⑦ end while
⑧ 在$ {D^t} $上训练得到最新的在线基学习器$ h $;
⑨ 选择$ H $中最差的基学习器$ {h^*} $
${h^*} = \mathop {\arg\max }\limits_{{h_i} \in H} \displaystyle\sum_{j = 1}^n {{h_i}({\boldsymbol{x}}\,^t_{ j}) \ne y\,^t_{ j}}$;
⑩ 用$ h $替换$ {h^*} $,得到最新的在线集成$ H $;
⑪ 提取代表性关键样本并更新增量学习器
$I^t \leftarrow Tr({D^t} \cup \{ Rand(m,{\sigma _{\tilde y\,^i_{ j} = y\,^i_{ j}}}( \cup _{i = 1}^{t - 1}\{ {D^i}\} ))\} )$;
⑫ 结合最新的在线集成$ H $与增量集成$I$构建总 的测试模型,并用于在测试集$ {D^{t + 1}} $上进行 测试,得到实时精度;
⑬ end while
2.5 模型复杂度分析
本节将从时间复杂度与空间复杂度2个层面分 析AC_OE方法的计算复杂度.
由于流数据挖掘的每一步过程主要的时间消耗在学习器的训练更新上,不妨假设传统在线学习模型在每个样本${\boldsymbol{ x}}$上进行训练更新学习器所需要的时间为$ O({p^2}) $,其中$ p $表示每一步的模型训练更新所需要的样本规模,则传统在线学习模型的复杂度为$ O(nT{p^2}) $,$ n $为数据单元规模,$ T $为流数据中总的数据块数. 而本文方法在在线集成中每个基学习器构建所需要的数据规模为$ n $(一般地,$ n < p $),且每一个数据块仅需要训练更新1次在线基学习器,因此在线集成部分的复杂度为$ O(T{n^2}) $,尽管增量学习器构建所需要的时间复杂度与传统增量学习一致,但其与在线集成学习过程是并行的,因此所提出的模型时间复杂性相比于传统在线学习明显降低,同时又有效结合了在线集成与增量学习的优势.
在空间复杂度方面,AC_OE方法采取在线集成方式,每次仅利用最新数据块的样本更新基学习器,只增加1个数据块大小$ n $的存储空间.此外,需要利用$ m $个代表样本以及最新数据块内样本,实现增量学习器更新,因此需要增加$ m $个存储空间,每次在线过程中需求的存储单元约为$ O(n + m) $. 在线过程迭代执行时,不同时刻存储单元可以共用,因此,$ O(n + m) $也为整个在线过程的空间复杂度. 然而,传统在线学习需要在整个数据流更新,因此,本文提出的方法空间复杂度低于传统在线学习.
3. 实验与性能分析
为验证本文所提出的方法AC_OE对含概念漂移流数据的处理性能,本文在不同的含概念漂移的标准数据集和真实数据集上进行实验验证,实验平台为Windows10操作系统,CPU为酷睿i7-3. 2GHz内核,内存为8GB. 本方法采用MATLAB R2019a编写和运行. 与传统流数据集成分类算法(streaming ensemble algorithm,SEA)[15]、精度更新的集成算法(accuracy updated ensemble algorithm,AUE2)[17]以及深度神经网络(DNN-16)方法进行对比.
3.1 数据集
1)合成数据集.为检验算法处理概念漂移的能力,本文使用在线分析流数据生成器[25]来生成具有突变、渐变和增量类型的6个数据集.
① Hyperplane数据集. 通过改变数据样本特征的权值来改变超平面的方向和位置, $ d $维空间的点${\boldsymbol{ x }}$的集合构成一个超平面:
$$ \sum\limits_{i = 1}^d {{w_i}} \cdot {x_i} = {w_0} = \sum\limits_{i = 1}^d {{w_i}} \text{,} $$ (9) 其中$ {x_i} $是点${\boldsymbol{x}}$的第$ i $个坐标,$ {w_i} \in [0,1] $是相应权值. 当$\displaystyle\sum\limits_{i = 1}^d {{w_i}{x_i} \geqslant {w_0}}$时样本被标记为正类,否则被标记为负类.
② LED数据集. 用来预测7段数码管上的数据,包含24个二进制属性;包含1个突变漂移数据集LED_abrupt(漂移位点为50×103)和1个渐变漂移的数据集LED_gradual(漂移位点分别为25×103,50×103,75×103).
③ RBFblips数据集. 通过随机径向基函数生成固定数量的随机质心,每个质心包含其对应的随机位置、标准差、类别标签和权重;包含3个概念漂移位点,分别为25×103,50×103,75×103.
④ Sea数据集. 经典突变式漂移数据集,每个样本包含$ {f_1} $,$ {f_2} $,$ {f_3} $ 共3个特征,其中类别只与前2个特征相关,当满足$ {f_1} + {f_2} < \theta $时,样本属于正类,反之属于负类;包含3个突变式概念漂移,位点为25×103,50×103,75×103.
⑤ Tree数据集. 通过决策树生成数据,为每个子叶上的属性生成随机数产生实例,概念漂移位点为25×103,50×103,75×103.
2)真实数据集.除了合成数据集外,实验中还采用了4个真实数据集.
① KDDcup99数据集[26]. 该数据集来自于第三届知识发现与数据挖掘竞赛,包括军事网络环境中模拟的各种攻击数据,用以检测网络入侵、区分正常的网络连接与恶意的网络连接.
② Electricity数据集. 包含澳大利亚新南威尔州电力价格受天气、用户需求、供应情况和季节等因素影响的数据.
③ Covertype数据集. 主要来自于美国林业局系统中某区域森林覆盖情况.
④ Weather数据集. 覆盖了某地区2006―2016年的每日天气测量数据,包括温度、湿度、风向风速、能见度与大气压等,用于预测降雨情况.
实验中使用的数据集的详细信息如表1所示.
表 1 本实验采用的数据集Table 1. Datasets Used in Our Experiment数据集 属性维数 样本类别 样本数量 漂移类型 漂移位点数 漂移位点位置 Hyperplane 10 2 100×103 增量型 - - LED_abrupt 24 10 100×103 突变型 1 50×103 LED_gradual 24 10 100×103 渐变型 3 25×103,50×103,75×103 RBFblips 20 4 100×103 突变型 3 25×103,50×103,75×103 Sea 3 2 100×103 渐变型 3 25×103,50×103,75×103 Tree 30 10 100×103 突变型 3 25×103,50×103,75×103 KDDcup99 41 23 4 940×103 未知 - - Electricity 6 2 45.3×103 未知 - - Covertype 54 7 581×103 未知 - - Weather 9 3 95.1×103 未知 - - 注:“-”表示不确定漂移位点数量或漂移位点位置. 3.2 参数设置
1)数据单元n.为在合适时间间隔内对模型进行更新,较小的数据单元会导致挖掘效率较低;而较大的数据单元会导致模型更新不及时,对概念漂移的响应时速产生一定的影响,实验中数据单元n =100.
2)衰退因子$ \beta $.权值衰退因子$ \beta $对于本文所提出的模型较为重要,衰退因子大时,容易减小漂移发生后不适用于新分布的基学习器,但容易导致模型发生振荡;反之,模型收敛较慢,无法快速适应漂移发生后新的数据分布,本文在不同的权值衰退因子$ \beta $=0.8,0.85,0.9,0.95下进行了实验.
3)基学习器.实验中采用 LIBSVM作为基学习器,核参数使用默认值(g =1/m,m为数据特征维度),在线集成中基学习器个数k =10.
3.3 评价指标
为验证所提AC_OE方法的性能,本文从模型的准确率、模型的收敛性以及算法稳定性等方面进行了分析,具体指标有4个.
1)平均实时精度Avgracc(average real-time accuracy). 表示模型的实时精度均值,反映模型整体分类性能,定义为:
$$ Avgracc = \frac{1}{T}\sum\limits_{t = 1}^T {rac{c_t}} , $$ (10) 其中T表示所有在线的时间步数,$ rac{c_t} $表示模型在时间戳t的实时精度. racct的计算公式为:
$$ rac{c_t} = \frac{{{n_t}}}{n} \text{,} $$ (11) 其中$ {n_t} $表示时间戳$ t $内能够正确分类的样本数,$ n $表示每个时间戳内的样本总数. racct越大表明模型实时性能越好.
2)累积精度Cumacc(cumulative accuracy). 该指标反映了模型从开始到当前时刻的整体性能,定义为:
$$ Cumacc = \frac{1}{{{T_t} \times n}}\sum\limits_{t = 1}^{{T_t}} {{n_t}} \text{,} $$ (12) 其中$ {T_t} $表示当前累积的累积步数.
3)恢复值RSA. RSA衡量了在线学习模型在概念漂移发生后收敛到新分布数据所需的步数.
$$ RSA = step \times (1 - avgracc) \text{,} $$ (13) 其中step表示模型从概念漂移位点到收敛位点所需用的步数. 由于模型在不同概念漂移类型的数据集上的性能波动变化不同,本文采用漂移位点后的n个参考点的精度变化来判断该点是否为收敛点. 若n个参考位点的精度小于给定的阈值,且位点前1/2个和后1/2个参考位点的平均精度也小于阈值,则该位点被认为是收敛点. 收敛点的定义为:
$$ \begin{split} &\qquad |rac{c_t} - rac{c_{t + i}}| < \varepsilon {\text{ }}, \\ &\qquad \left|\frac{2}{n}\sum\limits_{j = 1}^{n/2} {rac{c_{t + j}} - } \frac{2}{n}\sum\limits_{k = (n/2) + 1}^n {rac{c_{t + k}}} \right| < \varepsilon ,\end{split} $$ (14) 其中$,i \in \{ 1,{\text{2,}}…,n\} \text{.}\\ $
4)鲁棒性R(robustness)[27] . 鲁棒性是对模型稳定性能的有效评价指标,同时是模型泛化性能的体现,本文在平均精度上分析了不同算法的鲁棒性,算法A在不同数据集上的鲁棒性定义为:
$$ {R_A}(D) = \frac{{rac{c_A}(D)}}{{\mathop {\min }\limits_\alpha rac{c_\alpha }(D)}} \text{,} $$ (15) 其中$ rac{c_A}(D) $表示算法A在数据集D上的平均精度,$\mathop {\min }\limits_\alpha rac{c_\alpha }(D)$表示在数据集D上所有算法中的最小平均精度值. 某算法的整体鲁棒性值为该算法在所有数据集上的鲁棒性值之和,假设有n个数据集,具体定义为:
$$ {R_A} = \sum\limits_{i = 1}^n {{R_A}} ({D_i}) . $$ (16) 3.4 实验结果与分析
为有效衡量所提出AC_OE方法的分类性能、发生概念漂移后模型的收敛效果和模型稳定性,本文从方法的平均实时精度、累积精度、概念漂移恢复性以及鲁棒性4个方面进行实验结果的分析.
3.4.1 模型实时精度分析
本节分析算法在不同衰退因子$ \beta $和惩罚参数C下的表现性能. 表2展示了AC_OE方法在不同参数下的平均实时精度,可以看出,随着$ \beta $的增大,平均实时精度大多出现先升后降趋势,这是由于$ \beta $值直接影响基学习器权重的变化,过小的$ \beta $会使权重下降速度过大,不能发挥出在线基学习器的性能,过大的$ \beta $会使基学习器的权重下降速度变慢,在概念漂移发生后,对概念漂移的响应不及时. 随着C的增大,平均实时精度出现先上升后下降的趋势,这是由于过小的C会导致过拟合现象,过大的C会导致欠拟合. 本文方法在每个数据集上通过网格调参将不同的C与$ \beta $组合,得出模型的最优参数组合,并在该组合下进行后续实验结果分析.
表 2 不同参数下平均实时精度Table 2. Results of Average Real-time AccuracyUnder Different Parameters 数据集 C=1 C=10 C=100 $ \beta $=0.8 $ \beta $=0.85 $ \beta $=0.9 $ \beta $=0.95 $ \beta $=0.8 $ \beta $=0.85 $ \beta $=0.9 $ \beta $=0.95 $ \beta $=0.8 $ \beta $=0.85 $ \beta $=0.9 $ \beta $=0.95 Hyperplane 0.8671 0.8654 0.8662 0.8687 0.8869 0.8897 0.8945 0.8966 0.8703 0.8761 0.8842 0.8893 LED_abrupt 0.3929 0.3942 0.3953 0.3991 0.4771 0.4796 0.4866 0.5054 0.4681 0.4700 0.4772 0.4999 LED_gradual 0.4011 0.4031 0.4028 0.4089 0.4876 0.4908 0.4991 0.5178 0.4782 0.4817 0.4901 0.5104 RBFblips 0.6987 0.6969 0.7048 0.6844 0.8732 0.8759 0.8782 0.8802 0.9241 0.9271 0.9275 0.9316 Sea 0.7918 0.7946 0.7990 0.8027 0.7417 0.7487 0.7574 0.7764 0.7384 0.7369 0.7474 0.7720 Tree 0.3803 0.3786 0.3695 0.3674 0.5294 0.5333 0.5372 0.5480 0.5062 0.5093 0.5157 0.5383 KDDcup99 0.9432 0.9446 0.9395 0.8805 0.9426 0.9106 0.9369 0.8902 0.9246 0.9106 0.9369 0.8902 Electricity 0.7421 0.7450 0.7394 0.7094 0.7692 0.7624 0.7589 0.7317 0.7919 0.7915 0.7904 0.7604 Covertype 0.6387 0.6409 0.7395 0.7229 0.6495 0.7610 0.7660 0.7608 0.7647 0.7647 0.7813 0.7796 Weather 0.9063 0.9010 0.8979 0.9036 0.9051 0.9028 0.8982 0.9069 0.9060 0.9029 0.8983 0.9069 注:C表示惩罚参数,$ \beta $表示衰退因子,黑体数字表示最高平均实时精度. 表3展示了不同方法在各个数据集上的平均实时精度以及综合排名情况. 从表3可以看出,在所有的真实数据集上,AC_OE方法的模型性能最佳,在合成数据集上,除了在Sea数据集上AC_OE方法性能略低之外,在其他数据集上均有较好的排名;基于集成框架的算法能够提高模型的整体分类效果;在集成框架算法中,AUE2和SEA都是基于数据块的集成,而AC_OE方法与使用在线集成的方法,在概念漂移发生时可以及时对概念漂移做出响应,从而提高模型的整体性能.
表 3 不同方法的平均实时精度比较Table 3. Comparison of Average Real-Time Accuracy Under Different Methods数据集 平均实时精度(排名) AC_OE AUE2 DNN-16 SEA Hyperplane 0.8966(2) 0.8847(3) 0.8821(4) 0.8992(1) LED_abrupt 0.5054(2) 0.5096(1) 0.3761(4) 0.4813(3) LED_gradual 0.5178(1) 0.5127(2) 0.3918(4) 0.4905(3) RBFblips 0.9316(1) 0.7519(3) 0.8023(2) 0.7045(4) Sea 0.8027(3) 0.8139(2) 0.7019(4) 0.8229(1) Tree 0.5480(1) 0.4101(2) 0.1634(4) 0.3986(3) KDDcup99 0.9446(1) 0.9023(3) 0.3017(4) 0.9338(2) Electricity 0.7919(1) 0.6183(2) 0.5128(4) 0.6132(3) Covertype 0.7813(1) 0.6306(2) 0.6269(3) 0.6240(4) Weather 0.9069(1) 0.8824(2) 0.8043(4) 0.8781(3) 平均排序 1.4(1) 2.2(2) 3.7(4) 2.7(3) 注:黑体数字表示最高平均实时精度 . 本文使用非参数检验方法Friedman-Test[28],对所提方法与对比方法的性能优势进行统计检验分析. 对于给定的k种方法和n个数据集,令$ r_i^j $为第j个方法在第i个数据集上的秩,则第j个方法的秩和平均值为${R_j} = \dfrac{1}{n}\displaystyle\sum\limits_i {r_i^j}$. 零假设$ {H_0} $假定所有方法性能是相同的,在此前提下,当n和k足够大时,Friedman统计值${F_{{\rm{F}}} }$服从第一自由度为k−1,第二自由度为(k−1)×(n−1)的F分布:
$$ {F_{\rm{F}}} = \frac{{(n - 1)\chi _{\rm{F}}^2}}{{n(k - 1) - \chi _{\rm{F}}^2}} \text{,} $$ (17) $$ \chi _{{\rm{F}}} ^2 = \frac{{12n}}{{k(k + 1)}}\left[\sum\limits_j {R_j^2} - \frac{{k{{(k + 1)}^2}}}{4}\right] . $$ (18) 当得到的统计值大于某一显著水平下F分布临界值,则拒绝零假设$ {H_0} $,表明各算法的秩存在显著差异;反之,接受零假设$ {H_0} $,所有算法的性能无明显差异. 对上述不同算法的平均准确率进行统计检验,可得Friedman统计值在所有数据集上的统计值${F_{\rm{F}}} = 11.2703$,在显著水平$ \alpha = 0.05 $的情况下F分布临界值为2.960,因此,拒绝零假设$ {H_0} $,所有方法性能存在显著差异.
本文还通过Bonferroni-Dunn测试计算所有方法的显著性差异,用于比较2种方法之间是否存在显著差异. 若2种方法的秩和平均差值大于临界差CD,则这2种方法的性能存在显著差异.
$$ CD = {q_\alpha }\sqrt {\frac{{k(k + 1)}}{{6n}}} \text{,} $$ (19) 其中$ {q_\alpha } $为显著水平$ \alpha $下的临界值,经计算可得,在所有数据集上,显著性水平$ \alpha = 0.05 $的情况下$CD = 1.382\;2$. 统计分析结果如图4所示,结果表明,在统计意义上,本文所提AC_OE方法具有明显的优势.
图5为各个数据集上的累积精度,可以看出AC_OE方法除了在Sea数据集上的累积精度略低于SEA和AUE2算法,在其他数据集上均明显高于其他方法. 这是由于在概念漂移发生时,AC_OE做出及时响应,保持较高的精度,使模型整体的性能得到了提高.另外,大多数数据集上,其他2个集成框架算法的整体性能相对较高,这说明集成学习具有较好的处理概念漂移的能力.
3.4.2 模型收敛性分析
当流数据发生概念漂移后,在线学习模型能否快速收敛到新的数据分布是衡量算法的重要指标. 表4展示不同方法在已知概念漂移位点的5个数据集上的模型收敛结果. 表4中每个算法对应的数据集的3个值分别代表前、中、后3个位点的恢复值;由于Tree 数据集在中期位点精度下降后一直没有恢复,保持平稳波动,因此对中后2个位点的恢复度用“*”表示. 可以看出,除数据集Sea之外,本文所提出的AC_OE方法在其他4个数据集上的恢复值明显优于其他方法. 这是由于AC_OE方法能够充分利用最新样本,得到了代表最新数据分布的增量学习器,通过不断进行增量更新,能够使模型在漂移发生后快速收敛到新的数据分布,从而提升了模型的收敛性.
表 4 不同方法的恢复值(RSA)比较Table 4. Recover value (RSA) Comparison of Different Methods数据集 AC_OE SEA AUE2 DNN 前位点 中位点 后位点 前位点 中位点 后位点 前位点 中位点 后位点 前位点 中位点 后位点 LED_abrupt - 1.02 - - 4.68 - - 1.47 - - 41.6 - LED_gradual 0.48 0.48 0.48 0.51 2.55 3.57 0.49 2.45 3.43 74.0 99.5 40.6 RBFblips 0.07 0.07 0.07 0.60 0.90 0.15 0.50 1.00 0.25 5.20 22.8 3.48 Sea 0.20 0.20 0.40 0.18 0.54 0.72 0.19 0.19 0.38 1.02 3.90 3.90 Tree 0.45 0.45 0.90 3.60 4.20 2.40 0.59 4.13 3.54 96.5 * * 注:“-”表示该位点处没有发生概念漂移,黑体数字表示最高平均实时精度,“*”表示不对当前位点恢复度进行统计. 3.4.3 模型鲁棒性分析
鲁棒性是衡量算法稳定性的重要指标,值越大表示模型越稳定. 图6展示了不同算法在不同数据集上的鲁棒性,不同的小矩形高度代表的是算法在不同数据集上的鲁棒性值的大小,每一列上面的数值表示该算法在所有数据集上的鲁棒性值的总和,即该算法的整体鲁棒性. 可以看出,在大多数数据集上,AC_OE方法的鲁棒性均优于其他3种方法,且整体鲁棒性得到了最优值,AUE2,SEA两个使用集成学习的方法也取得较好的结果,这是由于AUE2,SEA使用了集成学习框架,将多个弱分类器组合,提高了模型的整体泛化性能.
4. 结束语
针对流数据中概念漂移发生后,在线学习模型不能对分布变化后的数据做出及时响应且难以提取数据分布的最新信息,导致学习模型收敛较慢的问题,本文提出一种基于在线集成的概念漂移自适应分类方法. 一方面,该方法利用在线集成策略构建局部的在线学习器,对数据块中的训练样本进行局部预测以动态调整学习器权重,有助于深入提取漂移位点附近流数据的演化信息,以对数据分布变化做出更精准的响应,提升在线学习模型对概念漂移发生后新数据分布的适应能力,提高学习模型的实时泛化性能;另一方面,利用增量学习策略构建全局的增量学习器,并随新样本的进入进行增量式的训练更新,提取流数据的全局分布信息,使模型在平稳的流数据状态下保持较好的鲁棒性.
作者贡献声明:郭虎升负责思想提出、方法设计、初稿写作及论文修改;丛璐负责初稿写作、数据测试及论文修改;高淑花负责代码实现、数据测试及初稿写作;王文剑负责思想提出、写作指导、修改审定.
-
表 1 本实验采用的数据集
Table 1 Datasets Used in Our Experiment
数据集 属性维数 样本类别 样本数量 漂移类型 漂移位点数 漂移位点位置 Hyperplane 10 2 100×103 增量型 - - LED_abrupt 24 10 100×103 突变型 1 50×103 LED_gradual 24 10 100×103 渐变型 3 25×103,50×103,75×103 RBFblips 20 4 100×103 突变型 3 25×103,50×103,75×103 Sea 3 2 100×103 渐变型 3 25×103,50×103,75×103 Tree 30 10 100×103 突变型 3 25×103,50×103,75×103 KDDcup99 41 23 4 940×103 未知 - - Electricity 6 2 45.3×103 未知 - - Covertype 54 7 581×103 未知 - - Weather 9 3 95.1×103 未知 - - 注:“-”表示不确定漂移位点数量或漂移位点位置. 表 2 不同参数下平均实时精度
Table 2 Results of Average Real-time Accuracy
Under Different Parameters 数据集 C=1 C=10 C=100 $ \beta $=0.8 $ \beta $=0.85 $ \beta $=0.9 $ \beta $=0.95 $ \beta $=0.8 $ \beta $=0.85 $ \beta $=0.9 $ \beta $=0.95 $ \beta $=0.8 $ \beta $=0.85 $ \beta $=0.9 $ \beta $=0.95 Hyperplane 0.8671 0.8654 0.8662 0.8687 0.8869 0.8897 0.8945 0.8966 0.8703 0.8761 0.8842 0.8893 LED_abrupt 0.3929 0.3942 0.3953 0.3991 0.4771 0.4796 0.4866 0.5054 0.4681 0.4700 0.4772 0.4999 LED_gradual 0.4011 0.4031 0.4028 0.4089 0.4876 0.4908 0.4991 0.5178 0.4782 0.4817 0.4901 0.5104 RBFblips 0.6987 0.6969 0.7048 0.6844 0.8732 0.8759 0.8782 0.8802 0.9241 0.9271 0.9275 0.9316 Sea 0.7918 0.7946 0.7990 0.8027 0.7417 0.7487 0.7574 0.7764 0.7384 0.7369 0.7474 0.7720 Tree 0.3803 0.3786 0.3695 0.3674 0.5294 0.5333 0.5372 0.5480 0.5062 0.5093 0.5157 0.5383 KDDcup99 0.9432 0.9446 0.9395 0.8805 0.9426 0.9106 0.9369 0.8902 0.9246 0.9106 0.9369 0.8902 Electricity 0.7421 0.7450 0.7394 0.7094 0.7692 0.7624 0.7589 0.7317 0.7919 0.7915 0.7904 0.7604 Covertype 0.6387 0.6409 0.7395 0.7229 0.6495 0.7610 0.7660 0.7608 0.7647 0.7647 0.7813 0.7796 Weather 0.9063 0.9010 0.8979 0.9036 0.9051 0.9028 0.8982 0.9069 0.9060 0.9029 0.8983 0.9069 注:C表示惩罚参数,$ \beta $表示衰退因子,黑体数字表示最高平均实时精度. 表 3 不同方法的平均实时精度比较
Table 3 Comparison of Average Real-Time Accuracy Under Different Methods
数据集 平均实时精度(排名) AC_OE AUE2 DNN-16 SEA Hyperplane 0.8966(2) 0.8847(3) 0.8821(4) 0.8992(1) LED_abrupt 0.5054(2) 0.5096(1) 0.3761(4) 0.4813(3) LED_gradual 0.5178(1) 0.5127(2) 0.3918(4) 0.4905(3) RBFblips 0.9316(1) 0.7519(3) 0.8023(2) 0.7045(4) Sea 0.8027(3) 0.8139(2) 0.7019(4) 0.8229(1) Tree 0.5480(1) 0.4101(2) 0.1634(4) 0.3986(3) KDDcup99 0.9446(1) 0.9023(3) 0.3017(4) 0.9338(2) Electricity 0.7919(1) 0.6183(2) 0.5128(4) 0.6132(3) Covertype 0.7813(1) 0.6306(2) 0.6269(3) 0.6240(4) Weather 0.9069(1) 0.8824(2) 0.8043(4) 0.8781(3) 平均排序 1.4(1) 2.2(2) 3.7(4) 2.7(3) 注:黑体数字表示最高平均实时精度 . 表 4 不同方法的恢复值(RSA)比较
Table 4 Recover value (RSA) Comparison of Different Methods
数据集 AC_OE SEA AUE2 DNN 前位点 中位点 后位点 前位点 中位点 后位点 前位点 中位点 后位点 前位点 中位点 后位点 LED_abrupt - 1.02 - - 4.68 - - 1.47 - - 41.6 - LED_gradual 0.48 0.48 0.48 0.51 2.55 3.57 0.49 2.45 3.43 74.0 99.5 40.6 RBFblips 0.07 0.07 0.07 0.60 0.90 0.15 0.50 1.00 0.25 5.20 22.8 3.48 Sea 0.20 0.20 0.40 0.18 0.54 0.72 0.19 0.19 0.38 1.02 3.90 3.90 Tree 0.45 0.45 0.90 3.60 4.20 2.40 0.59 4.13 3.54 96.5 * * 注:“-”表示该位点处没有发生概念漂移,黑体数字表示最高平均实时精度,“*”表示不对当前位点恢复度进行统计. -
[1] Georg K, Zliobaite I, Brzezinski D. Open challenges for data stream mining research[J]. ACM SIGKDD Explorations Newsletter, 2014, 16(1): 1−10 doi: 10.1145/2674026.2674028
[2] Lughofer E, Pratama M. Online active learning in data stream regression using uncertainty sampling based on evolving generalized fuzzy models[J]. IEEE Transactions on Fuzzy Systems, 2018, 26(1): 292−309 doi: 10.1109/TFUZZ.2017.2654504
[3] 翟婷婷,高阳,朱俊武. 面向流数据分类的在线学习综述[J]. 软件学报,2020,31(4):912−931 doi: 10.13328/j.cnki.jos.005916 Zhai Tingting, Gao Yang, Zhu Junwu. Survey of online learning algorithms for streaming data classification[J]. Journal of Software, 2020, 31(4): 912−931 (in Chinese) doi: 10.13328/j.cnki.jos.005916
[4] 杜航原,王文剑,白亮. 一种基于优化模型的演化数据流聚类方法[J]. 中国科学:信息科学,2017,47(11):1464−1482 doi: 10.1360/N112017-00107 Du Hangyuan, Wang Wenjian, Bai Liang. A novel evolving data stream clustering method based on optimization model[J]. SCIENTIA SINICA:Informationis, 2017, 47(11): 1464−1482 (in Chinese) doi: 10.1360/N112017-00107
[5] Ma J, Saul L K, Savage S, et al. Identifying suspicious URLs: An application of large-scale online learning [C] // Proc of the 26th Annual Int Conf on Machine Learning, New York: ACM, 2009: 681−688
[6] Lu Jie, Liu Anjin, Dong Fan, et al. Learning under concept drift: A review[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(12): 2346−2363
[7] Tennant M, Stahl F T, Rana O F, et al. Scalable real-time classification of data streams with concept drift[J]. Future Generation Computer Systems, 2017, 75: 187−199 doi: 10.1016/j.future.2017.03.026
[8] Du Lei, Song Qinbao, Jia Xiaolin. Detecting concept drift: An information entropy based method using an adaptive sliding window[J]. Intelligent Data Analysis, 2014, 18(3): 337−364 doi: 10.3233/IDA-140645
[9] Bifet A, Gavalda R. Learning from time-changing data with adaptive windowing [C] // Proc of the 7th SIAM Int Conf on Data Mining. Philadelphia, PA: SIAM, 2007: 443−448
[10] Guo Husheng, Li Hai, Ren Qiaoyan, et al. Concept drift type identification based on multi-sliding windows[J]. Information Sciences, 2022, 585: 1−23 doi: 10.1016/j.ins.2021.11.023
[11] 郭虎升,任巧燕,王文剑. 基于时序窗口的概念漂移类别检测[J]. 计算机研究与发展,2022,59(1):127−143 doi: 10.7544/issn1000-1239.20200562 Guo Husheng, Ren Qiaoyan, Wang Wenjian. Concept drift class detection based on time window[J]. Journal of Computer Research and Development, 2022, 59(1): 127−143 (in Chinese) doi: 10.7544/issn1000-1239.20200562
[12] Baena-García M, Campo-Ávila R J, Fidalgo D, et al. Early drift detection method [C] // Proc of the 17th ECML PKDD Int Workshop on Knowledge Discovery From Data Streams. Berlin: Springer, 2006: 77–86
[13] 郭虎升,张爱娟,王文剑. 基于在线性能测试的概念漂移检测方法[J]. 软件学报,2020,31(4):932−947 doi: 10.13328/j.cnki.jos.005917 Guo Husheng, Zhang Aijuan, Wang Wenjian. Concept drift detection method based on online performance test[J]. Journal of Software, 2020, 31(4): 932−947 (in Chinese) doi: 10.13328/j.cnki.jos.005917
[14] 文益民,唐诗淇,冯超,等. 基于在线迁移学习的重现概念漂移数据流分类[J]. 计算机研究与发展,2016,53(8):1781−1791 doi: 10.7544/issn1000-1239.2016.20160223 Wen Yimin, Tang Shiqi, Feng Chao, et al. Online transfer learning for mining recurring concept in data stream classification[J]. Journal of Research and Development, 2016, 53(8): 1781−1791 (in Chinese) doi: 10.7544/issn1000-1239.2016.20160223
[15] Street W N, Kim Y S. A streaming ensemble algorithm (SEA) for large-scale classification [C] // Proc of the 7th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2001: 377−382
[16] Lu Yang, Cheung Y M, Tang Yuanyan. Adaptive chunk-based dynamic weighted majority for imbalanced data streams with concept drift[J]. IEEE Transactions on Neural Networks and Learning Systems, 2020, 31(8): 2764−2778 doi: 10.1109/TNNLS.2019.2951814
[17] Brzezinski D, Stefanowski J. Reacting to different types of concept drift: The accuracy updated ensemble algorithm[J]. IEEE Transactions on Neural Networks and Learning Systems, 2014, 25(1): 81−94 doi: 10.1109/TNNLS.2013.2251352
[18] Kolter J, Maloof M. Dynamic weighted majority: A new ensemble method for tracking concept drift [C] // Proc of the 3rd IEEE Int Conf on Data Mining. Piscataway, NJ: IEEE, 2003: 123−130
[19] Elwell R, Polikar R. Incremental learning of concept drift in nonstationary environments[J]. IEEE Transactions on Neural Networks, 2011, 22(10): 1517−1531 doi: 10.1109/TNN.2011.2160459
[20] Guo Husheng, Zhang Shuai, Wang Wenjian. Selective ensemble-based online adaptive deep neural networks for streaming data with concept drift[J]. Neural Networks, 2021, 142: 437−456 doi: 10.1016/j.neunet.2021.06.027
[21] Sun Yu, Tang Ke, Zhu Zexuan, et al. Concept drift adaptation by exploiting historical knowledge[J]. IEEE Transactions on Neural Networks and Learning Systems, 2018, 29(10): 4822−1832 doi: 10.1109/TNNLS.2017.2775225
[22] Shan Jicheng, Zhang Hang, Li Weike, et al. Online active learning ensemble framework for drifted data streams[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(2): 486−498 doi: 10.1109/TNNLS.2018.2844332
[23] Oza N C. Online bagging and boosting [C] // Proc of the IEEE Int Conf on Systems, Man and Cybernetics. Piscataway, NJ: IEEE, 2005: 2340−2345
[24] Oza N C, Russell S. Experimental comparisons of online and batch versions of bagging and boosting [C] //Proc of the 7th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2001: 359−364
[25] Bifet A, Holmes G, Kirkby R, et al. MOA: Massive online analysis[J]. Journal of Machine Learning Research, 2010, 11(52): 1601−1604
[26] Sigkdd. KDDCup99 data [DB/OL]. [2019-04-19]. http://kdd.ics.uci.edu/data-baseskddcup99/kddcup99.htlm
[27] 赵鹏,周志华. 基于决策树模型重用的分布变化流数据学习[J]. 中国科学:信息科学,2021,51(1):1−12 doi: 10.1360/SSI-2020-0170 Zhao Peng, Zhou Zhihua. Learning from distribution-changing data streams via decision tree model reuse[J]. SCIENTIA SINICA:Informationis, 2021, 51(1): 1−12 (in Chinese) doi: 10.1360/SSI-2020-0170
[28] Demsar J. Statistical comparisons of classifiers over multiple datasets[J]. Journal of Machine Learning Research, 2006, 7(1): 1−30
-
期刊类型引用(3)
1. 孙吉成,曹斐,闫耀辉,李世超,郭聪聪. 面向天线移相值预测的双域增强集成分类方法. 航天工程大学学报. 2025(01): 81-88 . 百度学术
2. 马乾骏,郭虎升,王文剑. 在线深度神经网络的弱监督概念漂移检测方法. 小型微型计算机系统. 2024(09): 2094-2101 . 百度学术
3. 韩光洁,赵腾飞,刘立,张帆,徐政伟. 基于多元区域集划分的工业数据流概念漂移检测. 电子学报. 2023(07): 1906-1916 . 百度学术
其他类型引用(7)