首页> 中国专利> 一种数据流分类的概念漂移检测方法

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

摘要

本发明公开了一种数据流分类的概念漂移检测方法,其步骤为:①数据流分块:根据事先设定的数据块的规模d,按照数据到达的先后顺序每采集到d个训练样本就训练一个分类器。②滑动窗口调整:设定滑动窗口中分类器hi的数量K,当滑动窗口中分类器hi的数量少于K时,最新训练的分类器hi自动加入滑动窗口;当滑动窗口中分类器hi的数量等于K时,对滑动窗口中的分类器hi进行更新;③概念漂移检测:当需要进行概念检测时,使用可信多数投票法从滑动窗口中选择合适的分类器给出概念判别。本发明是一种原理简单、运行可靠、检测精度高、检测速度快、适用范围广的数据流分类的概念漂移检测方法。

著录项

  • 公开/公告号CN101827002A

    专利类型发明专利

  • 公开/公告日2010-09-08

    原文格式PDF

  • 申请/专利权人 文益民;

    申请/专利号CN201010184726.7

  • 发明设计人 文益民;

    申请日2010-05-27

  • 分类号H04L12/26(20060101);

  • 代理机构43008 湖南兆弘专利事务所;

  • 代理人赵洪;周长清

  • 地址 410208 湖南省长沙市含浦科教园湖南工业职业技术学院

  • 入库时间 2023-12-18 00:48:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-07-20

    未缴年费专利权终止 IPC(主分类):H04L12/26 授权公告日:20120509 终止日期:20150527 申请日:20100527

    专利权的终止

  • 2012-05-09

    授权

    授权

  • 2012-03-28

    专利申请权的转移 IPC(主分类):H04L12/26 变更前: 变更后: 登记生效日:20120215 申请日:20100527

    专利申请权、专利权的转移

  • 2010-10-27

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20100527

    实质审查的生效

  • 2010-09-08

    公开

    公开

说明书

技术领域

本发明主要涉及到智能信息处理技术领域,特指一种概念漂移的检测方法,适用于网络入侵检测、用户购物预测、流水线上产品分类等数据流分类问题。

背景技术

在社会实践中,有一类问题是数据所包含的概念随时间而变化,也就是概念产生漂移。自动化生产线上,相近原因的问题产品会连续出现,然后由于原因的变化而导致问题产品的特征也随之发生变化;商务活动中,顾客的购买兴趣随时间而变化;网络安全中,网络的访问模式随用户不同而变化。这些问题的共同特点是:不断产生的数据形成一个流;数据流中的新概念何时产生无法预测;数据流包含的概念的数量不确定。概念漂移检测就是从已有分类器中选择合适的分类器对新的测试数据进行类别判断,以实现对该测试数据更准确的类别判断。

数据流分类问题已经引起众多学者的关注。Schlimmer首次研究了数据流分类问题,提出了STAGGER算法(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-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),该算法首先根据一个评分标准淘汰滑动窗口中旧的分类器而保持分类器总数不变的方法实现对概念漂移的学习,然后采用多数投票算法实现对概念漂移检测。Wang等则使用带权多数投票算法实现对概念漂移检测,各分类器的权值分别与其对最新近采集的数据集的错误率成反比(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 on Data 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,其中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的类别判断,完成对概念漂移的检测。

作为本发明的进一步改进:

所述步骤3.1中,设当前分类器为hj,其中0≤j<K0,y为X的真正类别,Tj(X)为分类器hj对测试数据X的分类置信度,分类置信度的计算方法如下式(1)所示,

Tj(X)=Tp+1Tp+Fp+1ifhj(X)=yTpTp+Fp+1ifhj(X)y---(1)

上式(1)中的Tp为测试数据X在Sj中的m个近邻中被hj判断为ωj类而且又真正属于ωj类的数据的数量,而Fp为测试数据X在Sj中的m个近邻中被hj判断为ωj类而又不属于ωj类的数据的数量。

所述步骤3.2的具体流程为:首先将按从小到大排序,用数组A[K0]存储调整后的各分类置信度的下标,仍用表示排序后的值;计算Tshift[j]=Tj+1(X)-Tj(X),0≤j<K0-1;从小到大扫描数组Tshift,判断值的最大跳跃点,设为k,这样滑动窗口中下标为{A[k+1],A[k+2],...,A[K0-1]}的分类器为分类置信度较高的分类器,使用这些分类器进行多数投票,最后给出对测试数据X的类别判断

与现有技术相比,本发明的优点在于:本发明原理简单、运行可靠、检测精度高、检测速度快、适用范围广,通过依据分类置信度选择分类器,自动屏蔽了那些不太可能正确分类X的那些分类器,而尽可能选择比较有把握对X进行正确分类的那些分类器进行多数投票,从而实现概念漂移检测。因此,只要滑动窗口中包含有比较有把握对X进行正确分类的分类器,滑动窗口的大小对X的分类不构成影响,从而降低了滑动窗口大小对概念漂移检测的影响。根据采用本方法所进行的多个实验表明:本发明提高了泛化能力,能在新概念产生的第一时间内检测到概念漂移,对概念漂移的检测能力和新概念的学习能力不受滑动窗口大小的影响。

附图说明

图1是本发明的流程示意图;

图2是本发明在具体实例中的详细流程示意图;

图3是本发明中进行概念漂移检测时的流程示意图;

图4是滑动窗口中最多可包含13个分类器时准确率比较的示意图;

图5是滑动窗口中最多可包含25个分类器时准确率比较的示意图;

图6是滑动窗口中最多可包含37个分类器时准确率比较的示意图;

图7是滑动窗口中最多可包含50个分类器时准确率比较的示意图;

图8是滑动窗口中最多可包含67个分类器时准确率比较的示意图;

图9是数据流分类中如何使用训练集和测试集的示意图;

图10是当滑动窗口中的分类器数量K0<K时滑动窗口调整示意图;

图11是当滑动窗口中的分类器数量K0=K时滑动窗口调整示意图。

具体实施方式

以下将结合说明书附图和具体实施例对本发明做进一步详细说明。

如图1、图2和图3所示,本发明数据流分类的概念漂移检测方法,其具体流程为:

1、数据流分块:

根据经验设定数据块的规模d,按照数据流中数据到达的先后顺序每采集到d个数据,就由专家给出这d个数据的类别并以该d个数据所组成的数据块为一个训练集,将所采集到的数据块依顺序记为Si,其中0≤i且i的最大值由当前训练样本的总数量决定,第一个数据块记为S0;在每个Si上训练一个分类器hi,以Si作为测试集由hi给出测试结果TRi,存储Si、hi和TRi

2、滑动窗口调整:

事先设定滑动窗口中分类器的数量K,当滑动窗口中分类器数量少于K时,最新训练的分类器自动加入滑动窗口;而当滑动窗口中分类器数量等于K时,对滑动窗口中的分类器进行更新。即当1≤i<K+1时,分类器hi-1自动加入滑动窗口,记为Ei-1(如图2和图10所示);当K+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)中的方法,分别计算滑动窗口中的分类器和分类器hi-1的评分。当评分最小的分类器位于滑动窗口中时(设为Ej0),使用分类器hi-1替换Ej0,同时使用Si-1和TRi-1更新Sj0和TRj0(如图2和图11所示)。

