一种动态数据环境下的数据流分类方法技术

技术编号:8533119 阅读:151 留言:0更新日期:2013-04-04 16:18
本发明专利技术涉及智能信息处理技术领域,公开了一种动态数据环境下的数据流分类方法,包括:对数据流进行分块,针对不同的概念漂移建立不同的分类器并保存到分类器-特征数据池中,当新数据块到来时利用KL散度判断是否发生概念漂移,若概念漂移没有发生则使用前一时刻的分类器进行分类,否则在分类器-特征数据池中利用KL散度寻找适合的分类器进行分类,若无符合的分类器则训练一个新的分类器加入分类器-特征数据池中,同时对过时的分类器进行删除。本发明专利技术可以同时检测平稳的以及突变的概念漂移;在发生概念漂移的情况下,通过选取合适的分类器进行分类保证模型的效率;通过删除过时的分类器保证模型的性能。

【技术实现步骤摘要】

本专利技术涉及智能信息处理
,特别涉及,适用于网络入侵检测,网络安全监控、传感器数据监控和电网供电等方面。
技术介绍
随着信息技术的发展,数据流作为一种特殊的数据越来越受到工业界的关注。数据流指以高速传输的规模巨大的数据序列,并只能以事先规定好的顺序被读取。在现实应用中,由于数据流通常以非常高的速度传输,对数据流数据的计算、存储都将变得很困难,通常只有在数据最初到达时有机会对其进行一次处理,其他时候很难再存取到这些数据。此外,在数据流产生的过程中,数据是不稳定的,存在数据分布随时间改变的现象,即所谓的概念漂移,因此针对静态数据的分类算法在处理动态数据环境下的数据流时往往失效。针对动态数据环境下的分类问题,现有的方法包括基于实例的方法以及基于集成学习的方法。基于实例的方法通常使用一个全局分类器对数据进行处理,优点是处理速度快,但由于没有有效的利用历史信息,并不能很好地处理概念漂移问题。基于集成学习的方法通过多个分类器进行共同决策。集成学习的方法可以解决基于实例方法里没有有效利用历史信息的问题,但现有的方法多数采用盲目学习的方法,不能有效的处理突变的动态数据现象,即所谓的突变的概念漂移。本领域中存在对提供改进的用于动态数据环境下的数据流分类方法的需要。
技术实现思路
本专利技术的目的是为解决上述现有技术中存在的问题,提供。为达到上述目的,本专利技术采用的技术方案是提供了,具体包括以下步骤 步骤100 :数据流接收模块102从数据流101中按照顺序接收数据;所述数据流指高速传输的规模巨大的数据序列,其中数据序列只能以事先规定好的顺序被读取;数据流通常以非常高的速度传输,只有在数据最初到达时有机会对其进行一次处理;所述动态数据环境是指数据流产生的过程中,数据是不稳定的,即数据的分布是随时间改变的; 步骤200 :数据流划分模块103读取步骤100中的数据流数据,并根据数据流中数据到达的先后顺序对数据流进行分块;所述数据流划分模块103划分得到的数据块中,包含m条记录;m是固定变量,由使用者指定; 步骤300 :经数据划分模块103分块后分别向kdq树模块104、分类器训练模块105、概念漂移检测模块107给出所需的数据,kdq树模块104在数据流划分模块103得到的数据块上建立kdq树,并计算kdq树对应的阈值;其中,所述kdq树对应的阈值使用基于KL散度的自助法计算给出或由使用者直接给定; 步骤400 :分类器训练模块105使用数据块来训练各类分类器;步骤500 :将kdq树模块104所建立的kdq树、kdq树对应的阈值、上述分类器训练模块训练得到的分类器将放入分类器-特征数据池106中保存,以提供给概念漂移检测模块107、分类器选择模块108进行概念漂移的检测及发生概念漂移时选择合适的分类器时使用; 步骤600 :概念漂移检测模块107在数据流划分模块103得到一个新的数据块,并检测新数据块是否发生概念漂移,概念漂移检测模块107的检测结果根据由原始数据块、新数据块的KL散度值与分类器-特征数据池106中保存的kdq树对应阈值的比较结果给出;在计算KL散度时需要对原始数据块进行离散化,离散化的结果由数据块通过kdq树的结果给出; 步骤700 :当发生概念漂移时,分类器选择模块108从所述分类器-特征数据池106中选出适合当前数据块的分类器;利用所述分类器对当前数据块进行分类,所述分类器选择模块108的选择结果根据原始数据块、新数据块的KL散度值及分类器-特征数据池106中kdq树对应阈值的比较结果给出; 如果所述分类器选择模块108从分类器-特征数据池106中无法选出适合当前数据块的分类器,则利用kdq树模块104在当前数据块上建立新的kdq树,并计算kdq树对应的阈值,再利用分类器训练模块105在当前数据块上训练一个新的分类器,将kdq树、kdq树对应的阈值及所述分类器放入所述分类器-特征数据池106中;如果所述概念漂移没有发生,则使用当前分类器进行分类,当前分类器为对最近时刻数据块分类的分类器; 步骤800 :分类器遗忘模块109对分类器-特征数据池106中的kdq树、kdq树对应阈值及分类器进行选择性删除。所述步骤300中建立kdq树包括以下子步骤 步骤310:选定数据块中的第一个维度作为当前维度,在当前维度中寻找中位数值V,中位数值的寻找,要求将数据块中样本按照数量划分为等规模的两个子集,当前维度的数值大于V的数据以及当前维度的数值小于或者等于V的数据数量基本相等; 步骤320 :在上述所得到的子集中计算满足划分条件的下一维度,并且使用满足条件的维度作为当前维度,重复寻找中位数值的过程,继续划分数据子集,直到满足终止条件为止; 当前维度满足划分条件为当前维度数据的最大值小值之差大于ε,ε值由用户指定; 所述终止条件为当前数据块的数据规模小于nmin,或者每一维度的最大最小值之差均小于ε。所述kdq树模块104采用自助法给定kdq树对应的相关阈值,包括以下步骤 步骤KlOO :从原始数据块中有放回的抽取N条数据,即所抽取的数据并不从原始数据块中删除,利用抽取得到的数据构成新的数据块; 步骤K200 :利用kdq树对新数据块进行划分得到离散化结果; 步骤K300 :根据所述KL散度的计算公式计算新数据块与原始数据块的KL散度值,将计算结果加入队列中; 所述KL散度的计算公式为本文档来自技高网...

