APP下载

基于改进NSGA-III的入侵检测特征选择研究

2020-02-03舒天豪陈卓唐广镇

电子技术与软件工程 2020年19期
关键词:父代二进制特征选择

舒天豪 陈卓 唐广镇

(湖北工业大学计算机学院 湖北省武汉市 430070)

1 引言

随着云计算、大数据和人工智能等计算机技术的飞速发展和大量应用,人们在互联网上的行为产生了大量数据,这些数据的维数和样本量均呈指数增长。在入侵检测系统中,入侵检测获取的数据量过于庞大,将会导致入侵检测效率低、准确率低、误报率高等问题,无法满足实时处理、主动防御的需求。因此对数据的冗余特征处理构建一个高效的入侵检测系统的重点,而特征选择可以有效的降低特征数目,同时减少计算工作量的处理方法,这样很大程度上提高工作效率。为选择出最佳特征子集构建的分类,使得回归模型能和特征选择近似或者更佳的预测精度,特征选择从原有的特征中集中选择进行评估,选择最佳的特征子集。这样不仅提升模型泛化能力、计算效率和可理解性,还能极大降低”维度灾难“的发生频次。入侵检测系统引用特征选择方法,可以让大数据降维,同时利于加强入侵检测系统时效性、准确率,从而减少误报率和漏报率。

2 研究现状

国内外研究人员针对入侵检测的特征选择算法做了大量研究。Maryam Samadi Bonab 一种基于蚁狮优化算法(ALO)和果蝇算法(FFA)的入侵检测系统,对入侵检测系统的特征进行择优选择[1]。Femi Emmanuel Ayo 等人提出了一种基于基于规则的混合特征选择优化的深度学习模型[2]。Faezah Hamad Almasoudy 提出了一种基于差分进化技术的入侵检测包装器特征选择模型[3]。Wenhao He 等人将集成的思想应用到特征选择中,对特征子集进行调整[4]。Jie Ling等人提出了提出一个方法,multi-classifier 合奏基于深度学习的入侵检测[5]。Zhao 等人提出了一种新的特征间冗余惩罚互信息算法(RPFMI),该算法具有选择最优特征的能力[6]。

3 NSGA-III多目标优化算法

3.1 NSGA-III算法

NSGA-III 采用与NSGA-II 间类似的框架,该算法还采用一种更好的选择机制来代替原有的拥挤度距离方法,利用参考点来引导种群在拥有多样性的同时逐渐靠近Pareto 前沿。在NSGA-III 中,在整个归一化超平面上有一组广泛分布的参考点,维持种群多样性。该算法很可能找到一个接近帕累托最优解对应于这些参考点。算法基本流程如下:先构造H 个结构化的参考点或让决策者直接提供一些特定参考点。NSGA-III 不间断进行目标函数求值、交叉变异、非支配排序、种群重组与环境选择等操作进行迭代,持续达到最大值的迭代次数。

3.2 改进的NSGA-III算法

在入侵检测的特征选择过程中,对数据集进行预处理过程中包括离散型特征独热编码以及连续特征标准化两个步骤。然而NSGAIII 的采用模拟二进制交叉(SBX)是模拟基于二进制串的单点交叉工作原理,作用于实数表示的染色体,只能解决连续的优化问题,无法处理离散的优化问题。本文将NSGA-III 原采用实数编码方式改进为二进制编码,SBX交叉方式改进为二进制交叉以解决该问题。NSGA-III 算法的改进主要在以下几个方面。

3.2.1 编码方式

把调度的解用染色体的形式表现出的过程便是染色体编码,能加大程度上提炼获取最关键的问题信息。优秀的编码方式能将染色体很好地含括问题的所有信息,同时有利于后续交叉与变异操作更加快捷有效的执行。然而NSGA-III 使用实数编码方式只能处理连续数据,不适用于实际情况中入侵检测的特征选择问题。本文使用二进制的编码方式,将离散性变量直接编码,把连续性变量先离散化后再进行编码。假设变量X 的定义域为[a,b],精度要求为L,则需要将定义域[a,b]划分为等长区间(b-a)*L 份,其中每个区间均用二进制串表示。此时定义域[a,b]中的任何一个点都对应一个二进制串<Sl-1,Sl-2,...,S0>,这就是将变量从实数空间向二进制位串空间转化。

3.2.2 交叉算子

将两个父体部分结构进行替换,从而生成全新的个体的操作便是基因交叉,习惯上对实数编码的操作叫做重组,对二进制编码的操作称为交叉。交叉算子能极大程度减少对父代的有效模式的破坏,同时拥有父代染色体中的优秀基因,实现对解空间的高效搜索,交叉操作能够保证NSGA-III 的全局搜索能力。NSGA-III 使用的SBX交叉主要是模拟基于二进制串的单点交叉工作原理,将其作用于以实数表示的染色体,无法解决离散的优化问题。改进的NSGA-III中使用基于权重的交叉方式解决此问题。

在每一代中,针对其适应度值选择两个父代染色体进行交叉操作。qi表示适应度在P 规模大小的种群的适应度,与下标是i的染色体在种群中所占的比例,每个染色体作为种群个体表示为一旦父代样本P1和P2被选中,将四种不同的交叉操作用于生成四个子染色体。四种交叉操作表达式:

其中交叉权重系数w 范围在0 到1 之间且为预设参数。c 表示“交叉操作”,表示第n 个交叉操作生成的子代,表示由第n 个交叉操作生成的子代第m 个元素,通过抽取父亲和母亲的每个特征位编码的最大值和最小值,能够分别得到max 和min 函数对应的结果。

3.3 改进的NSGA-III算法流程

改进的NSGA-III 算法具体步骤:

(1)初始化改进的NSGA-III 算法参数。设置种群规模为M,通过最大迭代次数为Im确定状态变量的取值范围,令t=0。

表1:入侵检测系统对比结果表

(2)依据种群规模生成H 个均匀分布的结构化参考点。

(3)依据决策变量的数值范围随机初始化生成父代种群Pt。

(4)对父代种群Pt进行遗传操作生成子代种群Qt,Pt和Qt的种群规模d 为N。

(5)合并父代种群和子代种群得到重组种群Rt,并计算重组种群中每个个体的适应值。

(6)通过快速非支配排序方法将重组种群分层。通过基于参考点的小生境保存策略选择M 个个体进入下一次迭代。

(7)令t=t+1,如果t=Im,则达到最大迭代次数,输出Pareto最优解集;如果t<Im,则重复执行步骤4-7。

使用改进的NSGA-III 算法进行特征选择,对种群的特征不断进行训练、非支配排序,最后获得一组近似帕累托前沿,再此囊括了特征选择算法找到的非支配解。近似帕累托前沿拥有相当足量的信息来选择不同种类的攻击类型特征。因为已经将无效特征剔除,降低了特征维数,所以运用帕累托解集中特征子集能够提升分类性能,还能缩短训练时间。

4 实验设计

本实验在硬件环境为16GB 内存、i7 CPU、Windows 10 操作系统下进行,使用MATLAB 仿真环境。本研究的实验方案设计:

(1)对NSL-KDD 数据集进行预处理获得实验数据集;

(2)按照文本中的方法把实验数据集进行特征选择,从而获取测试数据集;

(3)把进行特征选择之后的测试数据集送入分类器中得到检测准确度;

(4)将已经得到的获取准确度和现在拥有的方法对比,从而得到结果。

4.1 NSL-KDD数据集

本实验使用NSL-KDD 数据集,该数据集是KDD 99 数据集的改进版本,这个数据集的新版本仍然存在一些问题,将使用整个数据集进行评估。NSL-KDD 数据集的基本结构与KDDCup 99 数据集相同(即,它有22 种攻击模式或正常流量,以及包含41 个特性的字段)。数据集的预处理有三个步骤:

(1)分类特征转换为数字型;

(2)离散型特征独热编码;

(3)连续特征标准化。

4.2 实验评价指标

以下指标用于评估性能。

准确率(accuracy):正确分类的记录数相对于总记录的比例。

精确率(precision):结果中正确分类的正例相对于预测为正例样本的比例。

召回率(recall):结果中正确分类的正例相对于真实正例样本的百分比。

误报率(FalseAlarm):被分类为正例的负例数量相对于总负例的比例。

4.3 特征选择

首先使用改进NSGA-III 算法对实验数据集NSL-KDD 中五类攻击类型提取特征,这些特征数目共有41 个。进行特征选择后,得到一个规模大小为20 的种群,我们选出种群中最好的三个特征子集个体分别为个体1、个体2、个体3。这三个个体降维后的特征数量分别为24、21、23,特征选择有明显效果。

4.4 实验结果分析

通过改进的NSGA-III 算法特征选择后的三个特征子集个体的特征数量分别从41 降为24、21、23,且特征数量越少,精确度越低,即两个目标是相互冲突的。得到三个特征子集个体的精确度分别是99.41%、99.14%、99.41%。

本文将特征子集个体的精确度与现有入侵检测算法的进行对比,结果如表1所示。可以看出本文提出的方法虽然特征数量不是最少的,但是精确度最高,优于其他算法。

5 结束语

本文提出的基于改进的NSGA-III 入侵检测特征选择方法,用降维后的数据集构建神经网络模型,在NSL-KDD 数据集上进行的实验已验证了提出方法的有效性,该方法可以以较少的特征子集获得最高的精度。由于入侵检测数据集的样本不平衡,在未来的工作中计划构建新的入侵检测模型解决入侵检测模型的分类不均衡问题,并尝试研究更有效的多目标优化算法来进行特征选择,使用更好的的分类器模型和更新的入侵检测数据集。

猜你喜欢

父代二进制特征选择
中国高等教育的代际传递及其内在机制:“学二代”现象存在吗?
延迟退休决策对居民家庭代际收入流动性的影响分析
——基于人力资本传递机制
用二进制解一道高中数学联赛数论题
有趣的进度
二进制在竞赛题中的应用
父代收入对子代收入不平等的影响
男孩偏好激励父代挣取更多收入了吗?
——基于子女数量基本确定的情形
Kmeans 应用与特征选择
联合互信息水下目标特征选择算法
基于特征选择和RRVPMCD的滚动轴承故障诊断方法