自适应概念漂移问题的增量集成分类算法*

2020-07-10 12:29韩明明孙广路朱素霞
计算机与生活 2020年7期
关键词:分类器增量准确率

韩明明,孙广路+,朱素霞

1.哈尔滨理工大学 计算机科学与技术学院,哈尔滨150080

2.哈尔滨理工大学 信息安全与智能技术研究中心,哈尔滨150080

1 引言

数据流是数据最常见的形式之一,通常数据流具有非平稳特性,容易发生概念漂移,从而导致机器学习模型的性能随着概念漂移的发生而不断降低,如何处理概念漂移问题是数据流学习中的关键问题[1-3]。由于数据流是快速持续到达的,在分类器学习过程中要求对每个样本只进行一次处理,对内存使用和处理时间上也提出更高的要求[4]。此外还要求更新现有分类器以适应新概念的同时又不影响对旧数据的分类性能,这就造成了“稳定性-可塑性困境”[5]。

集成分类器可以选择性地删除或添加弱分类器,比较适合处理概念漂移问题,依据每次输入样本数量不同,集成算法可分为在线学习和批量学习两类,在线学习每次处理一个样本,而批量学习每次处理一个数据块,数据块包含多个样本。

典型的批量学习集成算法,当一个新的数据块到达后,首先用新数据块评估已有的弱分类器,然后用新数据块训练一个新的弱分类器并替换最差的弱分类器。SEA(streaming ensemble algorithm)[6]算法是最早被提出用于解决概念漂移的自适应批量学习集成算法。AWE(accuracy weighted ensemble)[7]算法在SEA算法基础上为弱分类器依据预测错误率进行加权,但是其难以调整数据块的大小,从而在对漂移的快速反应和概念稳定期的高精度之间做出折衷,确定数据块包含的样本数量是概念漂移下批量学习算法的关键问题[8]。AUE2(accuracy updated ensemble)[1]算法通过引入弱分类器的增量训练有效避免了数据块大小对分类器性能的影响,但AUE2算法也存在着问题:

(1)AUE2算法缺少增强弱分类器多样性的处理方式,每次都用相同的数据块对已有的所有弱分类器增量训练,而文献[9-11]的研究证明,多样性较高的集成分类器在漂移发生后的表现通常比多样性低的集成分类器表现更好。

(2)AUE2 算法每次处理一个新数据块时,首先基于弱分类器对数据块的预测误差更新权重,然后对弱分类器进行增量训练,且新弱分类器的权重是基于随机分类器确定的。这种情况下,弱分类器权重在增量训练之前已经确定,权重更新忽略了本轮增量训练过程对弱分类器产生的影响。

针对AUE2 集成算法所存在的问题,本文提出一种新的集成学习算法CIUE(concept-adaptive incremental update ensemble),主要作了如下改进:

(1)CIUE 在弱分类器增量更新过程中引入增强集成算法的思路,借鉴适用于多分类问题的集成算法AdaBoost.M1[12]的权重更新方式,在增量训练中动态修改样本和弱分类器的权重,保证弱分类器的多样性。

(2)每处理一个数据块时,首先对弱分类器增量训练,然后基于训练误差更新弱分类器权重,新弱分类器的权重也根据训练误差计算。基于训练误差的权重更新方式,依据弱分类器对新数据的学习情况来确定其权重,考虑到了本轮增量训练对弱分类器的影响。

2 相关工作

自概念漂移问题首次提出以来[13],研究者对该问题进行了深入的研究并提出了很多针对概念漂移下的数据流学习算法,文献[2-3,14-16]总结了近些年来概念漂移问题的研究成果。

数据流的概念漂移问题,会导致模型在测试数据上的泛化能力降低,以至于模型不可用。文献[14]用更加规范的数学形式,从贝叶斯决策论角度对概念漂移问题进行阐述。文献[17]从不同角度对概念漂移进行分类,比如从概念是否反复出现可分为周期性漂移和非周期性漂移;从漂移的速率可分为突变漂移和渐进漂移。

针对概念漂移问题的技术有不同的分类标准[16],依据不同标准主要分为以下几类:

(1)依据是否主动检测概念漂移,可分为主动方法和被动方法;

(2)依据输入样本数量的不同,可分为在线学习和批量学习;

(3)依据弱分类器数量不同,可分为自适应的基分类器和集成分类器。

同一个算法依据不同的标准往往可被划分到不同类别中。

2.1 主动方法

