[发明专利]一种融合改进智能蜂群算法和BP神经网络的入侵检测方法在审
申请号: | 201810874273.7 | 申请日: | 2018-08-03 |
公开(公告)号: | CN109120610A | 公开(公告)日: | 2019-01-01 |
发明(设计)人: | 段乐天;韩德志;田秋亭;王军;毕坤 | 申请(专利权)人: | 上海海事大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24;G06N3/08;G06N3/00 |
代理公司: | 上海互顺专利代理事务所(普通合伙) 31332 | 代理人: | 成秋丽 |
地址: | 201306 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种融合改进智能蜂群算法和BP神经网络的入侵检测方法,包括以下步骤:搜集网络数据包并进行预处理,作为入侵检测模型训练数据;设计多层神经网络模型,为隐藏层和输出层神经元设置激活函数;使用改进智能蜂群算法对神经网络模型进行预训练,输出最优蜜源位置向量;按照最优蜜源位置向量设置神经网络模型的初始权值和阈值;设计反向传播算法并用入侵检测数据对神经网络进行训练,得到神经网络入侵检测模型;设计网络入侵检测软件模块,将其部署在网络环境中实时检测网络数据流量,对检测出的异常网络流量产生报警。本发明采用改进智能蜂群算法优化BP神经网络算法,并且提高了神经网络模型的训练速度和入侵检测的精度。 | ||
搜索关键词: | 入侵检测 蜂群 算法 神经网络模型 智能 入侵检测模型 神经网络 位置向量 改进 神经元 预处理 多层神经网络 网络入侵检测 网络数据流量 异常网络流量 网络数据包 反向传播 激活函数 软件模块 实时检测 算法优化 网络环境 训练数据 融合 权值和 输出层 隐藏层 搜集 报警 并用 输出 检测 部署 | ||
【主权项】:
1.一种融合改进智能蜂群算法和BP神经网络的入侵检测方法,其特征在于,包括如下步骤:步骤S1.搜集网络数据包并进行预处理,作为入侵检测模型训练数据;所述预处理具体包括如下步骤:步骤S1‑1.数值化,对于入侵检测数据中的字符型特征,通过将其扩展为单位向量来完成数值化;假设该特征有k个特征值,则将其扩展为k维单位向量;步骤S1‑2.归一化,数据按比例缩放,将其统一映射到[‑1,1]区间上;计算表达式如式(1)所示:其中,x表示原始数据,xmax表示原始数据的上界,xmin表示原始数据的下界,y表示归一化之后的数据,ymax表示归一化后数据的上界,ymin表示归一化后数据的下界;步骤S2.设计多层神经网络模型,为隐藏层和输出层神经元设置相应的激活函数;所述多层神经网络模型是一种机器学习算法,是一种模仿生物神经网络的结构和功能的计算模型;神经网络由大量的人工神经元联结进行计算,是一种自适应系统;具体包括如下步骤:步骤S2‑1.设置网络层的节点数,设置隐藏层和输出层神经元的数目;步骤S2‑2.在神经网络输入层、隐藏层和输出层之间建立连接,设置相应的权值和阈值参数;步骤S2‑3.为隐藏层和输出层神经元设置相应的激活函数,使神经网络模型具有分类特性;步骤S3.使用改进的智能蜂群算法对神经网络模型进行预训练,输出最优的蜜源位置向量;所述改进智能蜂群算法是在经典人工蜂群算法基础上,结合深度优先搜索框架和两个基于精英解的搜索表达式形成;所述人工蜂群算法是一种模拟蜜蜂采蜜行为的算法,其角色分为雇佣蜂、观察蜂和侦察蜂;假设在D维空间中,种群规模为2×N,雇佣蜂个数=观察蜂个数=N,蜜源与雇佣蜂相对应,蜜源数目也为N,第i个蜜源的位置记为X={X1,X2,X3,…,XN};每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量;所述深度优先搜索是一种用于遍历树或图的算法,沿着树的深度遍历树的节点,尽可能深的搜索树的分支;基于精英解的搜索表达式如式(2)和式(3)所示:Vi,j=Xe,j+φi,j×(Xe,j‑Xk,j) (2)其中,i和k在{1,2,…N}中随机选择,j从{1,2,…,D}中随机选择,Vi,j是第i个候选蜜源的第j维;Xe,j是第e个食物源的第j维,Xk,j是第k个食物源的第j维;φi,j是区间[‑1,1]的随机实数;其中,Xe为从精英解中随机选择的解,Xk为从当前种群中随机选择的解;e不等于k,且k不等于i;Xbest为当前最优解,φe,j是区间[‑1,1]的随机实数;所述改进智能蜂群算法对蜜源的搜索过程,具体包括如下步骤:步骤S3‑1.雇佣蜂对当前蜜源进行邻域搜索,产生新蜜源,根据贪婪原则选择选择较优蜜源;步骤S3‑2.观察蜂根据雇佣蜂分享的信息选择一个蜜源,进行邻域搜索,根据贪婪原则选择较优蜜源;步骤S3‑3.雇佣蜂放弃蜜源,转变为侦察蜂,并随机搜索新的蜜源;搜索过程中,观察蜂根据雇佣蜂分享的信息,以轮盘赌的方式根据以下表达式选择一个蜜源:式中,pi表示选择第i个蜜源的概率,fit是食物源的适应度,fi表示待解决问题的目标函数值;雇佣蜂根据记忆中食物源的位置进行邻域搜索,当找到新的食物源时会评估其适应度,雇佣蜂根据表达式(6)进行搜索:Vij=Xij+Rij(Xij‑Xhj) (6)式中,i∈{1,2,...,N},j∈{1,2,...,m},Xhj中的h是随机选取的,Rij是[‑1,1]之间的一个随机数,Vij表示邻域食物源,Xij表示当前食物源,Xhj表示随机选取的食物源,每个解经历数次迭代,如果没有改善则舍弃该解;如果某个解i经过数次迭代后没有成功更新,按照表达式(7)重新进行初始化:Xi=Xmin+rand(0,1)(Xmax‑Xmin) (7)式中,Xmax、Xmin分别表示定义域的上边界和下边界,rand(0,1)表示在0到1之间的随机数;步骤S4.按照步骤S3中输出的最优蜜源位置向量设置神经网络模型的初始权值和阈值;步骤S5.设计反向传播算法并用入侵检测数据对神经网络进行训练,得到神经网络入侵检测模型;所述反向传播算法是一种通用的训练神经网络的方法,通过最小化神经网络的损失函数,来调整神经网络的权值和阈值;具体包括如下步骤:步骤S5‑1.设计反向传播算法;选择平方误差函数作为神经网络训练的损失函数,同时为了避免神经网络训练过拟合,在损失函数中增加权值与阈值的平方和,训练过程将会偏向比较小的连接权值和阈值,使网络输出更加平滑;选择随机梯度下降方法,以损失函数的负梯度方向对权值与阈值进行调整,迭代降低损失函数的值,并且为了提高神经网络训练过程中跳出局部极小值的能力,在计算梯度时加入了随机因素,即使陷入了局部极小点,计算出的梯度仍可能不为零,有机会跳出局部最小继续搜索;步骤S5‑2.将入侵检测数据作为神经网络的训练数据,使用反向传播算法对神经网络模型进行训练,得到神经网络入侵检测模型;步骤S6.根据神经网络入侵检测模型设计网络入侵检测软件模块,将网络入侵检测软件模块部署在网络环境中实时检测网络数据流量,对检测出的异常网络流量产生报警;所述网络入侵检测软件模块具体包括如下模块:攻击预警模块是网络入侵检测软件的第一层,实时监控请求流的变化,当请求流达到一定限定阈值时,将流量转发至流量预处理模块进行初步处理;流量预处理模块收集接收到的网络流量数据包,对数据包进行数据预处理,并发送给神经网络入侵检测模块;神经网络入侵检测模块接收流量预处理模块转发的数据包,神经网络入侵检测模型对数据包进行检测;攻击响应模块接收神经网络入侵检测模块的检测结果,对于检测结果为Dos、Probe、R2L、U2R等4种异常网络数据包,产生相应的报警信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海海事大学,未经上海海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810874273.7/,转载请声明来源钻瓜专利网。