APP下载

人工鱼群特征选择的网络入侵检测系统

2023-09-07刘景美闫义博

西安电子科技大学学报 2023年4期
关键词:鱼群特征选择子集

刘景美,闫义博

(西安电子科技大学 通信工程学院,陕西 西安 710071)

1 引 言

对于入侵检测来说,高维数据中存在较多冗余或不相关特征,可能会影响分类速度,甚至降低分类精度,因此数据维度在入侵检测问题中是关键因素。文献[1]中设计了一种自适应分箱特征选择方法,有效缩减了数据维度,在保证准确率下实现快速模型训练。文献[2]介绍了部署在各个领域入侵检测的最先进的群体智能方法。文献[3]在传统鸽群算法中结合新的适应度函数、二进制离散化新方法,余弦相似度的连续离散化算法,并没有对群智能算法本身做出改进。由于贪心步骤的缘故,鸽群无法飞到差于自己的位置,特征子集的搜索空间受到限制。文献[4]提出了一种基于人工蜂群(Artificial Bee Colony,ABC)和人工鱼群(Artificial Fish Swarm,AFS)算法的混合分类方法,并在NSL-KDD、UNSW-NB15数据集上进行了验证。人工鱼群算法虽然具有鲁棒性强、收敛性能好的优点,但搜索效率上仍存在盲搜、优化结果准确率低等缺点。

针对以上问题,笔者提出了一种基于多目标人工鱼群的特征选择算法,用来处理入侵检测数据集中的冗余特征,从而提升检测阶段的准确率。将传统的人工鱼群进行改进,并与经典的遗传算法、多目标优化算法等进行结合,用于入侵检测的特征选择,在保证较高准确率的条件下缩小数据维数。在入侵检测经典数据集NSL-KDD、UNSW-NB15对所提出的系统进行对比实验,验证所提方法的检测性能。

2 基于人工鱼群特征选择的网络入侵检测系统

2.1 人工鱼群算法

人工鱼是真实鱼抽象化、虚拟化的一个实体,其中封装了状态数据和行为准则[5],针对身边环境的刺激,做出相应的活动。算法主要利用鱼的三大基本行为:觅食、聚群和追尾。

(1) 觅食行为:由鱼趋向食物的特性抽象而来。设人工鱼当前的状态为Xi,相应的食物浓度为Yi,鱼会在可视域范围内随机选取下一状态Xj,计算公式如式(1)。其对应食物浓度为Yj。如果Yj>Yi,则鱼游向Xj,下一状态为式(2),否则按式(3)随机移动一步:

Xj=Xi+VR(·) ,

(1)

(2)

(3)

其中,V为视野范围,S为步长,R(·)为生成随机数函数。

(2) 聚群行为:对鱼躲避危害来保证自身生存的行为进行抽象。人工鱼Xi计算可视域中鱼群数量与中心位置Xc。如果食物浓度Yc>Yi并且nf/n<σ(nf为当前邻域中的同伴数量,n为全部鱼个数),则表示其视野中心Xc具有较高的食物密度,且周围不拥挤,Xi游向Xc,下一状态为式(4),否则执行其他行为。

(4)

(3) 追尾行为:当有一条人工鱼发现解空间中食物浓度高的地方,周围的人工鱼会尾随而来。人工鱼Xi探索可视域内食物浓度最高的人工鱼Xj的位置;若Yj>Yi,且Xj周围不拥挤,则Xi游向Xj,下一状态为式(5),否则执行其他行为。

(5)

2.2 用于特征选择的二进制人工鱼群

优化算法应用于入侵检测的特征选择时需将个体状态设为二进制,用来表示对特征的取舍问题。个体的维数设置为数据的列数,每一维由0和1组成,1表示选择该维数对应的特征,0代表不选择,如图1所示。每一个人工鱼的状态对应选取的一组特征子集。

图1 二进制特征选择方法

2.3 改进的人工鱼群算法

