摘要
概念漂移处理大多采用集成学习策略,然而这些方法多数不能及时提取漂移发生后新分布数据的关键信息,导致模型性能较差。针对这个问题,本文提出一种基于串行交叉混合集成的概念漂移检测及收敛方法(Concept drift detection and convergence method based on hybrid ensemble of serial and cross,SC_ensemble)。在流数据处于平稳状态下,该方法通过构建串行基分类器进行集成,以提取代表数据整体分布的有效信息。概念漂移发生后,在漂移节点附近构建并行的交叉基分类器进行集成,提取代表最新分布数据的局部有效信息。通过串行基分类器和交叉基分类器的混合集成,该方法兼顾了流数据包含的整体分布信息,又强化了概念漂移发生时的重要局部信息,使集成模型中包含了较多“好而不同”的基学习器,实现了漂移发生后学习模型的高效融合。实验结果表明,该方法可使在线学习模型在漂移发生后快速收敛,提高了模型的泛化性能。
大数据时代,动态数据不断在各大应用领域涌现,如交通数据、网页点击和股票预测等。与传统静态数据相比,这些数据具有高速、实时、多变以及不可预知等特点,故将这样的数据称之为流数
概念漂移发生后,集成学习策略能够灵活更新基分类器,有效提高模型的泛化性能。因此,集成学习是解决概念漂移的有效途径,然而由于漂移刚发生时得到的新分布数据有限,集成模型中会保留较多携带旧分布数据信息的基分类器,大多数基分类器性能较差,不能达到“好而不同”的集成,导致集成模型泛化性能较差。为提高概念漂移流数据挖掘的性能,本文提出了一种基于串行交叉混合集成的概念漂移检测及收敛方法。在流数据处于平稳状态下,该方法通过构建串行基分类器进行集成,以提取代表数据整体分布的有效信息。概念漂移发生后,在漂移节点附近构建并行的交叉基分类器进行集成,提取代表最新分布数据的局部有效信息。
本文主要贡献包括:(1)通过串行基分类器和交叉基分类器的混合集成,该方法兼顾了流数据包含的整体分布信息,又强化了概念漂移发生时的重要局部信息。(2)在集成模型中增加了较多“好而不同”的基学习器,实现了漂移发生后在线集成学习模型的高效收敛,提升了模型泛化性能。在10个数据集上与5种对比方法进行比较,实验结果显示大部分数据集上本文方法的平均实时精度和累计精度均高于其他方法,能在概念漂移发生后具有较高的恢复性能,且相比于其他方法,本文方法的整体鲁棒性值最大,有效提高了模型的泛化性能。
目前,对于流数据挖掘中常存在的概念漂移问题,常见的处理策略主要包括基于实例选择的方法和基于集成学习的方法。基于实例选择的方法通常采用滑动窗口技术来实现,即通过使用一个或多个滑动窗口来存储数据,通过不断向前滑动窗口来判断是否发生概念漂移,选择最新的样本进行模型训练和更新,以保证当前窗口的数据能够服从最新分布。典型方法如:基于双窗口滑动的漂移检测方
基于集成学习的方法通过构建一系列弱分类器,使用一定的相关组合规则将这些弱分类器进行组合,通过投票或者加权集成方式得出非稳态环境下预测性能较好的强分类器。基于集成学习的方法又可以分为基于数据块的集成与在线集成。
基于数据块的集成将流数据划分成固定大小的数据块进行处理,最常见的方式是构建有限数量的基分类器,根据一定规则用最新数据块上创建的分类器替换集成分类器中表现性能较差的分类器,典型方法包括:基于传统流数据的集成分类方
在线集成是对样本进行逐一处理的集成方法。典型方法包括:基于动态加权投票的概念漂移适应方
本文提出了一种基于串行交叉混合集成的概念漂移检测及收敛方法,和传统方法相比,该方法在概念漂移发生后,有效提取了最新分布的关键信息;通过交叉分类器和串行分类器的集成方式进行模型融合,在保证整体实时性能的同时加快了模型的收敛速度。
本文提出基于串行交叉混合集成的概念漂移检测及收敛方法,借助集成学习技术提高概念漂移发生后在线学习模型的性能。在平稳流数据环境下使用串行集成进行数据分布的整体信息提取。反之,在概念漂移发生后,使用交叉集成进行数据分布局部有效信息的提取,在保持数据整体分布有效信息的同时兼顾数据分布发生改变后的局部有效信息,提高了模型的泛化性和收敛性。SC_ensemble方法的整体框架图如

