一种面向工业互联网的GSSK-means异常流量检测方法、存储器和处理器与流程

文档序号:29401691发布日期:2022-03-26 02:05阅读:157来源:国知局
一种面向工业互联网的GSSK-means异常流量检测方法、存储器和处理器与流程
一种面向工业互联网的gssk-means异常流量检测方法、存储器和处理器
技术领域
1.本发明涉及机器学习领域,具体地涉及一种面向工业互联网的gssk-means异常流量检测方法、存储器和处理器。


背景技术:

2.流量异常检测是指以流数据为输入,通过统计分析、数据挖掘和机器学习等方法,发现异常的数据分组和异常交互等信息。流量异常检测过程首先需要使用sniffer、 netflow、fprobe和flow-tools等数据流抓取工具来采集海量的数据流信息,然后从数据中提取和选择出可用于检测异常的数据属性,通过对数据属性的分析得出该数据记录为正常或异常的结论。网络流量异常检测方法主要包括基于无监督学习、监督学习和半监督学习的方法。
3.聚类是研究数据间逻辑上或物理上的相互关系的技术,其分析结果不仅可以揭示数据间的内在联系与区别,还可以为进一步的数据分析与知识发现提供重要依据。聚类算法大致分为基于划分的聚类算法、基于层次的聚类、基于网格的聚类、基于密度的聚类、基于模型的聚类这几种,macqueen提出的k-means算法是解决聚类问题的一种经典算法,具有简单、高效的特点,可以应用于流量异常检测。
4.随着网络应用的逐渐增加,流量特征的整体复杂性不断增加,数据采集与数据分析之间的主观判断差异使得异常流量检测的准确性仍有待提高。


技术实现要素:

5.本发明要解决的技术问题是提供一种面向工业互联网的gssk-means异常流量检测方法,将机器学习算法与智能优化算法相结合,构建高效准确的异常流量检测模型。
6.一方面,本发明提供了一种面向工业互联网的gssk-means异常流量检测方法,主要包括:
7.s100、获取流量数据,对数据进行预处理;
8.s200、采用gss算法和k-means算法得到最优初始聚类中心,对流量数据进行聚类,得到最优的异常流量检测模型;所述gss算法是将遗传算法的选择、交叉和变异操作引入樽海鞘种群优化算法;
9.s300、对模型训练完成后,使流量数据进入模型,判断是否为异常流量。
10.具体的,所述预处理包括归一化处理。
11.具体的,所述预处理还包括获取数据特征权重值。
12.具体的,所述s200具体包括:初始化樽海鞘种群,计算樽海鞘种群中每个个体的适应度函数值,以及整个种群的平均适应度值;如果达到迭代停止条件,则得到初始聚类中心,计算数据中心的点对各个聚类中心的距离,根据距离最近原则选择距离最近的聚类中心形成类簇,计算适应度,如果达到迭代停止条件,则得到异常流量检测模型。
13.具体的,所述s300具体包括:工业互联网系统流量数据实时采集;对流量信息进行预处理,并送入检测模型;计算实时监控数据与模型中各聚类中心的距离 d_cp0,d_cp1,...,d_cpk;当实时监控样本点与各正常聚类中心的距离d_cpi均大于设置的阈值距离时,则识别其为异常数据,进行异常预警。
14.另一方面,本发明还提供一种存储器,用于存储软件,其中,所述软件用于执行上述的方法。
15.另一方面,本发明还提供一种处理器,用于执行软件,其中,所述软件用于执行上述方法。
16.本发明构将遗传算法的选择、交叉和变异操作引入樽海鞘种群更新,保证每次迭代时种群会产生一些新的樽海鞘个体,降低樽海鞘种群跳出局部最优的难度。再将gss算法与改进的k-means算法相结合,提出gssk-means算法,将聚类算法的适应度函数看做是gss算法的目标函数,通过gss算法求得改进k-means算法中的最优初始聚类中心,再对数据进行聚类,最终得到最优的异常流量检测模型,本发明能够对工业互联网中未知高维度流量数据进行预处理和实时异常检测。
附图说明
17.图1本发明的流程图。
具体实施方式
18.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
19.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
20.根据本发明实施例,提供了一种面向工业互联网的gssk-means异常流量检测方法,包括:
21.s100、获取流量数据,对数据进行预处理。
22.首先获取网络数据包,然后分析协议和提取信息,得到原始网络流量数据的基本特征信息。对原始网络数据进行预处理,首先流量数据进行归一化,然后对流量数据特征优化选择,防止维度过高,提高异常检测的准确性。
23.s101,数值归一化。
24.网络流量数据包含以下几种特征类型:

无序枚举型特征,如协议类型、连接状态和目标主机的网络服务类型等;

有序枚举型特征,如访问系统敏感文件的次数、过去两秒内与当前连接有相同目标主机的连接数等;

{0,1}型特征,如是否成功登录、是否为guest用户等;

有序连续型特征,如在固定时间内,与当前连接在某特征处取值相同的连接数占总连接数的百分比等。
25.对于有序枚举型和有序连续型特征,利用如下公式进行数据预处理:
26.27.其中,b
ip
为a
ip
预处理后的数值,r
p
为数据集中第p维特征数值取值范围的上限。假设获取流量数据集中的记录总数为n,各记录的特征个数为p,第i条数据记录的第p 个特征的数值表示为a
ip
(1≤i≤n,1≤p≤p)。
28.s102,流量数据特征择优选择。
29.流量数据往往具有很多特征,如果将这些特征全部参与聚类过程会出现维数过高的问题。此外,网络流量各维特征在异常检测中的重要程度往往差异较大,因此有必要对高维网络流量进行特征选择,提高异常检测的准确性。本发明提出一种基于特征数值分布分析的特征优化选择方法。该方法通过计算不同网络流量数据记录在某特征处取值的均方差,并对其进行归一化处理,得到该特征的权重。计算公式如下:
[0030][0031][0032][0033]
其中,表示第p个特征分布的平均值,σ
p
表示第p个特征分布的均方差,w
p
表示第p个特征的权重。在计算特征权重之后,选取权重较大的特征进行下一步运算,进一步提高聚类检测结果的准确性。
[0034]
s200,构建gssk-means异常流量检测模型。
[0035]
构建异常流量检测模型,将改进的樽海鞘优化算法和改进的遗传算法结合,提出gss 算法,将遗传算法的选择、交叉和变异操作引入樽海鞘种群更新。保证每次迭代时种群会产生一些新的樽海鞘个体,降低樽海鞘种群跳出局部最优的难度。再将gss算法与改进的遗传k-means算法相结合,提出gssk-means算法,将聚类算法的适应度函数看做是gss算法的目标函数,通过gss算法求得改进k-means算法中的最优初始聚类中心,再利用此结果对流量数据进行聚类,最终得到最优的异常流量检测模型。
[0036]
s201,初始化樽海鞘种群。
[0037]
为gss算法初始化一个樽海鞘种群,然后通过模拟樽海鞘的种群运动得到最优解。在每一次迭代中,樽海鞘种群中的个体要通过当前搜索状态来更新自己的位置。在本文中种群中的任意个体i定义如下:
[0038]
si=(s
i1
,s
i2
,

,s
ik
)
ꢀꢀꢀꢀꢀꢀ
(5)
[0039]sik
代表的是第i个种群个体代表的第k维特征。
[0040]
算法的搜索空间上限和搜索空间下限限定gss算法的搜索范围。
[0041]
其中搜索空间上限表示为:
[0042]
ub=(ub
1max
,ub
2max
,

,ub
jmax
,

,ub
nmax
)j∈[1,n]
ꢀꢀꢀꢀꢀ
(6)
[0043]
其中搜索空间下限表示为:
[0044]
lb=(lb
1min
,lb
2min
,

,lb
jmin
,

,lb
nmin
)j∈[1,n]
ꢀꢀꢀꢀꢀ
(7)
[0045]
s202,计算樽海鞘种群中每个个体的适应度函数值,以及整个种群的平均适应度
值。
[0046]
gss算法可以用于寻找最优解,在k-means聚类中初始聚类中心可看作是算法的最优解,最优聚类中心可以使得适应度函数达到最优值,因此本发明将聚类算法的适应度函数看做是gss算法的目标函数,求得最优初始聚类中心,再利用此结果对数据进行聚类。
[0047]
s203,根据提出的新的领导者位置更新公式更新领导者位置。
[0048]
在搜索空间中,有一个称为f的食物源,其作为樽海鞘种群的优化目标,即最优解,为了使算法尽快达到f,本发明改进的ssa算法领导者位置更新公式如式(8)。
[0049][0050]
其中r
1j
是解空间中第j维的樽海鞘种群中的第一个樽海鞘的位置,即在种群中的领导者位置;fj是在上一个循环中第j维中所有樽海鞘个体中最适合的樽海鞘个体的位置,即当前樽海鞘种群中最接近“食物”位置的个体;ubj表示第j维搜索空间的上界,lbj表示第j维搜索空间的下界。
[0051]
第一部分c1fj为粒子位置改变受全局最优个体影响的部分,这部分保证了算法中的领导者在往“食物”所在位置运动;第二部分
±
c2((ub
j-lbj)c3+lbj)是根据搜索空间的范围对领导者位置调整,保证种群在搜索空间中尽可能的扩大搜索范围,提高算法寻优效率。本发明改进原始算法的参数c1和c3,并引入参数c2,以此保证樽海鞘种群搜索过程中的随机性和有效性。
[0052]
其中本发明中参数c1定义如下。
[0053][0054]
其中l为当前迭代次数;l为算法所设计的最大迭代次数;为当前第l次迭代次数中适应度最佳的樽海鞘个体的适应度;表示第l-1次迭代次数中适应度最佳的樽海鞘个体的适应度。
[0055]
本发明对于c2、c3两个参数的定义如下:
[0056][0057][0058]
其中,e
fit
表示当前迭代中所有个体的平均适应度。表示当前迭代里,适应度最差的个体适应度;参数c4是在[-1,1]间隔内均匀生成的随机数。在实际搜索过程中,c4指示第j维上的下一个位置应朝向正向增长还是朝向负向增长。
[0059]
s204,根据提出的新的跟随者位置更新公式更新跟随者位置。
[0060]
在实际算法中,跟随者占到樽海鞘种群的大部分,除了位于种群头部的领导者,其余个体均为跟随者。所以跟随者位置的更新对ssa算法的效率有很大影响。
[0061]
本发明提出一种新的追随者位置更新公式:
[0062][0063]
在式(3-9)中表示在未更新前第i个樽海鞘个体在第j维的位置;是在上一次迭代中适应度最佳的樽海鞘个体的适应度,表示本次迭代中适应度最佳的樽海鞘个体的适应度;是上一次迭代中第i个樽海鞘个体的适应度;表示本次迭代中第 i个樽海鞘个体的适应度。上式分为两部分:第一部分表示樽海鞘跟随者位置更新受原来位置的影响;第二部分表示适应度改变快慢对跟随者位置更新的影响,随着适应度增加变慢,每次迭代的步长也会变小。
[0064]
s205,根据适应度排序,对种群中的所有个体进行选择。
[0065]
本发明采用基于适应度排序的选择策略。将樽海鞘种群中的个体按照适应度排序,然后按照适应度的大小对种群中所有个体进行选择,保证可能成为最优解的个体不会被淘汰掉,也保证了不会产生大量个体被重复选择。
[0066]
s206,根据自适应交叉概率,淘汰掉适应度差的个体,然后通过交叉补齐淘汰的种群数量。
[0067]
假设选择概率为p
choice
,樽海鞘种群总体数量为n,即在每次选择时,适应度排名前n
×
p
choice
的个体会被选择,其余的n
×
(1-p
choice
)会被淘汰,然后通过交叉,产生等量的新的樽海鞘个体,保证樽海鞘种群总数不会减少。所以选择概率公式如式(12)。
[0068]
p
choice
=(1-p
cross
)
ꢀꢀꢀꢀꢀꢀ
(12)
[0069]
交叉可以增加算法的搜索范围,但是随着适应度逐渐升高,以及迭代次数逐渐增加,算法逐渐靠近最优解,不需要扩大太多搜索范围,即交叉概率需要逐渐减小,所以本发明中的交叉概率定义方式为式(13)-(16)。
[0070]
p
cross
=(1-p
choice
)
ꢀꢀꢀꢀꢀꢀ
(13)
[0071][0072]
p
cross,l
=max(p'
cross,l
,0.1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0073]
p
cross,0
=0.5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0074]
在式(13)-(16)中,p
cross,0
为初始交叉概率,l为当前迭代次数,p
cross,l
为第l次迭代的交叉概率,表示第l次迭代种群中所有个体的最大适应度值,表示第l次迭代樽海鞘种群中所有个体的平均适应度值。
[0075]
s207,根据自适应变异概率,在通过交叉产生的新个体中按照变异概率进行变异操作。
[0076]
变异为遗传算法增加了随机性,如果到达局部最优时需要为算法提供一些随机个体,帮助算法跳出局部最优。本发明利用变异这一操作来为ssa算法增加一定的随机性,使得算法有机会跳出局部最优,使算法更加高效。综上所述当适应度越接近最优或迭代进入
后期时,越需要增加变异产生的概率,以防算法处于局部最优点无法跳出。又因为本算法中变异操作是针对上一步的交叉操作产生的新个体,而不是针对樽海鞘种群的全部个体,所以不用考虑通过变异操作会导致适应度最优的樽海鞘个体因为变异而消失。在本发明中变异概率定义如式(17),(18)。
[0077][0078]
p
mutation,l
=max(p'
mutation,l
,0.1)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0079]
其中p
mutation,l
表示第l次迭代的变异概率,p
cross,l
为第l次迭代的交叉概率,l表示最大迭代次数,l为当前迭代次数,表示第l次迭代种群中所有个体的最大适应度值,表示第l次迭代种群中所有个体的最小适应度值,表示第l次迭代种群中所有个体的平均适应度值。
[0080]
s208,利用基于信息熵改进的距离度量公式计算数据中心的点对各个聚类中心的距离。
[0081]
本发明改进距离度量函数,将欧式距离代表的各个半径相同的圆形,变形为各个半径不同的椭圆,为数据的每个特征值加上合适的权值。提出使用基于信息熵的距离度量公式。
[0082]
信息量即信息多少的度量,公式表达为式(19)。
[0083]
i(x)=-log2p(x)
ꢀꢀꢀꢀꢀ
(19)
[0084]
信息熵(香农熵),它用于随机变量的不确定性度量,信息熵计算公式如式(20)。
[0085][0086]
将香农熵作为权值与欧式距离相结合可以得到改进的距离度量公式,见式(21)。
[0087][0088]
其中h(i)表示第i维特征值的信息熵,xi表示x的第i维特征值,yi表示y的第i维特征值。
[0089]
s209,根据距离最近原则选择距离最近的聚类中心形成类簇。
[0090]
s210,利用改进的适应度函数计算当前聚类中心的适应度。
[0091]
适应度函数用来衡量当前聚类划分情况是否会足够好,是否达到要求的聚类效果。聚类算法的目标是将相似的粒子归为同一类簇,所以同一个类簇中的粒子距离聚类中心越近聚类效果越优,而两个类簇之间的区别越大越好,所以两个聚类中心的距离越远聚类效果越优,本发明中适应度设计如式(22)和(23)。
[0092]
[0093][0094]
式(22)中,fiti代表第i个种群个体的适应度函数;b
l
定义为式(23)。在式(23)中,c
ij
为第i个樽海鞘个体所表示的第j个聚类中心;x代表以c
ij
为聚类中心的类簇所包含的粒子;dis(x-c
ij
)代表x与其所属的类簇的类簇中心c
ij
的距离;c
ia
和c
ib
都是第i个樽海鞘个体所代表的聚类中心;dis(c
ia
,c
ib
)代表聚类中心两两之间的距离。其中距离的计算公式见式(21)。
[0095]
s300,异常流量实时检测。
[0096]
对模型训练完成后,可以将实时流量数据送入模型中进行检测,判断流量是否为异常流量。检测步骤为:1)工业互联网系统流量数据实时采集;2)对流量信息进行预处理,并送入检测模型;3)计算实时监控数据与模型中各聚类中心的距离 d_cp0,d_cp1,...,d_cpk;4)当实时监控样本点与各正常聚类中心的距离d_cpi均大于设置的阈值距离thresholdi时,则识别其为异常数据,进行异常预警。
[0097]
根据本发明的第二个方面,提供一种存储器,用于存储软件,其中,所述软件用于执行上述的方法。
[0098]
根据本发明的第三个方面,提供一种处理器,用于执行软件,其中,所述软件用于执行上述方法。
[0099]
需要说明的是,上述软件执行的数据安全共享方法与前面介绍的数据安全共享方法相同,在此不再赘述。
[0100]
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
[0101]
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
[0102]
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器 (sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器 (rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
[0103]
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1