在算法的初始阶段,搜索空间为整个解空间。每条人工鱼拥有较大的可视域,在可视域中执行聚群、觅食、追尾等行为。传统的鱼群算法寻优范围固定,会导致收敛缓慢甚至退化。为了改善搜索能力,得出最佳的特征子集,文中对视野范围进行了动态调整。初始阶段扩大寻优范围,加强全局搜索能力。定位到最优解的大致位置后,加强局部搜索能力。令鱼群的视野适当减小以加快收敛速度,增加收敛精度。群体视野范围根据式(6)自适应调整,聚群行为视野范围根据式(7)自适应调整。所选出的最优特征子集维数递减,其视野范围根据最优特征子集维数发生变化。

(6)

Vswarm=(n-iitera)×0.7 ,

(7)

其中,Lfea为数据集特征维数,Lfea_best为当前选出的最优特征子集维数,nitera为总迭代次数,iitera为当前的迭代次数,n为鱼群中个体数。

在鱼群觅食行为中的试探次数根据最优个体状态进行调整,依据先全局最优后局部最优的准则,对试探次数进行递减,如式(8)所示。搜索全局最优时尝试觅食次数大,便于寻找到最优解。最优特征子集维数降低,视野范围随之降低,其尝试次数变少;除上述改进外,在鱼群的聚群、追尾、觅食行为的基础上添加消亡操作。公告板经过多次迭代尚未更新时,会触发消亡操作。目的是将未执行动作的部分鱼群(劣解)抛弃,增大鱼群搜索位置的随机性,加快寻优收敛速度。重新分配到当前的最优个体周围,即假定当前最优附近存在更优状态,从而增强搜索全局最优值的能力。

(8)

3 基于遗传算法和CatBoost的改进多目标人工鱼群优化方法的入侵检测模型

模型整体框图如图2所示,具体过程如下。

图2 模型框架

(1) 数据层对数据预处理。

① 数据转换:首先使用归一化,将数值转化为[0,1]范围,归一化如式(9)所示。之后,对数据集中的标签值特征进行数值化处理。以NKL-KDD中“protocol_type”属性为例,其取值分别为“TCP”“UDP”“ICMP”,转化为1、2、3。对UNSW-NB15数据集中的字符特征,在保证训练集及测试集中各特征类别个数相同的基础上进行独热化编码。

(9)

其中,xmax、xmin分别为样本数据的最大值、最小值。

② 数据清洗:删除空值及特征值唯一的特征,以准备对数据集的多维特征进行特征选择。

(2) 在特征选择层,通过节2.3改进的人工鱼群算法,即在传统人工鱼群算法的基础上结合自适应更改参数、消亡操作等,与遗传算法、多目标优化算法有机结合,进一步改进搜索空间、内存空间和算法收敛速度。结合多种算法的优点来实现包装器特征选择,达到数据降维的目的。

① 利用改进的人工鱼群算法进行初步选择。

② 在每次迭代之后,使用遗传算法设定交叉变异轮数,在每轮交叉变异中随机挑选两个个体,在此基础上生成新的个体。降低单个个体的适应能力,防止其越界影响所有种群的适应能力,进而减少重复性并增加随机性,以便跳出种群的局部最优陷阱。

③ 由于单目标人工添加的加权值具有较大的主观性,因此在特征选择层的最后执行多目标优化。在多目标优化中最重要的是设置系统目标,文中旨在寻找维度小、精度高的特征子集,因此将维度与精确度作为多目标的两个目标函数。算法侧重全局寻优,引入NSGA-II拥挤距离机制,对拥挤度进行排序,其计算方法如式(10)。按拥挤距离越大则越优的原则,在外部档案集中选取非支配解替换鱼群中的劣解。

(10)

(3) 经过特征选择后,将低维数据传入CatBoost中生成模型评估结果。利用鱼群算法中公告板记录的历史最优个体群,即特征选择层选出的不同特征子集对数据进行分类,得出多组预测结果,与原始分类标签生成一个新的数据集,作为CatBoost预测的数据集。CatBoost节点分类时,采用余弦相似度方法遍历所有候选特征及分裂阈值,余弦相似度的计算表示为

(11)

其中,ωi标识样本i的权重,减少过拟合;ai标识样本在树上的输出值;gi为样本i的梯度,依据迭代轮次的结果计算每个样本的梯度,得到根节点中每个样本的梯度向量。

4 实验仿真结果与分析

4.1 数据集与性能指标

