一种基于集成的多过滤式特征选择的网络流量分类方法

文档序号:31872470发布日期:2022-10-21 19:55阅读:37来源:国知局
一种基于集成的多过滤式特征选择的网络流量分类方法

1.本发明涉及网络流量分类技术领域,具体但不限于涉及一种基于集成的多过滤式特征选择的网络流量分类方法。


背景技术:

2.随着互联网的迅速发展,爆炸式增长的网络流量给网络流量分类带来了巨大的挑战,这使得网络流量分类需要处理的数据量越来越大。
3.近年来,研究人员从网络流量原始数据中提取特征,并将深度学习应用于网络流量分类,尽管已经取得了巨大的进展,但还存在一些亟待解决的问题,尤其是流量特征选择问题。流量特征选择作为分类模型的先决条件,一方面会影响模型训练的复杂度,比如特征数量过多;另一方面也会影响模型的准确性,比如特征过少,或缺失关键特征等。
4.通常,为了最大程度的准确表达流量样本,通常会采集尽可能多的特征,其中可能包括一些不相关或冗余特征,特征之间也可能存在依赖关系。这会导致特征分析和预处理、模型训练、推理所需的时间延长,进而加大训练复杂度问题,甚至降低分类模型的准确率。
5.另外,仅使用单一的过滤式特征选择算法,选择后的流量特征仍然较多,且存在稳定性差的问题。即使使用深度学习中像cnn这种高效的神经网络模型,对特征选择过程并没有较大的贡献。而且将神经网络应用到特征选择时很少考虑使用神经网络得到特征的最佳表示。
6.网络流量分类中特征选择算法发展至今,解决了不少问题,但单一的过滤式特征选择算法还是存在选择特征数目较多、分类精度较低和稳定性差的问题。有鉴于此,需要提供一种新的方法,以期解决上述至少部分问题。


技术实现要素:

