首页> 中国专利> 基于随机抽样多分类器的网络流量识别方法

基于随机抽样多分类器的网络流量识别方法

摘要

基于随机抽样多分类器的网络流量识别方法,给出带网络流量分类标签的网络流数据集A和没有网络流量分类标签的网络流记录集合N,从网络流数据集A中选取网络流记录,随机抽样生成数据子集B1、B2、…、BT,采用决策树分类算法对随机抽取后的数据子集B1、B2、…、BT分别进行学习,将学习结果记录为T个分类器F1、F2、…、FT,随机从T个分类器中抽取t个分类器,对网络流记录集合N中的每个网络流记录分别采用被抽取的t个分类器对进行分类,得到t个分类结果,将分类结果统计数最大的分类类型作为没有网络流量分类标签的网络流记录的分类类型。

著录项

  • 公开/公告号CN104468276A

    专利类型发明专利

  • 公开/公告日2015-03-25

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201410790370.X

  • 发明设计人 程光;

    申请日2014-12-18

  • 分类号H04L12/26(20060101);

  • 代理机构32250 江苏永衡昭辉律师事务所;

  • 代理人王斌

  • 地址 210096 江苏省南京市四牌楼2号

  • 入库时间 2023-12-18 08:49:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-28

    授权

    授权

  • 2015-04-22

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

    实质审查的生效

  • 2015-03-25

    公开

    公开

说明书

技术领域

本技术发明涉及网络测量技术领域,特别是一种基于随机抽样多分类器的网络流量识别方法。

背景技术

流量识别技术的研究热点是基于流量统计行为特征的检测技术。基于流量行为特征的检测技术是一种基于会话的流量识别技术,这类方法不需要任何关于应用层协议的信息,通过分析网络流量的统计测度来识别,利用机器学习(Machine Learning)方法处理流量分类问题是这种技术的一个新兴的研究方向。一般来说,研究对象是一组具有相同五元组(源IP、宿IP、源端口、宿端口、协议)取值的序列,即网络流(flow)。而研究人员通过提取网络流的统计测度,如报文长度和相互到达时间分布等,将网络流抽象成为一组统计测度构成的测度向量,转化为机器学习问题,通过机器学习识别方法来识别未知的网络流。

近些年来,基于机器学习的分类与识别技术已经成为网络流量分类与识别的一个重要发展方向。所谓机器学习(Machine Learning),是指通过研究计算机怎样模拟或实现人类的学习行为,以获取新的知识和技能,然后重新组织已有的知识结构使之不断改善自身的性能。

基于机器学习的分类与识别过程通常包括两个步骤:建立模型和使用分类器进行分类。其中建模可以采用多种不同技术,比如贝叶斯技术、聚类(clustering)技术等。利用机器学习技术进行网络流量分类识别时,处理数据对象的一般是TCP流,使用的区分符(Discriminator)是TCP流的各种特征统计信息,比如数据包各种大小的统计值、数据包平均到达间隔时间等。按照人工干预程度的不同,机器学习技术可以分为三类:有人监督(Supervised)和无人监督(Unsupervised)以及半监督(Semi-supervised);有人监督与无人监督的区别是建模所用训练数据不同,前者建模时,训练数据已经事先分类处理过,而后者则没有,需要在建模结束后进行再处理。

关于有人监督机器学习分类技术,朴素贝叶斯分类器(Na¨ıve Bayes classifier)它有两个假定条件:一是各个区分符(discriminator)之间是相互独立的,二是区分符的行为满足高斯分布,实验结果表明朴素贝叶斯分类器可以获得66.71%的平均识别准确率。对朴素贝叶斯分类器一种改进是首先是选择合适的区分符并降低统计数据的维数,以去掉冗余和不相关的区分符,其次是利用朴素贝叶斯核估值法(Kernel Estimation)对各个区分符进行估值,克服了独立性和高斯分布的条件限制。

关于无人监督机器学习分类技术,目前在建模过程中使用比较多的是基于最大数学期望EM(Expectation Maximum)的聚类算法。通过对训练数据进行聚类分析获得一个最合适的簇集合,然后利用这个簇集合构成一个分类器进行分类识别。同时还有K-Means、DBSCAN和AutoClass这三种聚类算法在网络应用分类中的应用。关于半监督机器学习识别技术用于网络应用分类识别的架构(Framework),它能灵活地平衡训练数据中已标记流(flow)和未标记流的数量关系。

