一种基于遗传算法与K-Means结合的异常流量检测方法

文档序号:31063647发布日期:2022-08-09 20:04阅读:220来源:国知局
一种基于遗传算法与K-Means结合的异常流量检测方法
一种基于遗传算法与k-means结合的异常流量检测方法
技术领域
1.本发明属于软件技术领域,具体涉及一种基于遗传算法与k-means结合的异常流量检测方法。


背景技术:

2.随着互联网的快速发展,现如今在人们的生活中已经离不开网络。然而,由于互联网的开放性,网络中存在大量的攻击行为,并且新的攻击手段层出不穷,网络安全问题已经越来越引起人们的关注。通过分析网络流量来检测网络中出现的异常事件,进而发现网络攻击行为是目前解决网络安全问题的一种重要措施。
3.基于网络流量的异常检测技术目前主要有两类:基于特征的入侵检测(简称“特征检测”)和基于异常的入侵检测(简称“异常检测”)。特征检测利用已知攻击特征对指定的通信流量进行监视,一旦发现攻击特征在监视的流量中出现,即判定系统内发生了相应的攻击活动,主要针对的是已知攻击。而异常检测要首先建立正常行为模式,然后将当前网络活动模式与正常行为模式进行比较,发生偏差则认为产生异常,这种方式可以检测未知异常流量。
4.许多研究人员使用传统的机器学习对异常流量进行检测并取得一定的成果。但是传统的机器学习模型存在一定的弊端,例如模型训练前需要对数据集进行人工选取特征,特征的选取对模型检测的准确率有着一定的影响、使得模型只能够获得局部最优解,最终导致模型泛化能力较弱。


技术实现要素:

5.为了解决上述背景技术提到的技术问题,本发明提出了一种基于遗传算法与k-means结合的异常流量检测方法,对遗传算法中的选择、交叉重组和变异步骤进行改进,然后将其与k-means算法相结合,并应用于异常流量检测。
6.为了实现上述技术目的,本发明的技术方案为:
7.一种基于遗传算法与k-means结合的异常流量检测方法,包括以下步骤:
8.(1)初始参数设置,包括网络流量样本数据集即聚类样本数据集d={x1,x2,...,xn}、最大迭代次数ti、种群大小populationsize、交叉概率pc、变异概率pm、聚类数目k和阈值threshold;其中,x1,x2,

,xn分别为数据集中的每一条数据样本;
9.(2)从网络流量样本数据集d中随机选择k个数据样本,并进行染色体编码;重复进行populationsize次,生成初始种群w;
10.(3)将初始种群w中的所有个体作为初始值,使用k-means算法计算,获得k-means的局部最优解;
11.(4)根据适应度函数f,计算每个个体的适应度值,并记录其中最高的适应度值、最低的适应度值以及平均适应度值;
12.(5)判断是否满足于k-means算法的终止条件,如果满足终止条件,输出一个适应
度值最高的个体作为最优解作为异常流量检测的结果,并结束运算;否则转步骤(6);
13.(6)对当前种群根据个体适应度值进行选择操作,对选择的个体分别计算交叉概率pc和变异概率pm,并根据交叉方法和变异方法执行相应的交叉和变异操作,产生新一代种群,利用新一代种群替换当前种群后转入步骤(3)。优选地,所述步骤(2)具体包括:从数据集d中随机选择k个数据样本作为初始聚类的中心坐标,使用改进遗传算法对k-means聚类中心进行编码,将d维的聚类中心坐标编码为染色体,对于k个簇,k*d代表每个染色体的长度,染色体为{c1,c2,c3,...,ck},其中ci=[c
i1
,c
i2
,

,c
id
],ci表示每个聚类中心xi经过编码后得到的染色体的基因,c
i1
,c
i2

,c
id
表示聚类中心坐标xi每个维度的数据经过编码后得到的值,i∈[1,k];重复进行populationsize次染色体初始化,生成初始种群w。
[0014]
优选地,所述步骤(4)中适应度函数f,计算方法如下:
[0015]
f=b/(e+a)
ꢀꢀꢀ
(1)
[0016]
式中,a和b是常数,e是k-means聚类的准则函数,准则函数表达式如下:
[0017][0018]
其中,k为簇的个数,si为第i个簇,x为数据样本,ci为第i个簇的聚类中心。
[0019]
优选地,所述步骤(5)具体为:当迭代的次数t超过最大迭代次数ti或者k-means算法得到同一最优解的次数超过给定的阈值时,算法终止,记录每代遗传操作结束后适应度值最高的个体,当算法终止后,选择历代中适应度值最高的个体作为最终解;在每一代完成遗传操作后,将所有个体作为初始值,并计算k-means聚类的局部最优解,使用局部最优解代替原来的个体形成新的种群,新的种群再参与到下一次的优化。
[0020]
优选地,所述步骤6包括以下步骤:
[0021]
(61)改进选择算法
[0022]
(61.1)根据适应度函数f计算每个个体的适应度值,保存适应度值最高的个体xb,并对淘汰的个体进行交叉重组和变异,获得新种群;
[0023]
(61.2)对步骤(61.1)得到的新种群中的每个个体根据适应度函数计算的值进行排序,找出适应度值最高的个体xb′
,并与xb进行比较,选择适应度值较高的个体xb″