主动方法使用一个漂移检测器来检测样本是否发生概念漂移。DDM(drift detection method)[18]、EDDM(early drift detection method)[19]、STEPD(detection method using statistical testing)[20]、ADWIN(adaptive windowing)[21]、ADDM(adaptive sliding window based drift detection method)[22]等是主动方法的代表性算法。DDM 通过监控分类器的错误率来检测概念漂移,但该方法不擅长检测渐进概念漂移。EDDM 对DDM进行改进以提高对渐变概念漂移的检测能力。窗口技术是概念漂移检测中常用的技术,窗口中包含一定数量的样本。STEPD采用统计检验来检测概念漂移,通过比较两个不同滑动窗口的准确率指标来确定概念漂移,即全局准确率和最近的准确率。该方法的缺点是需要预先给定滑动窗口大小,如果窗口大小不合适,就会产生较多的误报(false alarm)或者无法检测到某些漂移(false negative)。ADWIN 引入动态大小窗口,基于霍尔丁界(Hoeffding bound)比较两个子窗口之间的差异,以确定目标概念是否漂移。当数据没有明显的变化时,算法自动增长窗口,否则自动收缩窗口。ADDM利用滑动窗口的熵作为变化指标,通过霍尔丁界动态确定滑动窗的大小,当概念发生漂移时,ADDM 寻找确切时间戳重新训练分类器。

不难发现,主动方法关注的重点在于如何检测漂移以及当检测到概念漂移后分类器如何处理。

2.2 被动方法

与主动方法不同,被动方法并不显式地检测漂移,而是不断用新样本更新分类器,以使分类器适应概念漂移,即被动方法中的算法具有自适应性。

2.2.1 自适应的基分类器

理论上自适应的基分类器是解决概念漂移问题的较为简单的方法。Domingos 和Hulten[23]提出了一种基于霍尔丁界理论的快速决策树学习算法(very fast decision tree,VFDT),又称为霍尔丁树(Hoeffding tree)。给定样本流,第一批样本被用来确定根节点,一旦确定了根属性,那接下来的样本就会传递到相应的叶子节点上,并进行相应属性的选择(信息增益或基尼指数),以此递归。VFDT 使用霍尔丁边界来确定每个节点上的样本数量达到多少时进行划分,在样本数n尽可能小的情况下,确保使用n个样本选择的属性和使用无限样本选择的属性是一致的,在高可信度下,VFDT系统所产生的决策树能逐渐逼近由传统的批处理模式所产生的决策树。VFDT 不能用于解决概念漂移问题,为此Hulten等人[24]对其进行改进以适应样本随时间变化的情况,提出CVFDT(concept-adaptive very fast decision tree)算法。

朴素贝叶斯分类器、最紧邻算法具有天然的增量学习特性[25]。对于朴素贝叶斯算法,其类条件概率能够随着新样本的到来而不断更新,通过结合窗口技术,当一个新样本加入到窗口时,移除最老的样本来加入遗忘机制,以适应概念漂移。而最紧邻算法通过动态更新参考样本集合,能够适用于变化的数据流学习问题。

2.2.2 集成分类器

相对于单个基分类器,集成分类器更加灵活,可以根据概念漂移的情况有选择性地删除或添加弱分类器,依据每次处理样本数量的不同,将集成分类器分为在线学习集成和批量学习集成。

在线学习算法每次只处理一个样本。Oza[26]提出的Online Bagging和Online Boosting是应用于静态环境下的在线学习集成算法,Bifet 等人[27]把Online Bagging 和ADWIN 算法结合提出ADWIN Bagging算法用于概念漂移下的在线学习。Bifet 等人[25]借鉴Online Bagging中对样本的重采样方法提出了适用于动态环境下的自适应随机森林算法(adaptive random forest,ARF)。Pocock 等人[28]在Online Boosting 的基础上进行扩展提出ONSBoost(online non-stationary Boosting)算法来处理概念漂移。而Kolter和Maloof[29]提出的DWM(dynamic weighted majority)算法是经典的概念漂移下在线学习集成算法,DWM 是WM(weighted majority)[30]算法的扩展,算法以单个样本作为输入,经过一段时期后(处理了指定数量的样本),如果弱分类器对样本分类错误,则降低该弱分类器的权重(乘以一个小于1 的参数),否则权重不变,并根据权重决定是否要移除弱分类器并添加新的弱分类器。

与在线学习不同,批量学习算法每次处理一个数据块,每个数据块通常包含相同数量的多个样本。