学习算法的参数与具体问题相关。如图9所示,d值可设定为4,K值可设定为6,i值最大为5。

3、概念漂移检测:

按照与训练数据流中概念出现的先后顺序一致的顺序将测试数据输入滑动窗口中的分类器,可检查每学习完一个训练数据块后滑动窗口中的分类器对概念漂移的检测能力(如图9所示)。当需要对测试数据X进行概念漂移检测时(设当前滑动窗口中的分类器数量为K0,K0≤K)分两步进行:

第一步:将测试数据X输入滑动窗口中的所有分类器,顺序计算由分类器给出的分类结果和分类置信度。设当前分类器为hj(0≤j<K0),y为X的真正类别,Tj(X)为分类器hj对X的分类置信度。分类置信度的计算方法如式(1)所示。

Tj(X)=Tp+1Tp+Fp+1ifhj(X)=yTpTp+Fp+1ifhj(X)y---(1)

(1)中的Tp为X在Sj中的m个近邻中被hj判断为ωj类而且又真正属于ωj类的数据的数量,而Fp为X在Sj中的m个近邻中被hj判断为ωj类而又不属于ωj类的数据的数量。在计算滑动窗口中各分类器对X的分类置信度时,需要事先设定邻域的大小m,m的大小与具体问题相关,需要依靠经验才能确定。

第二步:自动选择滑动窗口中分类置信度较高的分类器进行多数投票。方法如下:对按从小到大排序,用数组A[K0]存储调整后的各分类置信度的下标,仍用表示排序后的值。计算Tshift[j]=Tj+1(X)-Tj(X),0≤j<K0-1。从小到大扫描数组Tshift,判断值的最大跳跃点,设为k。这样滑动窗口中下标为{A[k+1],A[k+2],...,A[K0-1]}的分类器为分类置信度较高的分类器。使用这些分类器进行多数投票,最后给出对测试数据X的类别判断。

通过以上步骤,可为测试数据X从已有分类器中(滑动窗口中包含的分类器)选择合适的分类器来对其进行类别判断,从而实现对概念漂移的检测。

应用实例:实验平台为2.8GHz CPU和4G RAM;操作系统平台为windows;基分类器训练使用libSVM,缓存的大小使用缺省设置。

实验使用了测试数据流分类算法的经典数据集SEA。该数据集中数据为三维向量(x1,x2,x3),xi∈R,0.0≤xi≤10.0。概念被顺序描述为x1+x2≤b,b∈{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算法则需要等到属于新概念的若干个数据块学习了以后泛化能力才能得到提升;(2)滑动窗口大小为K=37或K=50时,SEA算法对新概念的识别能力下降,对新概念的检测出现延时,而且对新概念的识别能力难以恢复,而CMV_SEA算法对新概念的识别能力很稳定。从图8可以看出:从概念b=7变化到第二个b=8概念时,CMV_SEA算法没有出现像SEA算法一样在当第二个b=8概念出现前后的准确率出现大幅度变化,而是保持不变。

由图4-图8可以知道本发明的效果在于:通过依据分类置信度选择分类器,自动屏蔽了那些不太可能正确分类X的那些分类器,而尽可能选择比较有把握对X进行正确分类的那些分类器进行多数投票,从而实现概念漂移检测。因此,只要滑动窗口中包含有比较有把握对X进行正确分类的分类器,滑动窗口的大小对X的分类不构成影响,从而降低了滑动窗口大小对概念漂移检测的影响。根据采用本方法所进行的多个实验表明:本发明提高了泛化能力;能在新概念产生的第一时间内检测到概念漂移;对概念漂移的检测能力和新概念的学习能力不受滑动窗口大小的影响。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号