一种数据流分类的概念漂移检测方法

文档序号:7749941阅读:191来源:国知局
专利名称:一种数据流分类的概念漂移检测方法
技术领域
本发明主要涉及到智能信息处理技术领域,特指一种概念漂移的检测方法,适用 于网络入侵检测、用户购物预测、流水线上产品分类等数据流分类问题。
背景技术
在社会实践中,有一类问题是数据所包含的概念随时间而变化,也就是概念产生 漂移。自动化生产线上,相近原因的问题产品会连续出现,然后由于原因的变化而导致问题 产品的特征也随之发生变化;商务活动中,顾客的购买兴趣随时间而变化;网络安全中,网 络的访问模式随用户不同而变化。这些问题的共同特点是不断产生的数据形成一个流; 数据流中的新概念何时产生无法预测;数据流包含的概念的数量不确定。概念漂移检测就 是从已有分类器中选择合适的分类器对新的测试数据进行类别判断,以实现对该测试数据 更准确的类别判断。数据流分类问题已经引起众多学者的关注。Schlimmer首次研究了数据流分 IS, dij 7 STAGGER M- ^ (Incremental learning from noisy data [J] Machine
Learning, 1986,1(3) :317_354 —种噪声数据的增量学习算法[J].机器学习,1986,1 (3) 317-354)。Widmer、Salganicoff、Harries 和 Domingos 等分别提出了 FLORA、PECS、SPLICE 和VFDT。王涛等改进VFDT后提出了 fVFDT。Wang等的研究表明以上算法所学习到的模 型只反映了部分最新数据包含的概念,这通常会导致较大误差(Mining concept-drifting data streams usingensemble classifiers[C]//Proceeding of the 9th ACM SIGKDD International Conference onKnowledge Discovery and Data Mining. USA,Washington, 2003 =226-23 5使用集成分类器挖掘有概念漂移的数据流[C]//第9届知识发现与数据 挖掘国际会议论文集,美国,华盛顿,2003:226-235)。因此,国内外学者开始尝试利用集 成学习策略来处理数据流分类的概念漂移问题。Street等提出了 SEA算法(A streaming ensemble algorithm for large-sealeclassification[C]//Proceeding of the 7th ACM SIGKDD International Conference on KnowledgeDiscovery and Data Mining. USA, San Francisco, 2001 377-382 一种用于解决大规模分类问题的集成分类器流算法[C]//第七 届知识发现与数据挖掘国际会议会议论文集。美国,圣弗兰西斯科,2001 :377-382),该算 法首先根据一个评分标准淘汰滑动窗口中旧的分类器而保持分类器总数不变的方法实现 对概念漂移的学习,然后采用多数投票算法实现对概念漂移检测。Wang等则使用带权多 数投票算法实现对概念漂移检测,各分类器的权值分别与其对最新近采集的数据集的错误 率成反t匕(Mining concept-drifting data streams using ensembleclassifiers [C] // Proceeding of the 9th ACM SIGKDD International Conference on KnowledgeDiscovery and Data Mining. USA,Washington,2003 :226_23 5使用集成分类器挖掘有概念漂移的 数据流[C]//第9届知识发现与数据挖掘国际会议论文集,美国,华盛顿,2003 :226-235)。 Kolter 等提出了动态带权多数投票算法(Dynamic weighted majority :a new ensemble method fortracking concept drift[C]//Proceedings of the 3th IEEE Conference onData Mining. USA, LosAlamitos,2003 :123-130 —种跟踪概念漂移的动态带权多数投票法[C]//第3届数据挖掘国际会议.美国,Los Alamitos, 2003 123-130)。该算法根据最 新近采集到的一个样本对滑动窗口中的分类器的权值进行修改,同时还使用这个样本对滑 动窗口中的分类器进行增量学习或训练一个新的分类器,以提高算法对概念漂移的检测速 度。孙岳等提出了一种基于多分类器的概念漂移挖掘算法(基于多分类器的数据流中的概 念漂移挖掘[J]。自动化学报,2008,34(1) :93-96)。相对于SEA算法,Wang、Kolter和孙 岳的算法的共同特点是根据权值淘汰滑动窗口中的分类器,同时利用权值实现对概念漂移 的检测,而权值的计算都是根据最新近采集的样本。因此,以上全部算法的有效实现都有个 前提——事先需要设置好滑动窗口的大小。然而,在实际问题中很难做到这一点。

发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一 种原理简单、运行可靠、检测精度高、检测速度快、适用范围广的数据流分类的概念漂移检 测方法。为解决上述技术问题,本发明采用以下技术方案一种数据流分类的概念漂移检测方法,其特征在于步骤为①数据流分块设定数据块的规模d,按照数据流中数据到达的先后顺序,每采集 到d个数据,就给出这d个数据的类别并以该d个数据所组成的数据块为一个训练集,将所 采集到的数据块依顺序记为Si,其中O < i且i的最大值由当前训练样本的总数量决定,第 一个数据块记为Stl ;在每个Si上训练一个分类器hi;以Si作为测试集由Iii给出测试结果 TRi,存储 Sp Iii 和 TRi ;②滑动窗口调整设定滑动窗口中分类器Iii的数量K,当滑动窗口中分类器比的 数量少于K时,最新训练的分类器hi自动加入滑动窗口 ;当滑动窗口中分类器hi的数量等 于K时,对滑动窗口中的分类器hi进行更新;③概念漂移检测设当前滑动窗口中分类器Iii的数量为Ktl,KtlS K,当需要对测试 数据X进行概念漂移检测时分两步进行3. 1、将测试数据X输入滑动窗口中的所有分类器hi,按顺序计算由分类器
给出的分类结果和分类置信度,3. 2、自动选择滑动窗口中分类置信度较高的分类器进行多数投票,给出对测试数 据X的类别判断,完成对概念漂移的检测。作为本发明的进一步改进所述步骤3. 1中,设当前分类器为Iij,其中0彡j < Ktl, y为X的真正类别,Tj(X) 为分类器~对测试数据X的分类置信度,分类置信度的计算方法如下式(1)所示,<formula>formula see original document page 4</formula>(1)上式⑴中的Tp为测试数据X在&中的m个近邻中被h判断为类而且又真 正属于ω」类的数据的数量,而Fp为测试数据父在5」中的m个近邻中被hj判断为ω」类而 又不属于ω」类的数据的数量。
所述步骤3. 2的具体流程为首先将^(^,{(幻,…,?^化)按从小到大排序,用数 组A[KJ存储调整后的各分类置信度的下标,仍用L(I)A (I),... Jy(I)表示排序后的值; 计算Tshift [j] = TJ+1⑴兄(X),0 < j < K0-I ;从小到大扫描数组Tshift,判断值的最大跳跃 点,设为k,这样滑动窗口中下标为{A[k+l],A[k+2],...,A[K0-l]}的分类器为分类置信度 较高的分类器,使用这些分类器进行多数投票,最后给出对测试数据X的类别判断与现有技术相比,本发明的优点在于本发明原理简单、运行可靠、检测精度高、检 测速度快、适用范围广,通过依据分类置信度选择分类器,自动屏蔽了那些不太可能正确分 类X的那些分类器,而尽可能选择比较有把握对X进行正确分类的那些分类器进行多数投 票,从而实现概念漂移检测。因此,只要滑动窗口中包含有比较有把握对X进行正确分类的 分类器,滑动窗口的大小对X的分类不构成影响,从而降低了滑动窗口大小对概念漂移检 测的影响。根据采用本方法所进行的多个实验表明本发明提高了泛化能力,能在新概念产 生的第一时间内检测到概念漂移,对概念漂移的检测能力和新概念的学习能力不受滑动窗 口大小的影响。


图1是本发明的流程示意图;图2是本发明在具体实例中的详细流程示意图;图3是本发明中进行概念漂移检测时的流程示意图;图4是滑动窗口中最多可包含13个分类器时准确率比较的示意图;图5是滑动窗口中最多可包含25个分类器时准确率比较的示意图;图6是滑动窗口中最多可包含37个分类器时准确率比较的示意图;图7是滑动窗口中最多可包含50个分类器时准确率比较的示意图;图8是滑动窗口中最多可包含67个分类器时准确率比较的示意图;图9是数据流分类中如何使用训练集和测试集的示意图;图10是当滑动窗口中的分类器数量Ktl < K时滑动窗口调整示意图;图11是当滑动窗口中的分类器数量Ktl = K时滑动窗口调整示意图。
具体实施例方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图1、图2和图3所示,本发明数据流分类的概念漂移检测方法,其具体流程为1、数据流分块根据经验设定数据块的规模d,按照数据流中数据到达的先后顺序每采集到d个 数据,就由专家给出这d个数据的类别并以该d个数据所组成的数据块为一个训练集,将所 采集到的数据块依顺序记为Si,其中0 < i且i的最大值由当前训练样本的总数量决定,第 一个数据块记为Stl ;在每个Si上训练一个分类器hi;以Si作为测试集由hi给出测试结果 TRi,存储 Si、Iii 和 TRit52、滑动窗口调整事先设定滑动窗口中分类器的数量K,当滑动窗口中分类器数量少于K时,最新训练的分类器自动加入滑动窗口 ;而当滑动窗口中分类器数量等于K时,对滑动窗口中的分类器进行更新。即当1彡i <K+1时,分类器Iv1自动加入滑动窗口,记为Eh(如图2和 图10所示);当Κ+1彡i时,则对滑动窗口中的分类器进行更新。更新的方式可以采取文 献(A streamingensemble algorithm for large-scale classification[C]//Proceeding of the 7th ACM SIGKDDInternational Conference on Knowledge Discovery and Data Mining. USA, San Francisco, 2001 :377_382—种用于解决大规模分类问题的集成分类器流 算法[C]//第七届知识发现与数据挖掘国际会议会议论文集。美国,圣弗兰西斯科,2001 377-382)中的方法,分别计算滑动窗口中的分类器和分类器Iv1的评分。当评分最小的分 类器位于滑动窗口中时(设为Ejtl),使用分类器Iv1替换Ejtl,同时使用Sp1和TRh更新Sj0 和TR^1(如图2和图11所示)。学习算法的参数与具体问题相关。如图9所示,d值可设定为4,K值可设定为6, i值最大为5。3、概念漂移检测按照与训练数据流中概念出现的先后顺序一致的顺序将测试数据输入滑动窗口 中的分类器,可检查每学习完一个训练数据块后滑动窗口中的分类器对概念漂移的检测能 力(如图9所示)。当需要对测试数据X进行概念漂移检测时(设当前滑动窗口中的分类 器数量为Ktl,K0 ^ K)分两步进行第一步将测试数据X输入滑动窗口中的所有分类器,顺序计算由分类器 Zz0 A,...,/^^给出的分类结果和分类置信度。设当前分类器为hj(0彡j < Ktl),y为X的真 正类别,L(X)为分类器~对X的分类置信度。分类置信度的计算方法如式(1)所示。<formula>formula see original document page 6</formula>(1)(1)中的Tp为父在5」中的m个近邻中被hj判断为ω」类而且又真正属于《」类 的数据的数量,而Fp为X在&中的m个近邻中被h判断为类而又不属于类的数据 的数量。在计算滑动窗口中各分类器对X的分类置信度时,需要事先设定邻域的大小m,m 的大小与具体问题相关,需要依靠经验才能确定。第二步自动选择滑动窗口中分类置信度较高的分类器进行多数投票。方法如 下对L(X)J1(Z),…石。JZ)按从小到大排序,用数组Α[κ。]存储调整后的各分类置信度的 下标,仍用『。(^,{(々,...,、—!(幻表示排序后的值。计算TshiftU] = TJ+1 (X)-Tj(X)jO ( j <&-1。从小到大扫描数组Tshift,判断值的最大跳跃点,设为k。这样滑动窗口中下标为 {A[k+l],A[k+2],...,A[K0-l]}的分类器为分类置信度较高的分类器。使用这些分类器进 行多数投票,最后给出对测试数据X的类别判断。通过以上步骤,可为测试数据X从已有分类器中(滑动窗口中包含的分类器)选 择合适的分类器来对其进行类别判断,从而实现对概念漂移的检测。应用实例实验平台为2. 8GHz CPU和4G RAM ;操作系统平台为windows ;基分类 器训练使用libSVM,缓存的大小使用缺省设置。实验使用了测试数据流分类算法的经典数据集SEA。该数据集中数据为三维向量 (x1 x2, X3), Xi e R,0. 0 ^ Xi ^ 10. O0 概念被顺序描述为 x^x2 彡 b,b e {8,9,7,9. 5},x3 与X1和X2不相关。因此,SEA数据集顺序包含4种SEA概念。对每个概念分别随机产生12500个数据用于训练和2500个数据用于测试。在实验中d = 500、m = 5。由于d = 500, 因此每种概念的训练集顺序包含了 25个数据块。滑动窗口被设置成K = 25时,能保证在 某个时刻滑动窗口中的各个基分类器同属于一个概念。实验分两种,第一种实验中滑动窗口包含的概念不超过3种。在该实验中,概念被先后设置成b = 8、b = 9、b = 7、b = 9.5。因此,数据流中要出现3次概念漂移。在各次 实验中,滑动窗口被分别设置成K = 13, K = 25, K = 37, K = 50。第二种实验中滑动窗口 大小被设置成K = 63,滑动窗口中包含的概念至少有3种。概念被先后设置成b = 8、b = 9、b = 7、b = 8、b = 9. 5,也就是概念b = 8被重复一次。数据流中出现4次概念漂移。因 此,当第二个b = 8的概念出现时,滑动窗口中肯定还包含有属于第一个b = 8概念的数据 块。各实验被重复100次,实验结果为100次实验的平均值。实验结果如图 4-图 8 所示。图 4-图 8 中的 SEA 方法来自(A streaming ensemble algorithm for large-scaleclassification[C]//Proceeding of the 7th ACM SIGKDD International Conference on KnowledgeDiscovery and Data Mining. USA, San Francisco,2001 377-382 —种用于解决大规模分类问题的集成分类器流算法[C]//第七届知识发现与数据 挖掘国际会议会议论文集。美国,圣弗兰西斯科,2001 :377-382),而CMV-SEA是本发明提出 的方法。从图4-图7可以看出(1)在各种滑动窗口大小条件下,CMV_SEA算法对概念漂移 的检测速度都比SEA算法要快。当属于新概念的第一个数据块被学习后,CMV_SEA算法的泛 化能力马上得到明显提升。而SEA算法则需要等到属于新概念的若干个数据块学习了以后 泛化能力才能得到提升;⑵滑动窗口大小为K = 37或K = 50时,SEA算法对新概念的识 别能力下降,对新概念的检测出现延时,而且对新概念的识别能力难以恢复,而CMV_SEA算 法对新概念的识别能力很稳定。从图8可以看出从概念b = 7变化到第二个b = 8概念 时,CMV_SEA算法没有出现像SEA算法一样在当第二个b = 8概念出现前后的准确率出现 大幅度变化,而是保持不变。由图4-图8可以知道本发明的效果在于通过依据分类置信度选择分类器,自动 屏蔽了那些不太可能正确分类X的那些分类器,而尽可能选择比较有把握对X进行正确分 类的那些分类器进行多数投票,从而实现概念漂移检测。因此,只要滑动窗口中包含有比较 有把握对X进行正确分类的分类器,滑动窗口的大小对X的分类不构成影响,从而降低了滑 动窗口大小对概念漂移检测的影响。根据采用本方法所进行的多个实验表明本发明提高 了泛化能力;能在新概念产生的第一时间内检测到概念漂移;对概念漂移的检测能力和新 概念的学习能力不受滑动窗口大小的影响。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例, 凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护 范围。
权利要求
一种数据流分类的概念漂移检测方法,其特征在于步骤为①数据流分块设定数据块的规模d,按照数据流中数据到达的先后顺序,每采集到d个数据,就给出这d个数据的类别并以该d个数据所组成的数据块为一个训练集,将所采集到的数据块依顺序记为Si,其中0≤i且i的最大值由当前训练样本的总数量决定,第一个数据块记为S0;在每个Si上训练一个分类器hi,以Si作为测试集由hi给出测试结果TRi,存储Si、hi和TRi;②滑动窗口调整设定滑动窗口中分类器hi的数量K,当滑动窗口中分类器hi的数量少于K时,最新训练的分类器hi自动加入滑动窗口;当滑动窗口中分类器hi的数量等于K时,对滑动窗口中的分类器hi进行更新;③概念漂移检测设当前滑动窗口中分类器hi的数量为K0,K0≤K,当需要对测试数据X进行概念漂移检测时分两步进行3.1、将测试数据X输入滑动窗口中的所有分类器hi,按顺序计算由分类器给出的分类结果和分类置信度,3.2、自动选择滑动窗口中分类置信度较高的分类器进行多数投票,给出对测试数据X的类别判断,完成对概念漂移的检测。FDA0000021792000000011.tif
2.根据权利要求1所述的数据流分类的概念漂移检测方法,其特征在于所述步骤3.1 中,设当前分类器为~,其中O彡j < Kc^y为X的真正类别,L (X)为分类器h对测试数据 X的分类置信度,分类置信度的计算方法如下式(1)所示,<formula>formula see original document page 0</formula>上式(1)中的Tp为测试数据X在h中的m个近邻中被h判断为类而且又真正属 于类的数据的数量,而Fp为测试数据X在。中的m个近邻中被h判断为类而又不 属于类的数据的数量。
3.根据权利要求1所述的数据流分类的概念漂移检测方法,其特征在于,所述步骤 3.2的具体流程为首先将Γ。(Ζ),{(^,…,、乂幻按从小到大排序,用数组A[K。]存储调整 后的各分类置信度的下标,仍用L^aMZUk1(Z)表示排序后的值;计算Tshift[j]= Tj+100-I^X),0彡j < K0-I ;从小到大扫描数组Tshift,判断值的最大跳跃点,设为k,这样滑 动窗口中下标为{A [k+1],A [k+2],...,AKtl-IB的分类器为分类置信度较高的分类器,使 用这些分类器进行多数投票,最后给出对测试数据X的类别判断。
全文摘要
本发明公开了一种数据流分类的概念漂移检测方法,其步骤为①数据流分块根据事先设定的数据块的规模d,按照数据到达的先后顺序每采集到d个训练样本就训练一个分类器。②滑动窗口调整设定滑动窗口中分类器hi的数量K,当滑动窗口中分类器hi的数量少于K时,最新训练的分类器hi自动加入滑动窗口;当滑动窗口中分类器hi的数量等于K时,对滑动窗口中的分类器hi进行更新;③概念漂移检测当需要进行概念检测时,使用可信多数投票法从滑动窗口中选择合适的分类器给出概念判别。本发明是一种原理简单、运行可靠、检测精度高、检测速度快、适用范围广的数据流分类的概念漂移检测方法。
文档编号H04L12/26GK101827002SQ20101018472
公开日2010年9月8日 申请日期2010年5月27日 优先权日2010年5月27日
发明者文益民 申请人:文益民
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1