概念漂移下的批量集成学习算法可以追溯到由Street等人[6]提出的SEA算法,SEA算法以决策树C4.5作为弱分类器,每当有新数据块到达后,首先用新数据块作为测试集对已有的弱分类器进行评估,并用候选分类器替代集成中较差的弱分类器,然后用新数据块训练一个分类器作为新的候选分类器,最后采用非加权多数投票方式组合各决策树的预测结果。

Wang 等人[7]提出的AWE 算法,弱分类器根据对当前训练数据的分类准确率进行加权。该算法以数据块作为输入并维护k个弱分类器,每次用新数据块训练一个新分类器,如果弱分类器数量小于k,则将新分类器加入集成中,否则用新数据块对已有的弱分类器进行评估,并用新的分类器替代权重最低的弱分类器组成新的集成,采用加权投票的方式整合弱分类器的预测结果。

基于AWE算法的分类器权重计算方式,Brzezinski等人[31]提出AUE算法,以解决AWE在处理突变概念漂移时表现较差的问题,该算法并不删除旧分类器,而是每次从全部分类器中选出最好的k个分类器作为集成输出。Brzezinski等人[1]在AUE的基础上进一步提出AUE2算法,AUE2使用VFDT作为弱分类器,引入弱分类器增量训练的学习方式,每次用新弱分类器代替准确率最低的旧弱分类器。Brzezinski等人[8]进一步提出AUE2算法的线上学习版本OAUE(online accuracy updated ensemble),OAUE 算法每隔d个样本更新弱分类器权重。

Learn++算法是由Polikar等人[32]提出的适用于静态环境的集成学习算法。Learn++.NSE(nonstationary environments)[33]在Learn++的基础上扩展而来以适应动态环境下的概念漂移,该算法以数据块为输入,使用一个基于时间调整(time-adjusted)的损失函数来确保最近表现良好的弱分类器能获得较高的权重,最近表现不好的弱分类器则获得较低甚至是0的权重,集成并不删除低权重的弱分类器,当低权重的分类器在未来某段时间表现良好又会被赋予较高的权重,这样的一个好处是可以处理周期性的概念漂移。

KBS-Stream[34]在KBS(knowledge-based sampling)[35]的基础上进行扩展以适应概念漂移。该算法用一个LIFT值来衡量预测类标签与真实类标签之间的相关性,大于1的值表示正相关,并依据LIFT值来更新样本权重。对新的数据块,首先迭代作用于已有的弱分类器来更新样本权重,在更新的权重基础上训练新的弱分类器。KBS-Stream 每次生成两个集成变体,一个是在已有的集成上添加新的弱分类器;另一个是将新的数据块添加到前一个数据块里,并以此为训练数据更新最新的弱分类器。当下一个数据块到达后,用新数据作为测试集从两个变体中选择最优集成。

ADAIN[36]算法引入了一个权重映射函数,首先基于前一批数据及其权重来初始化新数据的初始权重,然后用新数据评估最新的弱分类器分类误差,并更新训练样本的权重,最后用新数据训练一个新的弱分类器。Chu等人[37]提出了Fast and Light Boosting算法,该算法以数据块作为输入,结合漂移检测器,如果检测到概念漂移则每个样本的权重设为1;如果没有检测到概念漂移,则根据当前集成的错误率和样本是否被正确分类来为每个样本设置权重;然后在此权重分布基础上训练一个新弱分类器。

3 批量学习集成算法CIUE

为方便对算法进行描述,首先对问题进行符号化表示,用Di表示第i个数据块,数据块中包含n个样本,分别为(x1,y1),(x2,y2),…,(xn,yn),其中xi表示特征向量,yi表示类别标签,目标是训练一个集成分类器E能够对样本正确分类,其中集成E包含k个弱分类器h1,h2,…,hk。

同大多数算法一样,CIUE 关注如何适应突变漂移和渐变漂移。当样本发生突变漂移时,理论上分类器的分类准确率会出现骤降,这是很明显的特征,因而突变漂移比较容易检测;而对于渐变漂移,短时间内分类器的准确率可能并没有很明显的变化,相较于突变漂移,渐变漂移比较难检测,它适合用被动方法去解决。通过在每一轮迭代中删除表现较差的弱分类器,增加用新数据训练的新弱分类器,充分利用集成分类器的灵活性来适应概念的逐渐变化,这是很多集成算法所采用的方案。

为方便描述,首先给出CIUE 的总体框架如图1所示。

Fig.1 Overall structure of CIUE图1 CIUE的总体结构