实验采用入侵检测通用数据集NSL-KDD[6]、UNSW-NB 15[7]。NSL-KDD数据集共有148 516条流量数据,其中80 176条为正常类,68 340条为攻击类。UNSW-NB15共有257 673条流量数据,其中164 673条数据为正常类,93 000条数据为攻击类。

为验证方法的有效性,使用准确率(Accuracy,A)、精确率(Precision,P)、召回率(Recall,R)、F1分数作为实验的性能指标。准确率是数据集所有样本中被正确判断的概率。精确率表示预测为某类的样本有多少是正确的。召回率表示样本中的正例有多少被正确预测。F1分数综合描述了模型精确率和召回率的性能。

(12)

(13)

(14)

(15)

其中,TP(真阳性)与TN(真阴性)表示数据集中属于被正确预测为正常类及入侵类的样本数量;FN(假阴性)、FP(假阳性)表示数据集中被错误预测为正常类、入侵类的样本数量。

4.2 算法不同阶段精确率对比

比较算法更新阶段下对入侵检测的性能,验证所提算法的有效性。传统人工鱼群AFSA[8]、节2.3提出的改进的人工鱼群算法(Improved Artificial Fish Swarm Algorithm,IAFSA)、添加多目标优化的人工鱼群算法(Multi-objective Artificial Fish Swarm Algorithm,MAFSA),与文中所提改进的人工鱼群算法的比较如表1所示。

表1 人工鱼群算法比较

传统的AFSA算法维数为20,准确率约为76%,易陷入局部最优,寻优效果维度多,准确率低。使用节2.3中改进的人工鱼群算法,得到维数为19,准确率约为81%,证明了此改进在入侵检测中的效果。在此基础上加入多目标优化后,维度下降,精度上升,体现了多目标优化的有效性。文中算法在维度低的情况下,依然获得了较高的准确率,说明改良的人工鱼群算法与多目标优化都有其优势,对这两方面同时进行改进,准确率在传统人工鱼群上提升约11%,得到比单个优势更为突出的效果。

文中算法与CatBoost结合在使用NSL-KDD数据集的情况下的入侵检测性能如图3所示。随着公告板更新次数的增加,准确率不断提升,最终达到约93%,证实了鱼群算法中历史最优个体群对算法整体寻优的可靠性。表2、表3分别显示了使用文中算法对NSL-KDD、UNSW-NB15筛选出的3个特征子集的性能指标。

表2 NSL-KDD不同特征子集性能

表3 UNSW-NB15不同特征子集性能

图3 算法迭代过程对性能指标的优化

4.3 不同入侵检测系统性能对比

现有的入侵检测系统方法可分为3类:包装器选择、过滤器选择和无特征选择。表4列出了在NSL-KDD实验的现有特征选择方法的性能。可以看出,文中算法能以最少的特征获得较高的总检出率,在表中所有特征选择方法中总检出率最好。与PCA+GHSOM-pr[10]、FDR+kernel PCA[11]、 PSO和Sigmoid_PIO[3]相比,文中算法实现了高准确率和低维度。

表4 不同特征选择方法性能比较

5 结束语

最近的研究表明,构建入侵检测系统有两个重要组成部分:鲁棒的分类方法和高效的特征选择算法。在特征选择方面基于人工鱼群算法、多目标优化算法、遗传算法等进化算法,提出了一种新的入侵检测系统攻击检测方法。在分类算法方面,利用鱼群算法中公告板记录的全部历史最优个体群,而非单独使用当前最优个体,其对应的特征子集更有代表性。在NSL-KDD、UNSW-NB15数据集上进行仿真,实验结果验证了所提算法在准确率、特征子集维数等方面的有效性。虽然提出的算法已经显示出令人鼓舞的性能,但其还可以通过优化搜索策略进一步增强。此外,样本分布不平衡对入侵检测系统的影响需要在未来的研究中仔细考虑。

猜你喜欢

鱼群特征选择子集
拓扑空间中紧致子集的性质研究
连通子集性质的推广与等价刻画
关于奇数阶二元子集的分离序列
鱼群漩涡
Kmeans 应用与特征选择
基于改进鱼群优化支持向量机的短期风电功率预测
基于人工鱼群算法的光伏阵列多峰MPPT控制策略
联合互信息水下目标特征选择算法
每一次爱情都只是爱情的子集
多子群并行人工鱼群算法的改进研究