【技术保护点】
一种动态数据环境下的数据流分类方法,具体包括以下步骤:步骤100:数据流接收模块(102)从数据流(101)中按照顺序接收数据;步骤200:数据流划分模块(103)读取步骤100中的数据流数据,并根据数据流中数据到达的先后顺序对数据流进行分块;所述数据流划分模块(103)划分得到的数据块中,包含m条记录;m是固定变量,由使用者指定;步骤300:经数据划分模块(103)分块后分别向kdq树模块(104)、分类器训练模块(105)、概念漂移检测模块(107)给出所需的数据,?kdq树模块(104)在数据流划分模块(103)得到的数据块上建立kdq树,并计算kdq树对应的阈值;其中,所述kdq树对应的阈值使用基于KL散度的自助法计算给出或由使用者直接给定;步骤400:分类器训练模块(105)使用步骤200得到的数据块训练各类分类器;步骤500:将kdq树模块(104)所建立的kdq树、kdq树对应的阈值、步骤400分类器训练模块训练得到的分类器将放入分类器?特征数据池(106)中保存,以提供给概念漂移检测模块(107)、分类器选择模块(108)进行概念漂移的检测及发生概念漂移时选择合适的分类器时使用;步骤600:概念漂移检测模块(107)在数据流划分模块(103)得到一个新的数据块,并检测新数据块是否发生概念漂移,概念漂移检测模块(107)的检测结果根据由原始数据块、新数据块的KL散度值与分类器?特征数据池(106)中保存的kdq树对应阈值的比较结果给出;在计算KL散度时需要对原始数据块进行离散化,离散化的结果由数据块通过kdq树的结果给出;步骤700:当发生概念漂移时,分类器选择模块(108)从所述分类器?特征数据池(1?06)中选出适合当前数据块的分类器;利用所述分类器对当前数据块进行分类,所述分类器选择模块(108)的选择结果根据原始数据块、新数据块的KL散度值及分类器?特征数据池(106)中kdq树对应阈值的比较结果给出;????如果所述分类器选择模块(108)从分类器?特征数据池(106)中无法选出适合当前数据块的分类器,则利用kdq树模块(104)在当前数据块上建立新的kdq树,并计算kdq树对应的阈值,再利用分类器训练模块(105)在当前数据块上训练一个新的分类器,将kdq树、kdq树对应的阈值及所述分类器放入所述分类器?特征数据池(106)中;????如果所述概念漂移没有发生,则使用当前分类器进行分类,当前分类器为:对最近时刻数据块分类的分类器;步骤800:分类器遗忘模块(109)对分类器?特征数据池(106)中的kdq树、kdq树对应阈值及分类器进行选择性删除。...