第2步中,依据评价指标将集成中不合格的弱分类器移到缓存中并从缓存中选择合格的弱分类器加入集成;对已有的弱分类器筛选完成后,第4步中,对筛选出的弱分类器增量训练并根据训练误差更新弱分类器权重;然后判断当前集成中包含的弱分类器数量n是否小于k,如果n小于k,则基于新数据块及其权重进行重采样获得训练数据集,并训练一个新的弱分类器添加到集成中;第6 步中,通过加权投票的方式输出集成分类器;第7步开始处理下一个数据块。

3.1 弱分类器增量训练

CIUE 作为一个批量学习集成算法,使用较小的数据块作为算法输入,对弱分类器增量训练,同时考虑到弱分类器多样性问题,在增量训练过程中动态修改样本权重,基于权重有放回地重新采样,以训练后续弱分类器并更新弱分类器权重。

在增量训练过程中,假设当前集成E中已包含m个弱分类器h1,h2,…,hm,首先为每个样本(xi,yi)赋予初始权重:

其中,|Dk|是数据块Dk包含的样本数。

计算样本集Dk在弱分类器h1上的训练误差:

其中,[h1(xi)≠yi]为判断函数,如果h1(xi)≠yi成立则返回1,否则返回0。

样本的权重更新为:

此时得到权重更新后的数据集Dk,根据权重有放回地重采样得到训练数据集,用该数据集训练新的弱分类器hm+1:

计算新弱分类器hm+1在样本集Dk上的加权错误率:

最后通过加权投票的方式整合弱分类器的预测结果作为集成的预测结果:

在增量训练过程中引入样本权重,并根据前一个弱分类器对样本的学习情况修改样本的权重,减小前一个组建分类器正确分类的样本的权重,增大前一个组建分类器错误分类的样本的权重,保证了弱分类器的多样性。

3.2 弱分类器的评价指标和缓存队列

AdaBoost.M1 算法要求弱分类器的加权训练误差ε≤1/2,训练过程中如果弱分类Ct的加权错误率εt>1/2,则重新训练弱分类器Ct。动态环境下训练数据不断变化,增量训练过程中ε>1/2 的情况更为常见,尤其是突变漂移下受旧概念的影响,在旧数据上训练的弱分类器在用新数据块进行增量训练过程中很容易出现ε>1/2 的情况。为避免此类情况的出现,CIUE不仅在增量训练过程中对误差进行控制,而且在增量训练前增加了对弱分类器筛选的过程。如果弱分类器对新数据块的分类错误率大于1/2,则移除该分类器,相对于其他集成算法的弱分类器评价指标,这样的做法对弱分类器的要求更严格。更严格的评价指标导致了每次移除的弱分类器数量是不固定的,如果概念比较稳定则不移除或者移除较少的弱分类器;如果概念发生突变则会移除较多的弱分类器。

但是如果概念发生突变后又马上恢复,即短暂突变漂移,那么在漂移点移除较多弱分类器显然是不合适的,因为这些弱分类器很快会变得有用。为此,CIUE加入了一个弱分类器的缓存队列,用于暂存从集成中移除的弱分类器,如果缓存已满则遵循“先进先出”的原则删除较早添加进队列中的弱分类器后再将从集成中移除的弱分类器添加到队列中,当缓存中的弱分类器重新变得有用后会被再次加入到集成中。

3.3 伪代码描述

算法1 描述了CIUE 算法的大体流程。第1 行,初始化集成和缓存队列为空;第2 行至第23 行循环处理每一个到达的数据块,每处理一个数据块就在第22行以加权投票方式输出一个集成分类器用于当前数据流的分类。第3行初始化样本权重;第4行从当前集成中筛选出不合格的弱分类器并保存到ls中;此时,如果当前集成的弱分类器小于k,则第6行从缓存队列中选择最多k-size(E)个满足要求的弱分类器加入集成并从队列中删除这些弱分类器,如果队列中满足要求的弱分类器数大于k-size(E),则选择出准确率最高的k-size(E)个;第9 行至第12 行对集成中的弱分类器进行增量训练;第13 行判断集成当前包含的弱分类器数量,如果仍小于k,则添加一个新的弱分类器;第18行至第21行将ls中的弱分类器加入到缓存队列中,如果队列空间不足,则遵循“先进先出”的原则从队列头部移除指定数量的弱分类器后再将弱分类器添加到集成的尾部。

算法1CIUE算法

4 实验评估

