基于改进麻雀算法优化SVM参数的入侵检测方法技术

技术编号:34466571 阅读:43 留言:0更新日期:2022-08-10 08:39
本发明专利技术提供了基于改进麻雀算法优化SVM参数的入侵检测方法,在麻雀算法基础上,提出基于Levy飞行、模拟退火、改进因子、正余弦算法的四种改进方法,进而提高麻雀算法的性能,使其跳出局部最优并稳定收敛。本发明专利技术麻雀搜索算法的发现者更新过程中加入正余弦算法和改进因子减小陷入局部极值的可能性,避免发现者与整个群体停滞不前的现象;在加入者更新过程中加入模拟退火算法和Levy飞行,提高全局和局部寻优能力,进而为SVM提供更好的参数,达到更好的分类效果,解决入侵检测系统精度不够问题。解决入侵检测系统精度不够问题。解决入侵检测系统精度不够问题。

【技术实现步骤摘要】
基于改进麻雀算法优化SVM参数的入侵检测方法


[0001]本专利技术涉及群智算法中的SSA、Levy飞行、模拟退火算法、正余弦算法等优化方法,SVM分类器等相关技术,属于入侵检测分类问题。

技术介绍

[0002]随着越发复杂的网络结构,网络攻击行为愈加多样化,因此,能够检测庞大流量数据和攻击特征的入侵检测系统成为当今社会的研究热点。近年,机器学习算法在入侵检测的应用取得了不错的发展,但由于其初始参数的影响较大,无法构建出高效运转的模型,而融合群体智能算法的机器学习可将非线性优化问题归纳为极为简易的生物求生问题,可以在流量数据庞大网络结构复杂的入侵检测系统中获得广泛应用。
[0003]入侵检测系统中的核心内容是高效精准的攻击分类,其关键部件是分类器,而分类器的性能很大程度上取决于初始参数的选取。将群体智能算法运用到分类器的参数优化中,可以大大提高入侵检测系统的性能。SVM是一种传统机器学习算法中的分类模型,它的模型定义是在特征空间上的间隔最大的线性分类器,且鲁棒性较强,通常对维数不敏感,适合小样本数据学习。与其它传统机器学习算法相比,泛化能力较强,适用于入侵检测系统。
[0004]麻雀搜索算法是一种新型优化算法,主要通过模拟麻雀捕食和反捕食的行为特征进行数学建模。麻雀搜索算法具备控制参数少、求解精度高、易与其他算法结合等优点。与大多数群体智能算法和启发式算法相比,麻雀搜索算法在对大部分问题优化方面有一定优势,但依然存在收敛精度低、难以跳脱局部极值的问题。为此提出了基于Levy飞行、模拟退火算法、正余弦算法和改进因子这些方法来优化麻雀算法,以提供更好的参数供SVM精准高效分类,进而解决入侵检测的精度问题。
[0005]专利技术目的
[0006]本专利技术是为了解决入侵检测系统的误报漏报率高、精度不够等问题。采用传统的基于机器学习的入侵检测系统不能很好地适应未知攻击以及庞大的流量冲击,若直接用群智算法进行参数优化,普遍存在容易陷入局部最优、收敛不稳定、初始值随机性较大等缺点。针对该问题,本专利提出一种基于改进的麻雀算法的SVM分类算法。具体的,在麻雀算法基础上,提出基于Levy飞行、模拟退火、改进因子、正余弦算法的四种改进方法,进而提高麻雀算法的性能,使其跳出局部最优并稳定收敛。
[0007]本专利技术的目的是这样实现的,具体步骤如下:
[0008]步骤1:在入侵检测权威数据库KDDCUP中提取数据组成数据集,将数据集以7:3分为训练集(x_train,y_train)和测试集(x_test,y_test),采用随机划分,尽量排除偶然性,以防数据过拟合。
[0009]步骤2:初始化麻雀种群参数,设置预警值ST,发现者比例PD,有危险意识的麻雀比例SD,上下边界ub、lb,迭代次数Max以及种群数N等参数。
[0010]步骤3:根据步骤2进行种群初始化,对种群中的每个个体X,X=r*(ub

lb)+lb,使其随机分布,r为[0,1]间随机数。
[0011]步骤4:对步骤3的种群个体进行适应度fitness计算,其中适应度值则根据SVM的分类效果(准确率Accuravy)求得,为fitness=2

train_acc(训练集准确度)

test_acc(测试及准确率)。
[0012]步骤5:对步骤4中的麻雀进行适应度值排序,且根据其排序对种群进行排序,找出最优个体和最差个体,选出初始最优解GbestScore以及对应的位置GbestPosition。
[0013]步骤6:对步骤5初始后的麻雀种群进行迭代选取全局最优解及对应位置。
[0014]步骤6.1:从适应度值较优的麻雀中选取部分作为发现者,引入正余弦算法和改进因子w。当R2<预警值ST时,则利用改进因子与正弦融合求出新一批发现者Xnew=w*X+r11*sin(r2)*|r3*GbestPositon