目前传统的各种流量分类方法都是采用一个模型进行分类,从流量分类角度,我们可以将一个模型看成是一个专家。而对于同样一件事情的决策,不同的专家可能会得出不同的结论,一般是从多个专家的结论中,将多数专家的结论作为最终的决策。因此我们考虑组合多种不同模型的决策,将不同的输出结果合并给出分类判断。通过组合多种不同类型的分类模型可以减少分类方差进而提高分类精度。

本发明采用的是决策树算法,决策树(decision tree)又称为分类树(classification tree),决策树是最为广泛的归纳推理算法之一,处理类别型或连续型变量的分类预测问题,可以用图形和if-then的规则表示模型,可读性较高。决策树模型透过不断地划分数据,使依赖变量的差别最大,最终目的是将数据分类到不同的组织或不同的分枝,在依赖变量的值上建立最强的归类。

决策树的目标是针对类别应变量加以预测或解释反应结果,就具体本身而论,此模块分析技术与判别分析、区集分析、无母数统计,与非线性估计所提供的功能是一样的,分类树的弹性,使得数据本身更加具吸引人的分析选项,但并不说许多传统方法就会被排除在外。实际应用上,当数据本身符合传统方法的理论条件与分配假说,这些方法或许是较佳的,但是站在探索数据技术的角度或者当传统方法的设定条件不足,分类树对于研究者来说,是较佳的建议技巧。

决策树是一种监督式的学习方法,产生一种类似流程图的树结构。决策树对数据进行处理是利用归纳算法产生分类规则和决策树,再对新数据进行预测分析。树的终端节点”叶子节点(leaf nodes)”,表示分类结果的类别(class),每个内部节点表示一个变量的测试,分枝(branch)为测试输出,代表变量的一个可能数值。为达到分类目的,变量值在数据上测试,每一条路径代表一个分类规则。决策树是用来处理分类问题,适用目标变量属于类别型的变量,目前也已扩展到可以处理连续型变量,如CART模型;惟不同的决策树算法,对于数据类型有不同的需求和限制。

完成数据处理阶段后,需要选择一个合适的决策树模型算法。常用的决策树模型算法是Quinlan提出的ID3(iterative dichotomizer 3),以及后续的版本C4.5和C5.0,其中C4.5和C5.0在计算机领域中广泛应用。大多数的决策树模型算法是由核心算法改变而来,利用由上向下的贪心算法(greedy algorithm)搜索所有可能的决策树空间,这种算法是C4.5算法的基础。

决策树的算法基本上是一种贪心算法,是由上至下的逐次搜索方式,渐次产生决策树模型结构。算法是以信息论为基础,企图最小化变量间比较的次数,其基本策略是选择具有最高信息增益的变量为分割变量(splitting variable),算法必须将所有变量转换为类别型变量。使用熵来量化信息,测量不确定性,如果所有数据属于同一类别,将不存在不确定性,此时的熵为0。

C4.5算法是使用训练样本估计每个规则的准确率,如此可能导致对规则准确率的乐观估计,C4.5使用一种悲观估计来补偿偏差,作为选择也可以使用一组独立于训练样本的测试样本来评估准确性。C4.5算法是先建构一棵完整的决策树,再针对每一个内部节点依使用者定义的错误预估率(Predicted error rate)来修剪决策树。信息增益愈大,表示经过变量分割后的不纯度愈小,降低不确定性。C4.5算法采用GainRatio,选取有最大GainRatio的分割变量作为准则,避免过度配适的问题。

发明内容

本发明目的在于提供基于随机抽样多分类器的网络流量识别方法,采用同一个数据集经过随机抽样构成多个不同的数据集,由此可以采用同样的分类算法生成不同的分类器,能够实现通过集成方式提高网络流量识别的精度。

本发明的技术方案是提供一种基于随机抽样多分类器的网络流量识别方法,其特征在于:

步骤一:设置分类器的数量为T,(1<=T<=10);设定随机抽样比率p,0<p<1;设置T个空集合B1、B2、…、BT;设置抽样分类器的数量为t,1<=t<=T;给出带网络流量分类标签的网络流数据集A,给出没有网络流量分类标签的网络流记录集合N;设置循环变量i,进入步骤二;