7.针对现有技术中的一个或多个问题,本发明提出了一种基于集成的多过滤式特征选择的网络流量分类方法,实现对流量特征进行全面选择,避免重要特征的遗漏,并且保留较少的特征数目,从而提高分类模型的综合性能。
8.实现本发明目的的技术解决方案为:
9.一种基于集成的多过滤式特征选择的网络流量分类方法,包括:
10.步骤1:获取真实应用的网络流量数据,并提取出流量特征,进行数据预处理后存放在新的csv文件中;
11.步骤2:采用基于集成的多过滤式特征选择算法,删除不相关特征及冗余特征,得到最优特征子集;其中,集成的多过滤式特征选择算法集成了信息增益特征选择算法、增益比特征选择算法、relief特征选择算法和卡方检验特征选择算法,所述4种算法在特征选择时分别考虑增益量、增益比、特征权重和chi值;
12.步骤3:将最优特征子集分为训练集和测试集,将训练集数据输入卷积神经网络cnn模型中进行训练,得到网络流量分类模型;
13.步骤4:将待检测的流量样本经预处理后输入网络流量分类模型中,输出网络流量分类结果。
14.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤1中使用流量特征提取工具cicflowmeter提取网络流量数据的流量特征。
15.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤1中数据预处理包括去除样本中存在空值或缺失值的实例以及非数值型数据。
16.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤2具体包括:
17.步骤2-1:采用信息增益特征选择算法对流量样本进行特征选择,根据信息增益量排序得到第一特征子集s1;
18.步骤2-2:采用增益比特征选择算法对流量样本进行特征选择,根据信息增益比得分排序得到第二特征子集s2;
19.步骤2-3:采用relief特征选择算法对流量样本进行特征选择,根据特征权重向量得到第三特征子集s3;
20.步骤2-4:采用卡方检验特征选择算法对流量样本进行特征选择,根据chi值排序得到第四特征子集s4;
21.步骤2-5:使用简单多数投票的方法在四个特征子集s1、s2、s3和s4中找到四种过滤式特征选择方法中频繁出现的特征,得到最优特征子集s。
22.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤2-1具体包括:
23.设网络流量样本集合s,根据特征不同取值将样本集s划分为个k子集c1,c2,...,ck,计算特征a对样本集s进行划分的信息增益量fg(s,a):
24.fg(s,a)=h(s)-h(s|a)
25.其中,h(s)是指网络流样本集s对分类的平均信息量,h(s|a)是指样本集s对分类的评价信息量。
26.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤2-2具体包括:
27.计算信息增益比f
gr
为:
28.f
gr
(a)=fg(s,a)|h(a)
29.其中,h(a)是指特征a对分类的平均信息量。
30.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤2-3具体包括:
31.从网络流量样本集中随机选择一个样本si,选择距离样本si距离最近的同类样本hit和异类样本miss,计算特征a的权重w(a):
32.w(a)=w(a)-diff(a,si,hit)/r+diff(a,si,miss)/r
33.其中,diff(a,si,hit)和diff(a,si,miss)分别表示样本si与同类样本hit、异类样本miss在特征a上的差,r表示重复上述步骤的次数。
34.进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤2-4具体包括:
35.设特征a和类别之间符合具有一阶自由度的chi分布,a对类别的chi值x2(a)为:
[0036][0037]
其中,n表示总样本的个数,a表示有特征a且属于该类的样本个数,b表示有特征a但不属于该类的样本个数,c表示属于该类但是没有特征a的样本个数,d表示既不属于该类且没有特征a的样本个数。
[0038]
进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,步骤2-5具体包括:
[0039]
步骤2-5-1:确定特征计数阈值t,设过滤式特征子集数量为n,则t=n-1;
[0040]
步骤2-5-2:计算由四种单一过滤式算法计算得到的特征子集中每个特征出现频率;
[0041]
步骤2-5-3:将各特征子集中的所有特征与计数阈值t进行比较,若该特征的出现频率小于计数阈值t,则删除该特征,反之选择该特征,满足阈值条件的所有特征构成最优特征子集。
[0042]
进一步的,本发明的基于集成的多过滤式特征选择的网络流量分类方法,卷积神经网络包括四个卷积层、两个最大池化层、一个扁平层和两个全连接层,卷积层的激活函数为relu,全连接层的激活函数为softmax。
[0043]
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0044]
本发明的基于集成的多过滤式特征选择的网络流量分类方法,基于集成的多过滤式特征选择方法,将四种计算特征权重的算法考虑在内,并找到公共子集;避免了重要的特征不能被选择,去除了不相关以及冗余的特征,使得最终的特征子集具有更高的代表性、可识别性,从而提高分类精度和模型的综合性能;特征的约减也大大降低了模型大小、系统计算量以及提高cpu利用率等。
附图说明
[0045]
附图用来提供对本发明的进一步理解,与说明描述一起用于解释本发明的实施例,并不构成对本发明的限制。在附图中:
[0046]
图1为本发明的基于集成的多过滤式特征选择的网络流量分类方法的流程图。
[0047]
图2为本发明的基于集成的多过滤式特征选择的网络流量分类方法的卷积神经网络模型结构图。
[0048]
图3是本发明的基于集成的多过滤式特征选择的网络流量分类方法的真实数据训练出的分类模型上的真实数据的分类情况。
具体实施方式
[0049]
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
[0050]
该部分的描述只针对典型的实施例,本发明并不仅局限于实施例描述的范围。不同实施例的组合、不同实施例中的一些技术特征进行相互替换,相同或相近的现有技术手
段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。
[0051]
一种基于集成的多过滤式特征选择的网络流量分类方法,如图1所示,包括如下步骤:
[0052]
步骤1:获取真实应用的网络流量数据,并使用流量特征提取工具cicflowmeter提取出流量特征,去除样本中存在空值或缺失值的实例以及非数值型数据,存放在新的csv文件中。
[0053]
步骤2:采用基于集成的多过滤式特征选择算法,删除不相关特征及冗余特征,得到最优特征子集。
[0054]
所述集成的多过滤式特征选择算法集成了四种过滤式特征选择算法,实现全面特征选择,包括信息增益特征选择算法、增益比特征选择算法、relief特征选择算法以及卡方特征选择算法,这四种算法在特征选择时分别考虑增益量、增益比、特征权重以及chi值,实现过程如下:
[0055]
步骤2-1:采用信息增益算法对流量样本进行特征选择,根据信息增益量排序得到第一特征子集s1。具体包括:
[0056]
设网络流量样本集合s,根据特征不同取值将样本集s划分为个k子集,表示为c1,c2,...,ck,计算特征a对样本集s进行划分的信息增益量fg(s,a),计算公式如式(ⅰ)所示:
[0057]fg
(s,a)=h(s)-h(s|a)
ꢀꢀ
(ⅰ)
[0058]
其中,h(s)是指网络流样本集s对分类的平均信息量,h(s|a)是指样本集s对分类的评价信息量。h(s)、h(s|a)的定义如式(ⅱ)、(ⅲ)所示:
[0059][0060][0061]
其中,p(
·
)表示在对应子集上的概率。
[0062]
步骤2-2:采用增益比算法对流量样本进行特征选择,根据信息增益比得分排序得到第二特征子集s2。具体包括:
[0063]
信息增益比f
gr
计算公式如式(ⅳ)所示:
[0064]fgr
(a)=fg(s,a)|h(a)
ꢀꢀ
(ⅳ)
[0065]
其中,fg(s,a)根据式(ⅰ)计算,h(a)是根据式(ⅱ)计算。
[0066]
步骤2-3:采用relief算法对流量样本进行特征选择,根据特征权重向量得到第三特征子集s3。具体包括:
[0067]
从网络流量样本集中随机选择一个样本si,选择距离样本si距离最近的同类样本hit和异类样本miss,计算特征a的权重w(a),计算公式如式(

)所示:
[0068]
w(a)=w(a)-diff(a,si,hit)/r+diff(a,si,miss)/r
ꢀꢀ
(

)
[0069]
其中,diff(a,si,hit)和diff(a,si,miss)表示样本si和同类样本hit和异类样本miss在特征a上的差。
[0070]
步骤2-4:采用卡方检验算法对流量样本进行特征选择,根据chi值排序得到第四特征子集s4。具体包括:
[0071]
设特征a和类别之间符合具有一阶自由度的chi分布,a对类别的chi值由式(ⅵ)计算:
[0072][0073]
其中:n表示总样本的个数,a表示有特征a且属于该类的样本个数,b表示有特征a但不属于该类的样本个数,c表示属于该类但是没有特征a的样本个数,d表示既不属于该类且没有特征a的样本个数。
[0074]
步骤2-5:使用简单多数投票的方法在四个特征子集s1、s2、s3和s4中找到四种过滤式特征选择方法中频繁出现的特征,得到最优特征子集s,最优特征子集能大幅度降低特征条数,且包括最具代表性的网络流量特征。具体包括:
[0075]
步骤2-5-1:确定特征计数阈值t,设过滤式特征子集数量为n,则t=n-1。
[0076]
步骤2-5-2:计算由四种单一过滤式方法得到的特征子集中每个特征出现频率。
[0077]
步骤2-5-3:如果某个特征出现频率小于计数阈值t,则删除该特征,反之选择该特征,并对各个特征子集中的所有特征重复该步骤。满足阈值条件的特征将被选择并用作分类的最终特征子集。
[0078]
针对以上四方面进行特征选择,最终保留下的特征数目较少,且满足各方面优点,选择出的特征具有较高识别性。
[0079]
步骤3:将特征子集分为训练集和测试集,将训练集输入卷积神经网络中进行训练,得到网络流量分类模型。
[0080]
卷积神经网络如图2所示,包括四个卷积层、两个最大池化层、一个扁平层和两个全连接层,卷积层的激活函数为relu,全连接层的激活函数为softmax用于分类。
[0081]
步骤4:将待检测的流量样本经预处理后输入训练好的网络流量分类模型中,输出网络流量分类结果。
[0082]
本发明通过集成了四种过滤式特征选择算法的结果,在四个特征子集中找到四种过滤式特征选择方法中频繁出现的特征,大幅度减少特征,提高分类精度和分类模型的综合性能。
[0083]
为了证明该方法生成的数据是具有真实应用特征的,本实施例中以cicids2017数据集为例进行说明,对cicids2017数据集进行预处理,形成一个包含9种流量类型(ddos、portscan、ftp-patator、ssh-patator、dos slowloris、dos slowhttptest、dos hulk、dos goldeneye、others)的数据集。对新的数据集进行基于集成的多过滤式特征选择,得到最优特征子集。在卷积神经网络上使用最优特征子集进行分类实验,图3是使用cicids2017数据集训练出的分类模型上的真实数据的分类情况(9种流量类型为例)。如图3所示,该方法能够在大幅度减少特征的同时具有较高的识别率。
[0084]
本发明基于集成的多过滤式特征选择的网络流量分类方法,该方法使用基于集成的多过滤式特征选择方法,将四种计算特征权重的算法考虑在内,并找到公共子集。该方法避免了重要的特征不能被选择,去除了不相关以及冗余的特征,使得最终的特征子集具有更高的代表性、可识别性,从而提高分类精度和模型的综合性能。本方法适用于所有基于深度学习的网络流量分类场景中不相关或冗余特征过多导致识别率低、效率不高的场景。
[0085]
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。说明书中所涉及的效果或优点等相关描述可因具体条件参数的不确定或其它因素影响而可能在实际实验例中不能体现,效果或优点等相关描述不用于对发明范围进行限制。这
里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1