一种基于集成学习的网络异常入侵检测方法和系统与流程

文档序号:29049096发布日期:2022-02-25 23:15阅读:137来源:国知局

1.本发明属于网络异常检测领域,具体涉及一种基于集成学习的网络异常入侵检测方法和系统。


背景技术:

2.随着信息技术的发展,传统电力行业在信息技术的催动下也带来了生产效率的提高。但是在带来便利的同时,也带入了很多安全隐患。电力系统作为国之重器,民生保障,极其需要安全稳定。网络异常检测在电力系统的安全运行中具有很重要的地位。
3.现有网络异常检测方法中,主要分为无监督学习和有监督网络异常检测。无监督学习具有无需标记数据的优点,但是在模型效果上是不如有监督学习的。有监督学习是一个非常庞大的方法论集合,例如深度学习算是有监督学习方法的一员。有监督学习近些年取得了长足的发展,效果也取得了很好的成果,但是在可解释性方面存在很多不足。


技术实现要素:

4.为了解决上述问题,本发明提出一种基于集成学习的网络异常入侵检测方法和系统。本发明方法的集成学习可以将现有的多种模型组合成一个更强的模型。
5.本发明的技术方案具体如下:
6.一种基于集成学习的网络异常入侵检测方法,包括如下步骤:
7.s1:数据预处理;
8.入侵检测流程中,将文本进行编码,输入最长文本串的填充,将数据集切分为训练集和测试集;
9.s2:模型构建,建立决策树模型;
10.s3:模型训练,使用贪心算法求解参数的次优解
11.进一步地,s1:数据预处理包括以下步骤:
12.s11:网络访问数据文本编码,将网络访问数据中的每个字符,按照码表,映射为对应的数字格式,设置模型所需的输入长度,对不足输入长度的进行补全,对超过长度的进行截断;数据集记为d={(x,y)},其中x=(x1,x2,...,xn)代表映射后网络访问数据,y=(y1,y2,...,yn)代表网络访问数据对应的类别标签,0代表正常访问,1代表恶意攻击。
13.s12:数据集的切分,为切实检验模型效果,按照一定比例切分为训练集,测试集;训练集用于模型训练,测试集用于模型选取。
14.进一步地,s2:模型构建包括如下步骤:
15.s21:建立决策树模型,在每一个节点i,输入向量x的特征维度di和一个阈值ti比较,根据比较结果,x被划分到左、右分支的某一个中,所述决策树的叶节点,即为模型的预测结果。
16.进一步地,s21中,具体过程如下:
17.判断第一个节点判断x1是否小于阈值t1;
18.如果小于,继续判断x2是否小于阈值t2,如果小于,就进入到左边的叶节点。叶节点对应的空间区域为:
19.r1={x:x1≤t1,x2≤t2};
20.将这个区域与预测输出通过坐标轴切分联系起来,用一个平均响应与这些区域联系起来;对于r1,通过平均响应yn代表第n个样本的标签;
21.回归树的定义如下:
[0022][0023]
其中,rj是第j个叶节点对应的区域,wj是叶节点的预测输出,θ={(rj,wj):j=1:j},j是叶节点的个数。
[0024]
进一步地,s3:模型训练包括如下步骤:
[0025]
s31:最小化损失函数;
[0026]
s32:减少模型偏差,利用m棵决策树的结果进行平均,如下:
[0027][0028]fm
(y|x)是第m棵树。
[0029]
进一步地,s4:模型验证具体为:
[0030]
在s1中得到的验证集上对s3中得到的集成学习模型进行验证,评价集成学习的结果。
[0031]
本发明涉及的一种基于集成学习的网络异常入侵检测系统,包括采集器和处理器,采集器采集相关数据,处理器基于采集的数据,按上述的方法进行处理。
[0032]
本发明还涉及的一种电子设备,包括存储器、处理器以及在存储器上,并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至6中任一所述方法的步骤。
[0033]
本发明还涉及的一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时,实现如上述方法的步骤。
[0034]
与现有技术相比,本发明的有益效果具体如下:
[0035]
本发明首先基于单棵分类与回归决策树(cart),构建基本分类器。决策树递归的切分输入空间,并且在每一个切分空间上定义一个局部模型。基于树模型的预测准确性不足的缺陷,本发明结合集成学习的思想,利用基于bagging的随机森林算法进行多棵树的集成,给出一个较为稳定的预测分类算法。
附图说明
[0036]
图1为本发明的基于集成学习的网络异常入侵检测方法流程图;
[0037]
图2为本发明的决策树的构建过程。
具体实施方式
[0038]
下面将结合本技术实施例中的附图,对实施例中的技术方案进行清楚、完整地描
述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0039]
除非另外定义,本技术实施例中使用的技术术语或者科学术语应当为所属领域内具有一般技能的人士所理解的通常意义。本实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。“上”、“下”、“左”、“右”、“横”以及“竖”等仅用于相对于附图中的部件的方位而言的,这些方向性术语是相对的概念,它们用于相对于的描述和澄清,其可以根据附图中的部件所放置的方位的变化而相应地发生变化。
[0040]
本实施例的基于集成学习的网络异常入侵检测方法。集成学习可以将现有的多种模型组合成一个更强的模型。基于集成学习的网络异常入侵检测方法的流程如图1所示。
[0041]
本实施例首先是基于单棵分类与回归决策树(cart),构建基本分类器。决策树递归的切分输入空间,并且在每一个切分空间上定义了一个局部模型。整个模型可以表示为一棵树。决策树的构建过程如图2所示。
[0042]
相较于其他模型,树模型的预测没有那么准确。这是树模型求解的贪心算法所导致的。结合集成学习的思想,本实施例利用基于bagging的随机森林算法进行多棵树的集成,给出一个较为稳定的预测分类算法。
[0043]
本实施例的方法具体包括如下步骤:
[0044]
s1:数据预处理。
[0045]
网络访问数据是文本串,在入侵检测流程中,需要将文本进行编码,以及输入最长文本串的填充。同时将数据集切分为训练集和测试集。
[0046]
s11:网络访问数据文本编码,将网络访问数据中的每个字符,按照码表,映射为对应的数字格式。同时设置模型所需的输入长度,对不足输入长度的进行补全,对超过长度的进行截断;数据集记为d={(x,y)},其中x=(x1,x2,

,xn)代表映射后网络访问数据,y=(y1,y2,

,yn)代表网络访问数据对应的类别标签,0代表正常访问,1代表恶意攻击。
[0047]
s12:数据集的切分,为切实检验模型效果,按照一定比例切分为训练集,测试集。训练集用于模型训练,测试集用于模型选取。
[0048]
s2:模型构建,建立决策树模型。
[0049]
s21:建立决策树模型,在每一个节点i,输入向量x的特征维度di和一个阈值ti比较,根据比较结果,x被划分到左,右分支的某一个中。这棵树的叶节点,就是模型的预测结果。
[0050]
如图1所示,第一个节点判断x1是否小于阈值t1。如果小于,继续判断x2是否小于阈值t2,如果小于,就进入到左边的叶节点。
[0051]
叶节点对应的空间区域为:
[0052]
r1={x:x1≤t1,x2≤t2};
[0053]
将这个区域与预测输出通过坐标轴切分联系起来。我们可以用一个平均响应与这
些区域联系起来。
[0054]
例如,对于区域1,可以通过yn代表第n个网络访问样本的类别。
[0055]
回归树的定义如下:
[0056][0057]
其中,rj是第j个叶节点对应的区域,wj是叶节点的预测输出,θ={(rj,wj):j=1:j},j是叶节点的个数。
[0058]
区域是由对应特征维度和切分阈值决定,
[0059]
r1=[(d1≤t1),(d2≤t2)];
[0060]
r2=[(d1≤t1),(d2>t2),(d3≤t3)];
[0061]
对于种类型的输入,比如男,女。与可能的值做对比,而不是这种数值阈值。对于分类问题,每个叶节点包含类别标签的分布,而不仅仅是平均响应。
[0062]
s3:模型训练,因为决策树模型的目标函数不可微,使用贪心算法求解参数的次优解;
[0063]
s31:模型训练的过程就是最小化损失函数的过程,损失函数如下:
[0064][0065]
但这个函数不可微,因为需要学习这颗离散树结构,这是一个np-c问题。
[0066]
常见的做法是利用贪心算法,我们迭代式地增加数的一个节点。
[0067]
cart,c4.5,id3是最常见的三种方法。
[0068]
求解思路如下,假设在节点i,令是所有抵达这一节点的样本。
[0069]