[0024]
(61.3)将个体xb″
不进行配对交叉直接复制到下一代中;
[0025]
(62)改进交叉重组和变异
[0026]
(62.1)对xb和xb′
中适应度值较低的个体分别计算交叉概率pc和变异概率pm,计算方法如下:
[0027][0028]
[0029]
其中,f
max
表示最大适应度值,f
avg
表示平均适应度值;f

表示要交叉的两个个体中较大的适应度值;f表示当前个体的适应度值;k1、k2、k3、k4是参数,介于0到1之间,并且k2《k1《2*k2,k4《k3《2*k3;
[0030]
(62.2)根据交叉方法和变异方法执行相应的交叉和变异操作,产生新一代种群后转入步骤(3)。
[0031]
采用上述技术方案带来的有益效果:通过对遗传算法进行改进,并将其与k-means算法相结合,使得算法能够自动生成k值,并优化了聚类中心的选取,使得算法更加稳定、预测结果更加准确。有效解决了k-means算法对初始聚类中心值k的依赖性。
附图说明
[0032]
图1是本发明的算法流程图。
具体实施方式
[0033]
以下将结合附图,对本发明的技术方案进行详细说明。
[0034]
如图1所示,本发明所述基于遗传算法与k-means结合的异常流量检测方法包含7个阶段,初始参数设置阶段,初始化种群阶段,执行k-means操作阶段,适应度值计算阶段,判断是否终止阶段,选择操作阶段和交叉和变异操作阶段。
[0035]
(1)初始化参数阶段:设定聚类样本数据集d={x1,x2,...,xn}、最大迭代次数为ti、种群大小populationsize、交叉概率pc、变异概率pm,聚类数目k,阈值threshold;
[0036]
(2)初始化种群阶段:将d维的聚类中心坐标编码为染色体,每条染色体的长度为k*d,染色体为{c1,c2,c3,...,ck},其中xi=[c
j1
,c
j2
,

,c
jd
]。对应的每条染色体,从m个对象中随机选择k个对象作为初始聚类的中心坐标。然后重复进行populationsize次染色体初始化,直到生成初始种群w;
[0037]
(3)执行k-means操作阶段:将种群w中的所有个体作为初始值,使用k-means算法计算,获得k-means的局部最优解;
[0038]
(4)适应度值计算阶段
[0039]
根据适应度函数f=b/(e+a),计算每个个体的适应度值,并记录其中最好的适应度值、最差的适应度值以及平均适应度值;
[0040]
(5)判断是否终止阶段
[0041]
当迭代的次数t超过了最大迭代次数ti或者算法得到同一最优解的适应度值的次数超过给定的阈值th时,算法终止。记录每代遗传操作结束后适应度值最高的个体,当算法终止后,选择历代中适应度值最高的个体作为最终解。
[0042]
在每一代完成遗传操作后,将所有个体作为初始值,并计算k-means聚类的局部最优解,使用局部最优解代替原来的个体。最后优化后的群体再参与到下一次的进化。
[0043]
(6)选择操作阶段
[0044]
对新种群根据个体适应度值进行选择操作;
[0045]
(7)交叉和变异操作阶段:对步骤6选择的个体分别计算交叉概率pc和变异概率pm,并根据交叉方法和变异方法执行相应的交叉和变异操作,产生新一代种群。最后转步骤3。
[0046]
下面给出本发明具体步骤实施例:
[0047]
基于遗传算法与k-means结合的异常流量检测方法,包含以下步骤:
[0048]
(1)初始参数设置
[0049]
聚类样本数据集d={x1,x2,...,xn}、最大迭代次数为ti、种群大小populationsize、交叉概率pc、变异概率pm,聚类数目k,阈值threshold;
[0050]
(2)初始化种群
[0051]
从样本数据集d中随机选择k个数据点,并进行染色体编码。重复进行populationsize次,直到生成初始种群w;
[0052]
(3)执行k-means操作
[0053]
将种群w中的所有个体作为初始值,使用k-means算法计算,获得k-means的局部最优解;
[0054]
(4)适应度值计算
[0055]
根据适应度函数f,计算每个个体的适应度值,并记录其中最好的适应度值、最差的适应度值以及平均适应度值;
[0056]
(5)判断是否满足终止条件
[0057]
判断是否满足终止条件。如果满足终止条件,输出全局最优解,并结束运算;否则转步骤6;
[0058]
(6)选择操作
[0059]
对新种群根据个体适应度值进行选择操作;
[0060]
(7)交叉操作和变异操作
[0061]
对步骤6选择的个体分别计算交叉概率pc和变异概率pm,并根据交叉方法和变异方法执行相应的交叉和变异操作,产生新一代种群。最后转步骤3。
[0062]
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1