刘国璧,袁宏俊
(1.安徽电子信息职业技术学院 思想政治理论课教学科研部, 安徽 蚌埠 33030;2.安徽大学 数学与计算科学学院 数学系, 安徽 合肥 230039;3.安徽财经大学 统计与应用数学学院 财贸系, 安徽 蚌埠 233030)
支持向量机(Support Vector Machine,SVM )是20世纪90年代 Vpanik等人提出的一种机器学习方法,该算法基于结构风险最小化原则发展起来,能较好地解决非线性、小样本和过学习等问题,已在文本图像分类、数据挖掘和模式识别等领域广泛应用. 在SVM应用中,核函数、惩罚参数及损失函数影响着SVM的学习和泛化性能,所以参数的确定非常重要,对SVM的参数优化的研究成为热点. 目前,SVM参数的确定方法有:交叉验证法、粒子群算法、梯度下降法和遗传算法等,但这些方法都有一定的缺陷. 交叉验证法耗时较长[1];梯度下降法稳定性不高[2];遗传算法易陷入局部最优[3];粒子群算法收敛速度快,但易陷入局部最优[4].
人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是一种新型群智能算法,可以解决一些较复杂的模型优化问题[5]. 该算法具有自适应能力强、收敛速度较快、鲁棒性强和不易陷入局部最优等优点,目前,已成为一种重要的群智能算法,但AFSA后期寻优速度慢、易陷人局部最优.
针对以上问题,考虑到AFSA和SVM的优缺点,本文将人工鱼的视野和步长扩大到整个鱼群搜索区域,提出一种改进AFSA优化SVM参数的模型. 用改进后的AFSA寻找SVM的参数. 最后,将该模型用于网络安全态势研究,通过仿真实验来验证了该算法具有较好的寻优能力、较强的泛化性能和较高的预测精度.
支持向量机[6]将低维特征空间映射到高维特征控空间,将非线性回归问题转化为线性回归问题,其数学模型为
设训练集为(xi,yi),i=1,2,…,l,x∈Rd,y∈R,回归函数为
f(x)=ω·φ(x)+b
(1)
(2)
式中:φ(x)为非线性映射,ω为权向量,b为阈值,Lε为损失函数,C为惩罚因子.
(3)
(4)
其对偶问题为
(5)
(6)
进而回归函数为
(7)
式中:K(xi,x)=φ(xi)φ(x)为核函数.
人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)[7]通过模拟鱼群的觅食、追尾、聚群以及随机行为进行搜索,实现全局寻优. AFSA中各行为如下:
觅食行为
Xj=Xi+rand()·visual
(8)
(9)
式中:Xi为人工鱼当前位置,Xj为视野visual内的随机状态,rand()是[0,1]间随机数,step为移动步长,k为时刻. 如果Yi 聚群行为 (10) 式中:Xc为人工鱼当前中心位置. 如果Yc/nf>δYi,则向中心位置移动一步,否则,执行觅食行为. 追尾行为 (11) 式中:Xmin为当前人工鱼邻域位置. 如果Ymax/nf>δYi,则向Xmin移动一步,否则,执行觅食行为. 随机行为 (12) 觅食行为的缺省行为是随机行为,在觅食行为中,超过一定的试探次数后,人工鱼就随机选择一个状态,并向该方向移动. 为了克服AFSA后期寻优速度慢、易陷人局部最优等缺点,提高AFSA全局搜索能力,本文把每条人工鱼的搜索区域扩大到整个鱼群搜索范围,有利于AFSA跳出局部最优解[8]. 将式(9)~(12)依次进行如下修改 (13) (14) (15) Xnext=rand()·(xmax-xmin)+xmin (16) 式中:xmin和xmax分别为人工鱼搜索边界的最小、最大值,Xbest为全局最优位置. 图1 改进鱼群优化SVM网络安全态势预测模型流程图 针对SVM参数选择较难问题,用改进的AFSA寻找SVM的参数,并用历史数据作为SVM模型的输入和输出,进行学习和仿真. 改进的AFSA优化SVM的网络安全态势预测模型流程如图l所示. 模型步骤如下[9] 步骤1: 初始化人工鱼群,视野visual,步长step,最大觅食次数try_number,最大迭代次数max gen等. 步骤2: 网络安全态势数据归一化处理,分别将处理后的数据作为SVM的输入和输出,待优化参数为σ2,C,鱼群算法的适应度函数为数据的均方根误差. 步骤3: 每条人工鱼执行聚群和追尾,根据各结果判断下一步行为: 聚群、追尾或觅食. 步骤4: 搜索一轮后,根据得出的每个人工鱼的适应值,将最优值存于公告牌中. 步骤5: 判断迭代次数是否达到终止条件,若达到最大迭代次数,则输出最优值,否则返回步骤3. 步骤6: 结束寻优,将步骤5输出参数作为SVM的建模参数,建立SVM网络安全态势预测模型. 步骤7: 测试模型,利用网络安全态势数据进行模型测试,得出仿真结果,并将仿真值与实际值进行比较分析. 为了验证改进AFSA对SVM模型优化的有效性,运用该算法优化SVM的惩罚因子C和核函数σ. 目前,权威的网络安全数据集有麻省理工大学林肯实验室的DARPA2000数据集和Honeynet数据集. 其中Honeynet数据集在反映网络黑客行为时有一定优势,更能体现网络安全态势的变化规律,本文实验数据采用Honeynet公布的网络黑客数据,共126个网络安全态势值,选取前110个数据作为SVM训练样本,后16个数据作为SVM测试样本. 为了避免网络安全态势值跨度大影响模型预测结果,对样本数据进行预处理,将数据归一化到区间(0,1)中,归一化公式为 (17) 式中:yi,yi′分别为网络安全态势归一化前后的值,ymin,ymax分别为态势归一化前得最大和最小值,n为态势值个数. 归一化后的网络安全态势值如图2所示. 图2 归一化后的网络安全态势值 SVM的惩罚因子C∈[1,100],核函数σ∈[0.0002,1],AFSA鱼群数量为N=50,视野visual=10,步长step=0.02,变化系数α=0.2,最大迭代次数maxgen=60. 为了进行对比,分别建立GA-LSSVM、PSO-LSSVM及ABC-LSSVM模型对SVM的参数C和σ进行寻优[10],对网络安全态势最后16个值进行仿真研究,得到如图3所示的结果. 图3 4种算法网络安全态势预测值与实际值对比 从图3中可以看出,基于改进AFSA优化的SVM模型的网络安全态势预测曲线与实际曲线吻合较好,吻合效果优于GA-LSSVM、PSO-LSSVM及ABC-LSSVM的网络安全态势预测模型,这表明改进AFSA优化的SVM模型的预测误差更小、预测结果优于其他3种方法. 为了进一步验证改进AFSA优化的SVM模型的优越性,利用均方根误差(RMSE)、平均绝对误差(MAE)和相关系数(R)评价模型的性能,RMSE和MAE值越小,R越大,模型的预测性能越好[11]. 4种模型预测精度如表1所示. 表1 4种模型的性能评价指标 从表1中可以看出,改进AFSA-SVM模型的RSME和MAE值均小于其他模型的RSME和MAE值,改进AFSA-SVM模型的网络安全态势预测值与实际值的相关系数R最大,表明相关性最强,因此,提出的改进AFSA-SVM模型性能优于其他4种模型,适用于网络安全态势预测研究问题. 为了克服参数选择对SVM性能的不利影响,本文对人工鱼群算法进行了改进,提出了一种基于改进AFSA的SVM参数优化算法, 加快了后期的收敛速度,避免陷入局部最优,提升了全局寻优能力. 利用改进AFSA的SVM模型对网络安全态势进行预测,并且与GA-LSSVM、PSO-LSSVM及ABC-LSSVM模型进行对比分析,结果表明,改进AFSA优化的SVM模型性能优于其他比照模型,具有较高的预测精度,对网络安全态势值预测具有较好的效果. 另外,网络安全态势预测值可以为网络管理者提供参考,以便更好地对网络进行监督与管理.2.2 人工鱼群算法的改进
3 改进AFSA优化SVM的预测模型
4 仿真实例
4.1 实验数据及处理
4.2 参数设置
4.3 模型效果及评价
5 结语