本文在多个实验中对算法进行评估,以模拟不同类型变化的场景。本章将描述所有使用的数据集,讨论实验设置,并分析实验结果。

4.1 数据集

大多数针对概念漂移的算法都使用两类数据集进行实验评估:人工数据(synthetic data)和真实数据(real data)。同大多数文献一样,本文用5个人工数据集和3个真实数据集进行实验,并与其他算法进行比较。

实验基于MOA(massive online analysis)[38]框架进行,MOA 是当前用于数据流挖掘的最流行的开源框架,该框架提供了很多数据流生成器,本文所用的人工数据集都是使用MOA 框架生成的,而真实数据集是公开可用的。首先对各数据集进行简要的描述。

SEA数据[6]:用SEA数据生成器创建一组包含突变概念漂移的数据集SEA-s,该数据集包含3 个数值型属性x1、x2、x3和4 个类别标签,每一组概念都通过两个函数的和进行定义,其中第一个函数以x1作为自变量而第二个函数以x2作为输入,x3是冗余属性。随机生成100 万个样本,每25 万个样本发生一次概念漂移,数据集包含10%的噪声。

Hyp 数据[7]:Hyperplane 是数据流分类实验中非常受欢迎的数据生成器,通过对每个连续样本稍微旋转决策边界来引入增量式的概念漂移,用该数据生成器创建包含100 万个样本的数据集Hyp-s,每个样本由10 个属性组成,每产生一个样本就修改权重使其变化0.001,数据集包含渐变漂移,除此之外该数据集还包含5%的噪声。

LED 数据[39]:LED 是一个流行的人工数据集,由24 个二进制属性组成,定义了在7 段LED 显示器上显示的数字。使用LED 数据生成器创建包含100 万个样本的数据集LED-m,该数据集包含两组逐渐漂移的概念,两组概念在50万个样本之后突然转换。

RBF数据[1]:径向基函数生成器会创建指定数量的漂移中心点,用该数据生成器创建两组数据集RBF-b 和RBF-gr,每组数据集包含100 万个样本和4个类标签,其中RBF-b 包含4 个非常短的突变漂移,而RBF-gr则包含4组循环出现的渐变漂移。

Elec 数据集[1]:Elec 数据集是来自澳大利亚新南威尔士州电力市场的真实数据集。在这个电力市场中,受到供求关系的影响,价格不是固定的。数据集包括45 312 个样本,每个样本由7 个属性组成,任务为预测电价是上涨还是下跌。

Airlines 数据集[25]:Airlines 数据集的任务是预测给定的航班是否会延误:延迟和非延迟。这个数据集包含539 383 条记录,有7 个属性(3 个数值属性和4个标称属性)。

Cov 数据集[27]:CoverType 数据集的任务是预测某个区域的森林覆盖类型,这个数据集包含581 012个实例、53个属性和7个类标签。

本文用人工数据集来衡量不同漂移类型下算法的表现,而对于真实的数据集,尽管不能明确地指出漂移发生的时间、漂移类型,但真实的数据集更能够体现算法在真实场景中的性能。表1 总结了各个数据集的详细信息。

Table 1 Characteristic of datasets表1 数据集特性