图1 SC_ensemble方法整体框架图
Fig.1 Overall framework of SC_ensemble algorithm
在流数据挖掘中,组合多个基分类器完成分类任务通常会比单个分类器得到更好的效果,这是由于串行生成的多个基分类器可以提取不同位点的数据信息,避免了流数据的局部微小波动带来的性能下降问题。对于串行的流数据集成学习过程,本文首先做以下约定:
(1) 假定流数据,对数据单元设定阈值为w(即每个数据单元的样本容量),当样本数量达到阈值时,自动划分为下一个数据块,当前时刻的数据块记为,为样本对应的真实数据标签。
(2) 设定当前时刻的基分类器组合为(即在当前时刻发挥作用的基分类器组合),其中包含的基分类器上限为k。
当数据块到达时,首先根据当前的集成分类器对其进行预测,根据式(
(1) |
(2) |
(3) |
式中:表示中每个基分类器在当前时刻t最新到达的数据块上的预测错误率;为正确分类的示性函数,然后对训练得到基分类器;表示分类器的均方误差;p为各标签的分类概率;为当前时刻每个分类器的权重。
若最新训练得到的基分类器具有较好的预测性能,应该给与较高的权重,根据
(4) |
若此时中基分类器的个数没有超出分类器个数上限k(),则将直接添加到中,否则用新得到的基分类器替换掉中权重最小的基分类器,得到新的集成分类器。

图2 串行集成学习过程
Fig.2 Serial ensemble learning process
当流数据处于平稳状态时,不同时刻数据分布差异不大,因此采用串行集成即可达到较好的分类效果。当概念漂移发生后,由于数据分布发生了较大变化,此时串行集成模型中存在大量分类性能很差的基分类器,在新数据块上训练表现较好的新分类器难以与串行集成中大量性能很差的过时基分类器相抗衡,因此很难对新概念做出快速响应,导致概念漂移发生后学习模型的泛化性能较差。因此,为了能够在概念漂移发生后提取到更多的新分布样本信息,本文在概念漂移发生后创建交叉分类器,在保留数据整体分布信息的同时提取概念漂移位点附近较多的局部分布信息,构建符合概念漂移环境下更好的集成学习模型,使在线集成学习模型在非稳定的流数据学习中得到更好的泛化性能。
为了能够在概念漂移发生后充分发挥交叉分类器的作用,则需要检测概念漂移发生的位点。当数据块到来后,本文通过前两个位点得到的串行集成分类器和来检测是否发生概念漂移,与分别在数据块和上进行测试,得到测试精度和来表示,得出位点的漂移位点检测波动比,有
(5) |
随着流数据中新数据块的不断到达,当(为概念漂移警告)时,表明集成模型在当前数据块上的测试精度发生显著下降,即数据分布发生了较大变化,因此触发概念漂移警告。

图3 概念漂移检测过程
Fig.3 Concept drift detection process
当检测到可能发生概念漂移的位点后,在最新分布的数据上创建交叉分类器。该过程需要定义数据缓冲区和交叉集成,分别用和进行形式化表示。当检测到概念漂移位点后,将当前数据块和前一个数据块(的加入包含两个作用:(1)方便交叉分类器构建;(2)避免概念漂移位点检测的时延,特别是对于渐变类概念漂移具有重要作用)加入数据缓冲区,即,并在数据缓存区上构建交叉基分类器。
为了能够得到具有一定差异性的交叉基分类器,首先需要对数据缓存区划分为不同的子数据块,划分后的每个子数据块的大小也为,且相邻的两个子数据块之间相隔一定数量的样本数,其与之间服从
(6) |
当发生概念漂移后,串行集成中过时分类器占比较大,因此可能会在持续的一段时间内无法更好地适应新概念,此时需要不断构建交叉基分类器,以便模型更好地预测,直到数据变化较为平稳(即概念漂移结束)。为了找出漂移结束位点,本文将概念漂移发生时前一个时间戳的集成用表示,在其对应数据块上的预测精度用来表示,从此时刻起,与保持静止。随着流数据中新数据块的不断到达,需要进行漂移结束检测,其漂移结束检测波动比为
(7) |
若此时满足条件,则对数据缓冲区重新进行子数据块的划分,从而更新交叉集成中的每个基分类器。直到满足条件时,清空,不再进行交叉基分类器的创建。此时刻起,恢复概念漂移的检测过程,根据漂移位点检测波动比寻找下一个概念漂移位点。

图4 交叉集成学习过程
Fig.4 Cross ensemble learning process
当检测到漂移发生后,由于漂移类型未知,漂移位点附近的样本都可能比较重要,因此本文通过串行基分类器和交叉基分类器的混合集成进行预测,即
(8) |
可以看出,若交叉基分类器过多,模型容易出现过拟合,反之模型整体性能会被控制全局性能的串行集成所影响,未能达到预期的预测效果。
本文所提出的SC_ensemble算法借助集成学习的思想来检测和加速概念漂移的收敛,即通过检测是否有概念漂移的发生采用不同的处理方式,若检测到有概念漂移发生,则对缓冲区数据进行划分来创建交叉基分类器,很好地适应了流数据中的概念漂移。整体算法实现过程如

图5 SC_ensemble算法的整体实现过程
Fig.5 Overall implementation process of SC_ensemble algorithm
算法1 SC_ensemble算法
初始化:流数据序列,其中学习单元;数据块大小w;数据缓冲区;概念漂移警告为;串行基分类器上限k;交叉基分类器上限f;串行集成;交叉集成;概念漂移标记flag=false。
输出:串行集成;交叉集成;模型测试精度Acc。
(1) While 数据序列SD未结束
(2) 使用集成与在对应数据块与上预测,得到与;
(3) 根据
(4) if and flag = false
(5) flag = true;
(6) ;
(7) end if
(8) if flag = true
(9) if
创建数据缓冲区,划分得到子数据块,训练得到交叉基分类器;
(10) else
(11) flag = false;
(12) end if
(13) end if
(14) 在上训练得到,根据
(15) if 串行分类器个数未达k
(16) 将添加到中;
(17) else
(18) 替换掉中权重最小的基分类器;
(19) end if
(20) end while
为验证所提SC_ensemble算法的有效性,本文使用了具有不同类型的概念漂移数据集进行实验,分别从不同的评价指标对实验结果进行分析说明。
(1)合成数据集:为了检验算法对概念漂移的处理能力,本文使用大规模在线分析平
(2)真实数据集:实验中采用了网络入侵检测数据集KDDcup99、电力价格分析数据集Electricity、森林覆盖分析数据集Covertype以及天气数据集Weather。数据集的具体信息见
为了充分验证所提出方法应对概念漂移的有效性,本文在不同参数下进行了实验研究。
(1) 概念漂移警告。为了能够准确检测出概念漂移位点,且较大的会将波动稍大的点错误检测为概念漂移位点,会发生严重的误检情况,较小的无法检测到波动较小的位点,会发生检测不到概念漂移位点的情况。因此,本文将的值设置为0.8。
(2) 数据块大小w。由于在过小数据块上无法得到足够多数据的样本特征,训练的分类器稳定性较差,而过大的数据块可能会在数据块中包含概念漂移,影响模型的分类效果。因此本文将w统一设置为100。
(3) 交叉分类器个数f。若f过小,则创建的交叉基分类器越少,从而能提取到的局部有效信息会减少,造成其交叉分类器的性能较低,这时交叉集成的性能会被控制全局性能的串行集成性能所抑制,导致没有发挥出交叉集成的优势;若f过大,则创建的交叉基分类器的个数越多,导致交叉集成中包含了过多的强分类器,从而抑制了集成性能。因此,交叉分类器的取值起着决定性作用,本文将其设置为。
本文选择LIBSVM作为基分类器来构建“同质”基分类器。核参数采用默认值(g=1/m,m为数据特征维度),由于在复杂的非线性问题中,惩罚因子对模型性能的影响较大,因此,本文将惩罚因子设置为C 。通过网格调参的方式,将不同的C与f相组合,比较不同参数组合下模型的分类性能,从而找出对应的全局最优参数组合,使用该组合与对比方法进行比较。
为了更好地有效评估所提SC_ensemble方法的性能,本文选取了以下5种方法进行对比。
(1)SE
(2)AUE
(3)DWCD
(4)HB
(5)ResNe
为了评估所提SC_ensemble算法的性能,本文针对模型的分类准确、模型对概念漂移的适应性能以及算法的稳定性,分别提出了以下4种不同的评测指标。
(1) AvgRAcc(Average real accuracy)。AvgRAcc表示模型在每个时间戳的实时精度的平均值,该指标用于反应模型的实时性能,是分类结果的有效衡量标准,其定义为
(9) |
式中:TP、TN分别表示正确分类的正类样本数和正确分类的负类样本数;表示1个数据块中的样本总数;T表示所有时间步的总和,越高的测试精度表明模型的分类性能越好。
(2) CumAcc(Cumulative accuracy)。CumAcc反应了模型在过去所有时间步上的性能,其定义为
(10) |
式中:表示时间步t时预测正确的样本数量;n表示每个时间步的样本数。
(3) RSA(Recovery speed under accuracy)。RSA表示数据分布发生变化后,模型的恢复能力,其定义为
(11) |
式中:step表示模型从概念漂移位点到收敛位点所用的步数;avge表示整体错误率的均值。RSA的值越小,表示在发生概念漂移后,考虑全局错误率较低的同时模型能够在较短的时间内做出快速恢复,表明其模型的收敛性越好。
(4) 鲁棒
(12) |
式中:表示算法A在数据集D上的分类准确率;表示在数据集D上所有算法的准确率的最小值。由
(13) |
由以上定义可知,值越大,表明其算法的稳定性越好(即泛化性能越好)。
为验证本文所提出SC_ensemble算法的合理性以及该方法检测概念漂移与适应概念漂移的性能,本文从消融效果、模型测试精度、概念漂移适应情况以及鲁棒性方面分别进行测试分析。
为了更好地验证本文在概念漂移后插入交叉基分类器的有效性,本节分别采用串行集成、交叉集成和串行交叉混合集成的方式对流数据的分类情况进行分析。
本节采用AvgRAcc评价指标,分别测试本文所提出的SC_ensemble算法在不同参数下的分类准确率情况,并与对比方法进行研究分析。
由于数据量较大,实时精度较为密集,为了方便观察,本文通过CumAcc指标对不同方法的预测精度进行分析。

图6 不同方法的累计精度比较
Fig.6 Comparison of CumAcc of different methods

图7 不同方法的平均准确率比较
Fig.7 Comparison of AvgRAcc of different methods
本文使用非参数检验方法Friedman⁃Tes
(14) |
(15) |
若得到的统计值大于某一显著水平下F分布临界值,则拒绝零假设,表明各算法的秩存在显著差异,反之接受零假设,所有算法的性能无明显差异。对上述不同算法的平均准确率进行统计检验,可得Friedman在所有数据集上的统计值,在的情况下F分布临界值为2.422,因此,拒绝零假设,所有方法性能存在显著差异。
本文还通过Bonferroni⁃Dunn测试计算了所有方法的显著性差异,用于比较两个方法之间是否存在显著差异。若两种方法的秩和平均差值大于临界差,则这两种方法的性能存在显著差异,有
(16) |
式中:为显著水平下的临界值,经查表可得。通过计算可得,在所有数据集上,显著性水平的情况下。统计分析结果如

图8 不同方法平均准确率的显著性差异分析
Fig.8 Comparison of AvgRAcc against other methods with the Bonferroni-Dunn test
为了验证SC_ensemble算法在概念漂移发生后的收敛速度,本节比较并分析了不同概念漂移位点处的恢复性能。本文选取已知概念漂移位点的5个合成数据集进行分析。
为验证本文所提SC_ensemble算法的稳定性,本节从平均实时精度出发分析各算法的鲁棒性。

图9 不同数据集上的鲁棒性分析
Fig.9 Robustness analysis on different datasets
由于流数据中存在的概念漂移问题,常导致模型在漂移发生后对新分布数据不能快速适应,导致模型性能下降。本文提出了一种基于串行交叉混合集成的概念漂移检测及收敛方法,该方法借助集成学习思想,概念漂移发生后在漂移位点附近创建交叉分类器,兼顾了流数据包含的整体分布信息,又强化了概念漂移发生时的重要局部信息,使集成模型中包含了较多“好而不同”的基学习器,实现了漂移发生后学习模型的高效融合,使在线集成学习模型在概念漂移发生后能快速适应新分布的变化。在后续研究中,将针对不同类型的概念漂移问题,设计自适应的动态交叉分类器,即将交叉基分类器的个数设置为一个可自行调节的变量,使其随着数据波动大小的改变而动态变化。
参考文献
Georg K, Zliobaite I, Brzezinski D. Open challenges for data stream mining research[J]. ACM SIGKDD Explorations Newsletter, 2014, 16(1): 1-10. [百度学术]
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. [百度学术]
翟婷婷,高阳,朱俊武. 面向流数据分类的在线学习综述[J].软件学报,2020, 31(4): 912-931. [百度学术]
Zhai Tingting, Gao Yang, Zhu Junwu. Survey of online learning algorithms for streaming data classification[J]. Journal of Software, 2020, 31(4): 912-931. [百度学术]
杜航原,王文剑,白亮. 一种基于优化模型的演化数据流聚类方法[J]. 中国科学:信息科学,2017, 47(11): 1464-1482. [百度学术]
Du Hangyuan, Wang Wenjian, Bai Liang. A novel evolving data stream clustering method based on optimization model[J]. Scientia Sinica: Information, 2017, 47(11): 1464-1482. [百度学术]
Ma J, Saul L K, Savage S, et al. Identifying suspicious URLs: An application of large-scale online learning[C]//Proceedings of the 26th Annual International Conference on Machine Learning. New York: ACM, 2009: 681-688. [百度学术]
Lu J, Liu A, Dong F, et al. Learning under concept drift: A review[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(12): 2346-2363. [百度学术]
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. [百度学术]
郭虎升, 张爱娟, 王文剑. 基于在线性能测试的概念漂移检测方法[J]. 软件学报, 2020, 31(4): 932-947. [百度学术]
Guo Husheng, Zhang Aijuan, Wang Wenjian. Concept drift detection method based on online performance test[J]. Journal of Software, 2020, 31(4): 932-947. [百度学术]
Zhu Q, Hu X, Zhang Y, et al. A double-window-based classification algorithm for concept drifting data streams[C]//Proceedings of the 2010 IEEE International Conference on Granular Computing. Piscataway, NJ: IEEE, 2010: 639-644. [百度学术]
Sun Z, Tang J, Qiao J. Double window concept drift detection method based on sample distribution statistical test[C]//Proceedings of 2019 Chinese Automation Congress (CAC). Hangzhou: IEEE, 2019: 2085-2090. [百度学术]
Marlon N, Raúl F, Rafael M. Learning in environments with unknown dynamics: Towards more robust concept learners[J]. Journal of Machine Learning Research, 2007, 8(8): 2595-2628. [百度学术]
Du L, Song Q B, Jia X L. Detecting concept drift: An information entropy based method using an adaptive sliding window[J]. Intelligent Data Analysis, 2014, 18(3): 337-364. [百度学术]
Pesaranghader A, Viktor H L. Fast hoeffding drift detection method for evolving data streams[J]. Machine Learning and Knowledge Discovery in Databases, 2016, 9852: 96-111. [百度学术]
Bifet A, Gavalda R. Learning from time-changing data with adaptive windowing[C]//Proceedings of the 7th SIAM International Conference on Data Mining.[S.l.]: SDM, 2007: 443-448. [百度学术]
Street W N, Kim Y S. A streaming ensemble algorithm (SEA) for large-scale classification[C]//Proceedings of the 7th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, New York: ACM, 2001: 377-382. [百度学术]
Lu Y, Cheung Y M, Tang Y Y. 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. [百度学术]
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. [百度学术]
Liao J W, Dai B R. An ensemble learning approach for concept drift[C]//Proceedings of 2014 International Conference on Information Science & Applications (ICISA). Seoul, Korea (South):[s.n.], 2014: 1-4. [百度学术]
Elwell R, Polikar R. Incremental learning of concept drift in nonstationary environments[J]. IEEE Transactions on Neural Networks, 2011, 22(10): 1517-1531. [百度学术]
Guo H S, Zhang S, Wang W J. Selective ensemble-based online adaptive deep neural networks for streaming data with concept drift[J]. Neural Networks, 2021, 142: 437-456. [百度学术]
Kolter J Z, Maloof M A. Dynamic weighted majority: A new ensemble method for tracking concept drift[C]//Proceedings of the 3rd IEEE International Conference on Data Mining. Melbourne, FL, USA:[s.n.], 2003: 123-130. [百度学术]
Sidhu P, Bhatia M, Bindal A. A novel online ensemble approach for concept drift in data streams[C]//Proceedings of the 2013 IEEE Second International Conference on Image Information Processing (ICIIP-2013).[S.l.]: IEEE, 2013: 550-555. [百度学术]
Bifet A, Holmes G, Pfahringer B, et al. New ensemble methods for evolving data streams[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.[S.l.]: ACM, 2009: 139-148. [百度学术]
Shan J, Zhang H, Li W, 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. [百度学术]
Oza N C. Online bagging and boosting[C]//Proceedings of the IEEE International Conference on Systems, Man and Cybernetics.[S.l.]: IEEE, 2005: 2340-2345. [百度学术]
Oza N C, Russell S. Experimental comparisons of online and batch versions of bagging and boosting[C]//Proceedings of the 7th ACM SIGKDD International Conference on Knowledge Discovery Data Mining.[S.l.]: ACM, 2001: 359-364. [百度学术]
Bifet A, Holmes G, Pfahringer B. Leveraging bagging for evolving data streams[J]. Lecture Notes in Computer Science, 2010, 6231(1): 135-150. [百度学术]
Bifet A, Holmes G, Kirkby R, et al. MOA: Massive online analysis[J]. Journal of Machine Learning Research, 2010, 11(52): 1601-1604. [百度学术]
Sahoo D, Pham Q, Lu J, et al. Online deep learning: Learning deep neural networks on the fly[C]//Proceedings of the 27th International Joint Conference on Artificial Intelligence. [S.l.]: Polo Alto, 2017: 2660-2666. [百度学术]
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.[S.l.]: IEEE, 2016: 770-778. [百度学术]
赵鹏, 周志华. 基于决策树模型重用的分布变化流数据学习[J]. 中国科学:信息科学, 2021, 51(1): 1-12. [百度学术]
Zhao Peng, Zhou Zhihua. Learning from distribution-changing data streams via decision tree model reuse[J]. Scientia Sinica: Information, 2021, 51(1): 1-12. [百度学术]
Demsar J. Statistical comparisons of classifiers over multiple datasets[J]. Journal of Machine Learning Research, 2006, 7(1): 1-30. [百度学术]