步骤二:设定i等于1,如果带有网络流量分类标签的网络流数据集A为空,进入步骤五,否则从带有网络流量分类标签的网络流数据集A中选取一条带网络流量分类标签的网络流记录F,同时从带有网络流量分类标签的网络流数据集A中将所选的带网络流量分类标签的网络流记录F删除,进入步骤三;

步骤三:产生一个0到1之间的随机数S,如果S大于p,则进入步骤四,否则,在将所选的带网络流量分类标签的网络流记录F加入到集合Bi中后进入步骤四;

步骤四:i增加1,如果i大于T,回到步骤二;否则回到步骤三;

步骤五:采用决策树分类算法对随机抽取后的数据集B1、B2、…、BT分别进行学习,将学习结果分别记录为T个分类器F1、F2、…、FT,进入步骤六;

步骤六:随机从T个分类器F1、F2、…、FT中抽取t个分类器,进入步骤七;

步骤七:如果没有网络流量分类标签的网络流记录集合N为空,方法结束,退出方法;否则,从没有网络流量分类标签的网络流记录集合N中选取一条没有网络流量分类标签的网络流记录M,同时从没有网络流量分类标签的网络流记录集合N中删除所选的没有网络流量分类标签的网络流记录M,进入步骤八;

步骤八:分别采用被抽取的t个分类器对所选的没有网络流量分类标签的网络流记录M进行分类,得到t个分类结果,进入步骤九;

步骤九: 将相同分类类型的分类结果进行合并统计,将分类结果统计数最大的分类类型作为没有网络流量分类标签的网络流记录M的分类类型,如果存在2个或2个以上的最大的分类结果统计数,则任选一个分类结果统计数最大的分类类型作为没有网络流量分类标签的网络流记录M的分类类型,回到步骤七。

与现有技术相比,本发明具有如下优点及有效效果:

(1)传统采用多分类器的方法是需要采用不同的分类算法,这样限制了分类器的数量,本发明采用随机抽样的方法,通过对同一个带标签的数据集进行随机抽样,产生多组不同的数据子集,由此采用同样的分类算法可以得到不同的分类器,大大提高可以选择分类器的数量, 可以提高分类识别的精度;

(2)通过多个集成的分类器对流量进行分类,其分类精度单个分类器的分类精度有所提高,另外采用集成的数量越多,其分类随机效果越好,本发明通过对一组分类器进行抽样的方法产生分类器子集,通过分类器子集对流量进行分类,采用随机算法,提高了分类器分类样本结构的随机特性,进行能够真正发挥多分类器投票选择的效果,提高算法的分类精度和效率;

(3)本发明通过采用随机抽样多个分类器对流量进行分类,可以根据测量器的资源和流量大小,随时方便地抽样选择所需要分类器的数量,进而实现自适应地流量分类识别处理。

附图说明

为了更清楚地说明本发明实施实例的技术方案,下面将对实施实例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施实例。

图1:基于随机抽样多分类器的网络流量识别方法的流程图。

图2:基于随机抽样多分类器的网络流量识别方法的功能图,在这个功能图中,一个生成了5个分类器,抽样其中3个分类器用于流量识别。

具体实施方式

下面将结合本发明实施实例中的附图,对本发明实施实例中的技术方案进行清楚、完整地描述,当然所描述的实施实例仅仅是本发明一部分实施实例,而不是全部的实施实例。

实施实例1

一种基于随机抽样多分类器的网络流量识别方法,其特征在于:

步骤一:设置分类器的数量为T,(1<=T<=10);设定随机抽样比率p,0<p<1;设置T个空集合B1、B2、…、BT;设置抽样分类器的数量为t,1<=t<=T;给出带网络流量分类标签的网络流数据集A,给出没有网络流量分类标签的网络流记录集合N;设置循环变量i,进入步骤二;

步骤二:设定i等于1,如果带有网络流量分类标签的网络流数据集A为空,进入步骤五,否则从带有网络流量分类标签的网络流数据集A中选取一条带网络流量分类标签的网络流记录F,同时从带有网络流量分类标签的网络流数据集A中将所选的带网络流量分类标签的网络流记录F删除,进入步骤三;

步骤三:产生一个0到1之间的随机数S,如果S大于p,则进入步骤四,否则,在将所选的带网络流量分类标签的网络流记录F加入到集合Bi中后进入步骤四;

步骤四:i增加1,如果i大于T,回到步骤二;否则回到步骤三;