表1中,第2列为样本数量(#I),第3列是属性数量(#A),第4 列为类别标签数量(#C),第5 列为噪音占总样本数的百分比(N),第6列是数据集包含的漂移类型(T)。漂移类型S 代表突变漂移,G 代表渐变漂移,SS代表短暂突变漂移,而UN代表未知。

4.2 实验设置和结果

实验选取批量学习算法AWE、AUE2、NB(naïve Bayes)以及在线学习算法DWM作为对比算法,其中朴素贝叶斯算法作为一个没有漂移反映机制的算法被引入。AWE、朴素贝叶斯和DWM 在MOA 中都已实现,文献[1]提供了AUE2算法的具体实现。

为了使比较更有意义,为所有算法设置相同的参数值。对于集成算法AUE2、AWE、DWM和CIUE,弱分类器采用霍尔丁树,弱分类数量设置为10,数据块大小统一设置为d=500,这个大小被认为是适合基于数据块的集成的最小值[7],尽管CIUE 可以使用更小的数据块,实验中依然采用这个值。霍尔丁树的叶子节点的决策方式采用朴素贝叶斯,节点分裂的置信度δ=0.01,叶子节点在两个分割尝试间应观察的样本数gracePeriod=100,其他参数设为默认值。此外,CIUE的缓存队列大小设置为n=20。

所有的性能度量都基于数据块计算,实验过程采用test-then-train模式,在不进行处理的情况下缓存输入的样本,直到它们形成一个大小为d的数据块,每个新的数据块首先用于评估现有的分类器,然后更新分类器。

编码统一采用Java 编程语言,JDK 版本为1.8.0-17,实验在一台装备4 核i5-9300H 处理器和8 GB 内存的PC机上进行。

实验从分类精准率、内存使用、块训练时间和测试时间等方面对算法进行评价,表2~表5分别给出了上述性能指标的平均值。

Hyp-s 数据集上准确率最高的是AWE,其次是CIUE 和AUE2,而NB 和DWM 表现较差;其他数据集上CIUE的分类准确率都要优于其他算法,尤其是在真实数据集上优势更明显,比AUE2算法平均高出2~3 个百分点;比较出乎意料的是在Hyp-s 和SEA-s两组数据上,没有漂移反应机制的NB分类器要好于DWM,除此之外,NB 都是分类准确率最低的;而在平均训练时间这一指标上,CIUE则是最耗时的算法,与之最接近的是AWE算法,CIUE的训练时间大概是AUE2 算法的3 倍左右;而在平均测试时间上,CIUE和AUE2基本相当;在平均内存使用上,NB毫无疑问是占用内存最少的算法,其次是DWM 和AWE,而CIUE 和AUE2 比较占用内存的算法,CIUE 大概是AUE2的3倍左右。

Table 2 Average classification accuracy表2 平均分类准确率 %

Table 4 Average chunk testing time表4 平均测试时间 ms

综上可看出,CIUE 在各个数据集上的分类效果都表现很好,比AUE2 的分类精准率高,这是由于CIUE在弱分类器增量训练过程中保证了弱分类器的多样性,且对弱分类器的性能要求更高,此外还加入了缓存队列有效针对循环漂移和短暂性的突变漂移;准确率提高的代价是训练时间和内存使用上的增加,增量训练过程中样本权重的更新、基于权重的重采样以及队列的操作都增加了训练时间,而缓存队列的存在占据了比集成更多的空间。

为更直观地表现出各个算法在实验过程中的分类效果,绘制了各个算法在3 组数据集RBF-gr、RBF-b和Cov上的分类准确率趋势,如图2、图3和图4所示。

从图2 和图3 中可以看到在RBF-gr 和RBF-b 数据集上,CIUE 和AUE2 准确率大体相当,CIUE 略微好于AUE2,并且CIUE 和AUE2 都明显好于其他算法;DWM和AWE的分类准确率较为接近,大部分时间AWE 都要略微强于DWM;NB 是最差的分类器,并且准确率随着样本的增加而下降。

Table 3 Average chunk training time表3 平均训练时间 ms

Table 5 Average memory usage表5 平均内存使用 MB

Fig.2 Classification accuracy on RBF-gr图2 数据集RBF-gr上的分类准确率

Fig.3 Classification accuracy on RBF-b图3 数据集RBF-b上的分类准确率

Fig.4 Classification accuracy on Cov图4 数据集Cov上的分类准确率

而从图4 可以看出在Cov 数据集上,CIUE 是分类准确率最高的算法,其次是AUE2、DWM和AWE,NB 的准确率最低且远远低于其他算法;CIUE、AUE2、DWM 和AWE 算法在处理了1.00×105个样本后准确率都趋于稳定,NB则随着样本的增加准确率逐渐下降。

5 结束语

随着概念漂移的发生,机器学习模型很难维持较高的分类性能。本文提出一种基于弱分类器增量训练的批量集成算法CIUE 用于动态环境下数据流的分类问题。该算法使用小数据块增量训练弱分类器,并在增量训练过程中控制弱分类器的多样性,动态修改弱分类器的权重,基于已有弱分类器对样本的学习效果重采样来训练新弱分类器,同时加入弱分类器缓存队列以处理循环出现的概念。实验结果表明,该算法能有效应用于各种类型概念漂移下的数据流学习问题。CIUE 不需要复杂的参数,但是相对于其他算法,CIUE 需要更多的训练时间和内存占用,如何在保证分类准确率的同时减少训练时间和内存占用,是接下来要进行的工作。

猜你喜欢
分类器增量准确率
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
导弹增量式自适应容错控制系统设计
研发信息的增量披露能促进企业创新投入吗
学贯中西(6):阐述ML分类器的工作流程
提质和增量之间的“辩证”
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
基于朴素Bayes组合的简易集成分类器①
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察