【技术特征摘要】
1.一种动态数据环境下的数据流分类方法,具体包括以下步骤 步骤100 :数据流接收模块(102)从数据流(101)中按照顺序接收数据; 步骤200 :数据流划分模块(103)读取步骤100中的数据流数据,并根据数据流中数据到达的先后顺序对数据流进行分块;所述数据流划分模块(103)划分得到的数据块中,包含m条记录;m是固定变量,由使用者指定; 步骤300:经数据划分模块(103)分块后分别向kdq树模块(104)、分类器训练模块(105)、概念漂移检测模块(107)给出所需的数据,kdq树模块(104)在数据流划分模块(103)得到的数据块上建立kdq树,并计算kdq树对应的阈值;其中,所述kdq树对应的阈值使用基于KL散度的自助法计算给出或由使用者直接给定; 步骤400 :分类器训练模块(105)使用步骤200得到的数据块训练各类分类器; 步骤500 :将kdq树模块(104)所建立的kdq树、kdq树对应的阈值、步骤400分类器训练模块训练得到的分类器将放入分类器-特征数据池(106)中保存,以提供给概念漂移检测模块(107)、分类器选择模块(108)进行概念漂移的检测及发生概念漂移时选择合适的分类器时使用; 步骤600 :概念漂移检测模块(107)在数据流划分模块(103)得到一个新的数据块,并检测新数据块是否发生概念漂移,概念漂移检测模块(107)的检测结果根据由原始数据块、新数据块的KL散度值与分类器-特征数据池(106)中保存的kdq树对应阈值的比较结果给出;在计算KL散度时需要对原始数据块进行离散化,离散化的结果由数据块通过kdq树的结果给出; 步骤700:当发生概念漂移时,分类器选择模块(108)从所述分类器-特征数据池(I06)中选出适合当前数据块的分类器;利用所述分类器对当前数据块进行分类,所述分类器选择模块(108)的选择结果根据原始数据块、新数据块的KL散度值及分类器-特征数据池(106)中kdq树对应阈值的比较结果给出;如果所述分类器选择模块(108)从分类器-特征数据池(106)中无法选出适合当前数据块的分类器,则利用kdq树模块(104)在当前数据块上建立新的kdq树,并计算kdq树对应的阈值,再利用分类器训练模块(105)在当前数据块上训练一个新的分类器,将kdq树、kdq树对应的阈值及所述分类器放入所述分类器-特征数据池(106)中;如果所述概念漂移没有发生,则使用当前分类器进行分类,当前分类器为对最近时刻数据块分类的分类器; 步骤800 :分类器遗忘模块(109)对分类器-特征数据池(106)中的kdq树、kdq树对应阈值及分类器进行选择性删除。2.根据权利要求1所述的一种动态数据环境下的数据流分类方法,其特征在于,所述步骤300中建立kdq树包括以下子步骤 步骤310:选定数据块中的第一个维度作为当前维度,在当前维度中寻找中位数值V,中位数值的寻找,要求将数据块中样本按照数量划分为等规模的两个子集,即当前维度的数值大于V的数据以及当前维度的数值小于或等于V的数据数量基本相等; 步骤320 :在上述所得到的子集中计算满足划分条件的下一维度,并且使用满足条件的维度作为当前维度,重复寻找中位数值的过程,继续划分数据子集,直到满足终止条件为止;当前维度满足划分条件为当前维度数据的最大值小值之差大于ε,ε值由用户指定; 所述终止条件为当前数据块的数据规模小于nmin,或者每一维度的最大最小值之差均小于ε。3.根据权利要求1所述的一种动态数据环境下的数据流分类方法,其特征在于,所述 kdq树模块(104)采用自助法给定kdq树对应的相关阈值,包括以下步骤 步骤KlOO :从原始数据块中有放回的抽取N条数据,即所抽取的数据并不从原始数据块中删除,利用抽取的数据构成新的数据块; 步骤K200 :利用kdq树对新数据块进行划分得到离散化结果; 步骤K300 :根据所述KL散度的计算公式计算新数据块与原始数据块的KL散度值,将计算结果加入队列中; 所述KL散度的计算公式为在公式(I)中,·W1表示数据块C;和数据块C;之间数据分布的KL散度表示数据块&离散化后的概率...

【专利技术属性】
技术研发人员:冯林姚远陈沣
申请(专利权)人:大连理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1