步骤五:采用决策树分类算法对随机抽取后的数据集B1、B2、…、BT分别进行学习,将学习结果分别记录为T个分类器F1、F2、…、FT,决策树是一种监督式的学习方法,产生一种类似流程图的树结构,常用的决策树模型算法C4.5算法,C4.5算法是先建构一棵完整的决策树,再针对每一个内部节点依使用者定义的错误预估率(Predicted>

进入步骤六;

步骤六:随机从T个分类器F1、F2、…、FT中抽取t个分类器,进入步骤七;

步骤七:如果没有网络流量分类标签的网络流记录集合N为空,方法结束,退出方法;否则,从没有网络流量分类标签的网络流记录集合N中选取一条没有网络流量分类标签的网络流记录M,同时从没有网络流量分类标签的网络流记录集合N中删除所选的没有网络流量分类标签的网络流记录M,进入步骤八;

步骤八:分别采用被抽取的t个分类器对所选的没有网络流量分类标签的网络流记录M进行分类,得到t个分类结果,进入步骤九;

步骤九: 将相同分类类型的分类结果进行合并统计,将分类结果统计数最大的分类类型作为没有网络流量分类标签的网络流记录M的分类类型,如果存在2个或2个以上的最大的分类结果统计数,则任选一个分类结果统计数最大的分类类型作为没有网络流量分类标签的网络流记录M的分类类型,回到步骤七。

实施实例2

一种基于随机抽样多分类器的网络流量识别方法,其特征在于:

步骤一(1):设置分类器的数量为T,T=5;设定随机抽样比率p,P=0.5;设置5个空集合B1、B2、B3、B4、B5;设置抽样分类器的数量为3,见图2;给出带网络流量分类标签的网络流数据集A,给出没有网络流量分类标签的网络流记录集合N;设置循环变量i=0,

集合A有2种应用类型,每个流包括2个特征,

A={(www, 10,8), (ftp, 1,3),>

集合N中有2条记录,

N={ (10,10),( 2,4) },

进入步骤二(2);

步骤二(2):设定i等于1,从带有网络流量分类标签的网络流数据集A中选取一条带网络流量分类标签的网络流记录(www, 10,8),同时从带有网络流量分类标签的网络流数据集A中将所选的带网络流量分类标签的网络流记录(www, 10,8)删除,进入步骤三(3);

步骤三(3):产生随机数S=0.4,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(www, 10,8),加入到集合B1中后进入步骤四(4);

步骤四(4):i增加1,i=2,回到步骤三(5);

步骤三(5):产生随机数S=0.2,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(www, 10,8),加入到集合B2中后进入步骤四(6);

步骤四(6):i增加1,i=3,回到步骤三(7);

步骤三(7):产生随机数S=0.7,S大于p=0.5,进入步骤四(8);

步骤四(8):i增加1,i=4,回到步骤三(9);

步骤三(9):产生随机数S=0.8,S大于p=0.5,进入步骤四(10);

步骤四(10):i增加1,i=5,回到步骤三(11);

步骤三(11):产生随机数S=0.1,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(www, 10,8),加入到集合B5中后进入步骤四(12);

步骤四(12):i增加1,i=6,i大于5,回到步骤二(13);

步骤二(13):设定i等于1,从带有网络流量分类标签的网络流数据集A中选取一条带网络流量分类标签的网络流记录(ftp, 1,3),同时从带有网络流量分类标签的网络流数据集A中将所选的带网络流量分类标签的网络流记录(ftp, 1,3)删除,进入步骤三(14);

步骤三(14):产生随机数S=0.4,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(ftp, 1,3),加入到集合B1中后进入步骤四(15);

步骤四(15):i增加1,i=2,回到步骤三(16);

步骤三(16):产生随机数S=0.7,S大于p=0.5,进入步骤四(17);

步骤四(17):i增加1,i=3,回到步骤三(18);

步骤三(18):产生随机数S=0.8,S大于p=0.5,进入步骤四(19);

步骤四(19):i增加1,i=4,回到步骤三(20);

步骤三(20):产生随机数S=0.7,S大于p=0.5,进入步骤四(21);

步骤四(21):i增加1,i=5,回到步骤三(22);

步骤三(18):产生随机数S=0.2,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(ftp, 1,3),加入到集合B5中后进入步骤四(19);

步骤四(23):i增加1,i=6,i大于5,回到步骤二(24);

步骤二(24):设定i等于1,从带有网络流量分类标签的网络流数据集A中选取一条带网络流量分类标签的网络流记录(ftp, 1,4),同时从带有网络流量分类标签的网络流数据集A中将所选的带网络流量分类标签的网络流记录(ftp, 1,4)删除,进入步骤三(25);

步骤三(25):产生随机数S=0.7,S大于p=0.5,进入步骤四(26);

步骤四(26):i增加1,i=2,回到步骤三(27);

步骤三(27):产生随机数S=0.4,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(ftp, 1,4),加入到集合B2中后进入步骤四(28);

步骤四(28):i增加1,i=3,回到步骤三(29);

步骤三(29):产生随机数S=0.7,S大于p=0.5,进入步骤四(30);

步骤四(30):i增加1,i=4,回到步骤三(31);

步骤三(31):产生随机数S=0.1,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(ftp, 1,4),加入到集合B4中后进入步骤四(32);

步骤四(32):i增加1,i=5,回到步骤三(33);

步骤三(33):产生随机数S=0.8,S大于p=0.5,进入步骤四(34);

步骤四(34):i增加1,i=6,i大于5,回到步骤二(35);

步骤二(35):设定i等于1,从带有网络流量分类标签的网络流数据集A中选取一条带网络流量分类标签的网络流记录(www, 9,8),同时从带有网络流量分类标签的网络流数据集A中将所选的带网络流量分类标签的网络流记录(www, 9,8)删除,进入步骤三(36);

步骤三(36):产生随机数S=0.9,S大于p=0.5,进入步骤四(37);

步骤四(37):i增加1,i=2,回到步骤三(38);

步骤三(38):产生随机数S=0.65,S大于p=0.5,进入步骤四(39);

步骤四(39):i增加1,i=3,回到步骤三(40);

步骤三(40):产生随机数S=0.1,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(www, 9,8),加入到集合B3中后进入步骤四(41);

步骤四(41):i增加1,i=4,回到步骤三(42);

步骤三(42):产生随机数S=0.3,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(www, 9,8),加入到集合B4中后进入步骤四(43);

步骤四(43):i增加1,i=5,回到步骤三(44);

步骤三(44):产生随机数S=0.23,S小于p=0.5,在将所选的带网络流量分类标签的网络流记录(www, 9,8),加入到集合B5中后进入步骤四(45);

步骤四(45):i增加1,i=6,i大于5,回到步骤二(46);

步骤二(46):设定i等于1,带有网络流量分类标签的网络流数据集A为空,进入步骤五(47);

步骤五(47):采用C4.5决策树分类算法对随机抽取后的数据集B1、B2、…、BT

B1={(www,>

B2={(www,>

B3={>

B4={>

B5={(www, 10,8),>

分别进行学习,将学习结果分别记录为5个分类器F1、F2、F3、F4、F5,进入步骤六(48);

步骤六(48):随机从5个分类器F1、F2、F3、F4、F5,中抽取3个分类器,进入步骤七(49);

步骤七(49):从没有网络流量分类标签的网络流记录集合N中选取一条没有网络流量分类标签的网络流记录(10,10),同时从没有网络流量分类标签的网络流记录集合N中删除所选的没有网络流量分类标签的网络流记录(10,10),进入步骤八(50);

步骤八(50):分别采用被抽取的3个分类器对所选的没有网络流量分类标签的网络流记录(10,10)进行分类,得到3个分类结果{www, www, www},进入步骤九(51);

步骤九(51): 将相同分类类型的分类结果{www, www, www}进行合并统计,将分类结果统计数最大的分类类型www作为没有网络流量分类标签的网络流记录(10,10)的分类类型,回到步骤七(52);

步骤七(52):从没有网络流量分类标签的网络流记录集合N中选取一条没有网络流量分类标签的网络流记录(2,4),同时从没有网络流量分类标签的网络流记录集合N中删除所选的没有网络流量分类标签的网络流记录(2,4),进入步骤八(53);

步骤八(53):分别采用被抽取的3个分类器对所选的没有网络流量分类标签的网络流记录(2,4)进行分类,得到3个分类结果{www, ftp, ftp},进入步骤九(54);

步骤九(54): 将相同分类类型的分类结果{www, ftp, ftp}进行合并统计,将分类结果统计数最大的分类类型ftp作为没有网络流量分类标签的网络流记录(10,10)的分类类型,回到步骤七(55);

步骤七(55):没有网络流量分类标签的网络流记录集合N为空,方法结束,退出方法。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号