臧世伟 高丽婷 黄 涛 殷欣欣
(河北建筑工程学院,河北 张家口 075000)
近年来,网络安全已经成为一个非常重要的问题,关系到人们生活的方方面面.网络安全的第一道防线,防火墙已是最普遍的防护方式.但是随着攻击技术不断迭代和攻击工具的复杂多变,现有的防火墙方式已经无法满足网络安全的需求.因此,网络的防护需要一种更加有效的、更加多样的方式[1].现如今,集成学习已经得到很好的研究,并且大量用于提高一些分类任务的准确率.现在,已有的集成方法包括平均合成器、中位数合成器、最大合成器、多数投票和加权多数投票(WMV).由于其概念简单、直观和在实践中的有效性,WMV是迄今为止最受欢迎的[2].
本文提出基于LUS-PSO权重优化的入侵检测模型.该模型先训练6个Classfier1和6个Classfier2弱分类的分类器.然后,使用粒子群算法、元优化粒子群算法和加权多数算法(WMA)方法的集成学习模型.这些模型综合12个分类器的意见,得出最后的决定.最后,实验证明该模型在攻击检测的准确性和误报率等方面更优.
本文提出基于LUS-PSO权重优化的入侵检测模型,其模型如图1所示.
图1 入侵检测模型
其中,该入侵检测模型包括数据预处理和攻击检测2个部分.
KDD Cup数据集是入侵检测中最常用的数据集,常用于评价入侵检测算法的性能.但是如今,研究人员已经证实最简单的机器学习算法在训练集上已经能达到95%的检测正确率,并且在测试集上的准确率也能达到88%.大量实验证明了KDD Cup数据集存在以下两个缺陷:一是训练集中存在大量的重复数据,导致分类算法容易过拟合;二是测试集中的大部分数据与训练集中数据重复,使得在算法比较时,说服力不足[3].本文使用的数据集是NSL-KDD数据集,该数据集完美解决这两个缺点.
NSL-KDD数据集中的每条数据都具有41条特征,其中包括网络协议、目标主机的网络服务类型和数据流量等特征.这些特征有字符型和数字型,但机器学习只能处理数字型,因此NSL-KDD数据集需要进行数值标准化和数值归一化的处理[4].
本文提出一种LUS-PSO权重优化的入侵检测模型.通过权重模型生成分类器的权值,得出最后的决定.
1.2.1 Stacking集成学习
集成学习可以将不同类型的单一机器学习算法组合,通过利用组合的策略,对不同的算法进行层次划分,然后在不同的层次中进行训练,最后整合所有的单一模型的效果,提高预测的能力[5].因此,集成学习算法能在很多方面都能得到很好的应用.Stacking集成学习框架的基本原理如图2所示,在图2中,该框架划分为两个结构.第一层中的模型被称为弱分类器,这里的弱分类器需要对训练集进行训练,然后将结果输出到第二层学习器,得到最终的输出.
图2 Stacking模型原理
Stacking集成学习中,训练集样本进入到模型以后,首先进行随机划分,然后输入到不同的分类器中进行建模.分类器在建模后传递预测结果至第二层分类器中,而元分类器则通过输入信号估计最后的结果.在整理结果的时候,Stacking主要使用对元分类器的学习能力加以优化,从而增强了模型的返回能力和扩充能力,并且通过尝试使用不同的元分类器,也可以得到不同的学习效果.
由于不同的算法具有不同的置信度.因此,需要构建一个能平衡个别分类器在特定数据集上的弱分类器,为此引入加权的概念.加权多数投票的定义为:
(1)
式中:ωj为权值,y与Cj(x)是集成学习器预测标签.
1.2.2 LUS-PSO权重优化
(1)局部单峰采样
局部单峰采样(LUS)方法也用于元优化器,以便于从PSO找到更好的参数.单峰函数是指有一个峰的函数[6],它可定义为:
定义:设f(x)是定义在[a,b]上的函数,若:
a.存在x*∈[a,b]使minx∈(a,b)f(x)=f(x*)
b.对任意的a≤x1 (2)粒子群优化算法 粒子群算法是一种常用机器学习参数优化的方法.其粒子将速度和位置作为评价指标.其流程如下:首先,初始化粒子的速度和位置,并在搜索空间中搜寻到每个粒子局部最优解,将其记为局部极值;然后局部极值共享给整个粒子群里的其他粒子,经与其他粒子对比,找到最优的局部极值,作为当前全局最优解;最后所有粒子根据当前局部最优解和整个粒子群共享的当前全局最优解来动态地调整速度和位置[7]. 基于LUS-PSO权重优化算法原理如图3所示. 图3 基于LUS-PSO权重优化算法原理 LUS-PSO权重优化的基本流程如下所示: Step2 针对m个训练集,利用算法对分类器的连接权重值进行优化选择,得到最优的弱分类器权值. Step3 利用优化后的分类器对m个训练集分别进行训练,获得第t次的权重集{ω1,ω2,…,ωt}. Step4 记录本次权重集{ω1,ω2,…,ωt},根据Step3得到的入侵检测模型对m个训练集的预测误差绝对值和小于设定值,或达到最大迭代次数,算法结束,跳出迭代进入Step 6;否则进入Step 5. Step5 根据入侵检测模型对m个训练集的预测误差绝对值和,更新m个训练的权重d1,d2,…,dm,生成新的样本,返回Step 2,进行迭代. Step6 得到最终的预测模型权重集{ω1,ω2,…,ωt}. 为了验证算法的有效性,按照本文提出的LUS-PSO加权优化算法进行计算机仿真实验,实验平台为Python3.8.3,硬件内存为16GB,操作系统为Windows 10. 混淆矩阵多用于评价分类结果的优劣[8],其定义如表1: 表1 混淆矩阵 其评估指标的计算公式如下: (2) (3) (4) (5) 本文选用准确率作为评价入侵检测模型的指标,从不同的角度对LUS-PSO权重优化模型性能进行评估. 首先,这里选用比较热门的AdaBoost、Random Forest、SVM和KNN这4种机器学习算法,其对应分类准确率参见表2内容.加权多数投票(WMV)是集成学习中最常见的一种加权机制[9],其对应分类准确率如表3所示. 表2 4种分类器的分类准确率结果 表3 权重多数投票的分类准确率结果 但是选择合适的权值影响集成学习的精确度.由此,本文提出基于LUS-PSO权值优化的模型.LUS-PSO权重优化模型结合集成学习方法,经过处理过后的数据,进而构建模型. 本文将AdaBoost、Random Forest、SVM和KNN算法套入入侵检测模型,并且定义SVM-KNN和AdaBoost-Random Forest两个融合分类器的集成学习,其对应分类准确率参见表4内容. 表4 LUS-PSO的分类准确率结果 由表2可知,SVM和KNN算法在Dos、Normal和R2L样本的分类准确率方面优势略显明显.表3结果可以观察到,相对于表2的4中机器学习算法,LUS-PSO权重优化的集成学习有较明显的提升.对比表3,本文提出基于LUS-PSO权重优化的模型确实提升了分类的准确率. 本文提出一种基于LUS-PSO权重优化的方法.该方法使用粒子群算法和加权多数算法,选出适合的最优权重集,并且综合已训练的集成学习器,得出最后的决定.针对网络中入侵行为攻击强隐蔽、变化快和随机性高的特点,该方法优于其他集成学习算法.但是本文只使用一种数据集,不具备更强的说服力.总的来说,该方法在网络安全检测中具有良好的有效性和优越性.2.1 实验环境
2.2 实验评估
2.3 实验结果分析
扩展阅读文章
推荐阅读文章
恒微文秘网 https://www.sc-bjx.com Copyright © 2015-2024 . 恒微文秘网 版权所有
Powered by 恒微文秘网 © All Rights Reserved. 备案号:蜀ICP备15013507号-1