[0070][0071]
是将这些样本归到左子树或右子树的划分。
[0072]
(对于类别型特征,我们使用(对于类别型特征,我们使用
[0073]
选出最好的特征ji,这个特征的最优值ti;
[0074][0075]
损失函数c()定义如下:
[0076]
对第i个节点的损失函数可能阈值的集合第j个特征可以通过{x
nj
}去重后得到。
[0077]
例如:对于第一个特征可能有{4.5,-12,72,-12},
[0078][0079]
回归任务,可以用均方误差:
[0080][0081]
其中
[0082]
分类任务,首先计算经验分布函数在每个类别:
[0083][0084]
基于经验分布函数,可以计算gini系数:
[0085][0086]
或者熵函数:
[0087][0088]
都可以作为c()的备选。
[0089]
s32:为了减少模型的偏差,利用多棵决策树的结果进行平均。
[0090][0091]fm
(y|x)是第m棵树。
[0092]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
[0093]
所述计算机指令可以存储在可读存储介质中,或者从一个可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0094]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signalprocessing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0095]
可选的,本技术实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述所示实施例的方法。
[0096]
可选的,本技术实施例还提供一种运行指令的芯片,所述芯片用于执行上述所示实施例的方法。
[0097]
本技术实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述实施例的方法。
[0098]
可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
[0099]
可以理解的是,在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1