X|;反之,则混合余弦与改进因子更新发现者种群Xnew=w*X+r11*cos(r2)*|r3*GbestPositon

X|,其中r2,r3为[0.2π]间的随机数,其中t为当前迭代次数。
[0015]步骤6.2:剩余麻雀作为跟随者,进行加入者更新,利用模拟退火的思想,在麻雀算法的基础上,加入P。引入较大值T(这里取8000),若适应度值较差则与原算法一样,算法不变;否则,使(BestF为最优个体的适应度值),并对sigmoid函数进行优化,判断其正负,inx为正数反之,
[0016]判断随机数epsilon∈[0,1]与P的大小,若大于等于,则适应度值较差,需要离开该区域;反之,实行Levy飞行,其中R取1.5,r为[0,1]间随机数,F(x)=(x

1)!
[0017]步骤6.3:负责警戒的麻雀进行危险更新:当当前适应度值大于BestF时,Xnew=Xbest+b|X

Xbest|;等于时为,Xbest代表全局最优位置,Xw代表最差位置,fi、fw分别代表当前最佳适应度值和最差适应度值,λ为最小常数,b为步长,是一个符合正态分布中均值为0、方差为1的随机数,k是一个[

1,1]间的均匀随机数。
[0018]步骤6.4:进行边界检测,循环搜寻每个个体的位置,都不超过上边界ub和下边界lb,若超过,则更新到相对应的边界处。
[0019]步骤6.5:仿照步骤4,5进行当前种群适应度值计算,对其排序,选出适应度值最佳个体与全局最优GbestScore进行比较。若大于,则选用当前最优为全局最优,更新全局最优值及其最优位置;反之,则进行下次迭代,直到迭代结束选出最优解即为SVM参数最优值。
[0020]与现有技术相比,本专利技术的有益效果是:
[0021]麻雀搜索算法的发现者更新过程中加入正余弦算法和改进因子减小陷入局部极值的可能性,避免发现者与整个群体停滞不前的现象;在加入者更新过程中加入模拟退火算法和Levy飞行,提高全局和局部寻优能力,进而为SVM提供更好的参数,达到更好的分类效果,解决入侵检测系统精度不够问题。
附图说明
[0022]图1为本专利技术的方法流程示意图。
具体实施方式
[0023]下面结合附图与具体实施方式对本专利技术作进一步详细描述。
[0024]1、将KDDCUP数据集以7:3的比例随机分为训练集(x_train,y_train)和测试集(x_test,y_test),初始化麻雀种群参数,设置预警值ST,发现者比例PD,有危险意识的麻雀比例SD,上下边界ub,lb,迭代次数Max以及种群数N等参数,并对种群进行初始化。
[0025]2、对初始化后的种群个体进行适应度计算并排序,且根据其排序对种群进行排序,找出最优个体和最差个体,选出初始最优解GbestScore以及对应的位置GbestPosition。
[0026]3、对初始后的麻雀种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进麻雀算法优化SVM参数的入侵检测方法,其特征在于,包括如下步骤:步骤1:在入侵检测权威数据库KDDCUP中提取数据组成数据集,将数据集以7:3分为训练集x_train,y_train和测试集x_test,y_test,采用随机划分,尽量排除偶然性,以防数据过拟合;步骤2:初始化麻雀种群参数,设置预警值ST,发现者比例PD,有危险意识的麻雀比例SD,上下边界ub、lb,迭代次数Max以及种群数N等参数;步骤3:根据步骤2进行种群初始化,对种群中的每个个体X,X=r*(ub

lb)+lb,使其随机分布,r为[0,1]间随机数;步骤4:对步骤3的种群个体进行适应度fitness计算,其中适应度值则根据SVM的分类效果准确率Accuravy求得,为fitness=2

train_acc训练集准确度

test_acc测试及准确率;步骤5:对步骤4中的麻雀进行适应度值排序,且根据其排序对种群进行排序,找出最优个体和最差个体,选出初始最优解GbestScore以及对应的位置GbestPosition;步骤6:对步骤5初始后的麻雀种群进行迭代选取全局最优解及对应位置;步骤6.1:从适应度值较优的麻雀中选取部分作为发现者,引入正余弦算法和改进因子w;当R2<预警值ST时,则利用改进因子与正弦融合求出新一批发现者Xnew=w*X+r11*sin(r2)*|r3*GbestPositon

X|;反之,则混合余弦与改进因子更新发现者种群Xnew=w*X+r11...

【专利技术属性】
技术研发人员:施然刘泽超贺敬武俊鹏
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1