第42卷 第2期 Vo1.42 ·计算机工程 2016年2月 February 2016 No.2 Computer Engineering 人工智能及识别技术· 文章编号:1000-3428(2016)02-0190-05 文献标识码:A 中图分类号:TP18 人工蜂群优化的BP神经网络在入侵检测中的应用 沈夏炯 ,王 龙 ,韩道军 (河南大学a.数据与知识工程研究所;b.计算机与信息工程学院,河南开封475004) 摘 要:传统BP神经网络存在容易陷入局部最优、收敛速度慢等缺点。为此,根据人工蜂群算法全局寻优以及群 体智能的特点,在初始化神经网络参数时,将神经网络的误差作为人工蜂群算法的适应度,选择适应度最好的一组 参数作为神经网络的权值和阈值,避免神经网络陷入局部最优和收敛速度慢的问题。将人工蜂群优化的BP神经 网络模型应用于入侵检测中,仿真实验结果表明,优化后的网络模型可加快收敛速度,提高检测精度。 关键词:人工蜂群算法;BP神经网络;入侵检测;遗传算法;全局寻优 中文引用格式:沈夏炯,王 龙,韩道军.人工蜂群优化的BP神经网络在入侵检测中的应用[J].计算机工程,2016, 42(2):190—194. 英文引用格式:Shen Xi ̄iong,Wang Long,Han Da ̄un.Application of BP Neural Network Optimized by Artiifcial Bee Colony in Intrusion Detection[J].Computer Engineering,2016,42(2):190-194. Application of BP Neural Network Optimized by Artificial Bee Colony in Intrusion Detection SHEN Xi ̄iong l-.WANG Long ,HAN Daojun ' (a.Institute of Data and Knowledge Engineering;b.School of Computer and Information Engineering Henan University,Kaifeng,Henan 475004,China) 【Abstract】The existence of traditional BP neural network is easy to fall into local optimum,slow convergence and other shortcomings.According to the features of global optimization and swarm intelligence of Artificial Bee Colony(ABC) algorithm,in the neural network parameter initialization,this paper uses the deviation of the neural network as a fitness of ABC algorithm,selects the best fitness of a set of parameters as a nerve power networks and thresholds.Doing SO can avoid falling into local optimum neural network and slow convergence problem.The BP neural network model of ABC optimization applied to intrusion detection.Simulation results show that the network model is optimized to accelerate the convergence rate and improve the detection accuracy. 【Key words】Artiifcial Bee Colony(ABC)algorithm;BP neural network;intrusion detection;genetic algorithm; global optimization DOI:10.3969/j.issn.1000.3428.2016.02.034 1 概述 BP(Back Propagation)神经网络…是一种按误 性,使其结果也存在一定随机性,导致网络收敛速度 过慢,训练易陷入到瘫痪状态。 针对BP神经网络的缺点,现阶段研究人员主要 差逆向传播算法训练的多层前馈网络,是目前应用 最广泛的神经网络模型之一 。 。BP神经网络算法 利用一些智能优化算法 刮来优化神经网络。智能 优化算法模拟自然界生物系统,完全依赖生物体自 身的本能,具有无意识的寻优行为来优化其生存状 态,以适应环境的一类新型的优化方法。其中的遗 在实际应用中尚存在如下不足:(1)BP算法的误差 函数是沿梯度方向下降的,是一种单点搜索算法,全 局搜索能力低下,易陷入局部最优 ;(2)BP算法在 对权值的学习过程中,由于其初始结构参数的随机 传算法 (Genetic Algorithm,GA)借鉴了自然界优 胜劣汰的进化思想,但是这些优化的算法在收敛速 基金项目:国家自然科学基金资助项目(61272545);河南省科技厅科技攻关计划基金资助项目(142102210390);河南省教育厅自然科学 基金资助项目(13B520918)。 作者简介:沈夏炯(1963~),男,教授、博士,主研方向为空间数据处理、形式概念分析;王收稿日期:2015-02-02 修回日期:2015-03 ̄8 E-mail:844684936@qq.com 龙,硕士研究生;韩道军,副教授、博士。 第42卷第2期 沈夏炯,王龙,韩道军:人工蜂群优化的BP神经网络在入侵检测中的应用 191 度和检测正确率上还没有达到理想的效果。 考虑到人工蜂群算法 在多变量函数问题上具 有较强优化能力的特点,选用人工蜂群算法优化BP 神经网络。在BP神经网络初始化阶段,把BP神经 同样,可以得到输出层的输出值Y 、实际值和预 期的输出之间的误差。由式(3)得到: P =∑( 一Yk) (3) 网络的权值和阈值作为人工蜂群算法的优化目标, 用BP神经网络的误差作为人工蜂群算法的适应度 来评判BP神经网络的权值和阈值。当人工蜂群算 法迭代运行到最大迭代次数时,选择适应度最佳的 一组权值和阈值完成BP神经网络训练。通过把这 2种方法的优势进行结合,构建混合型神经网络 模型。 入侵检测是对人侵行为的发觉。通过对计算机 网络或计算机系统中若干关键点收集信息的分析, 发现网络或系统中是否有违反安全策略的行为和被 攻击的迹象。数据比较多且具有随机性,不容易建 立检测模型,而神经网络可以模拟人类神经系统的 认知特点,根据已知数据快速建立检测模型,所以利 用神经网络进行入侵检测是一个很好的选择。本文 将人工蜂群优化后的BP神经网络模型用于入侵检 测 中。 2 BP神经网络 BP神经网络是一种通过模拟神经系统的结构 和生物神经网络信息传递的智能算法。神经网络具 有较强的自学能力,能够做到自适应计算,是一个大 规模的非线性自适应系统。一般情况下,BP神经网 络由一个输入层、一个或多个隐含层和输出层组成。 一个典型的BP神经网络结构如图1所示。 输入 误差反向传播 输出 信息正向传播 图1 BP神经网络的结构 在BP网络中,输入向量X=( , :,…, ),隐 含层由式(1)计算: =∑Wii=1 j 一 (1) 其中,W 是权值; J是输入层和隐含层之间的阈值。 在隐含层中的实际输出值由式(2)计算: = = ) (2) 其中,d 表示输出节点k的输出期望值;q是输出节 点的数目。可以通过式(4)和式(5)调整隐含层和 输出层之间的权值和阈值: Aw :d(d —Yk)Y (1一Y )Y (4) A0 =a(d 一Y )Y (1一Y ) (5) 其中,a∈(0,1)是比例常数,反映在训练时候的学习 速度。 如果不能从输出层得到期望的结果,它需要不 断调整权值和阈值,逐渐使误差变小。BP神经网络 具有很强的自学习能力,并能迅速为未知的数据集 获得最优解。因此,神经网络应用在入侵检测中是 一种非常有效的方法¨ 。 然而,单一的神经网络有其局限性:没有足够的 数据时会降低入侵检测的精度。更重要的是,该神 经网络获取最优解时收敛速度慢,并且很容易陷入 局部最优。这些因素都会影响入侵检测的效果。为 了解决上述问题,本文引入了人工蜂群算法。 3人工蜂群算法 人工蜂群(Artificial Bee Colony,ABC)算法… 最初是为了解决多变量函数的优化问题。人工蜂群 算法模拟的蜜蜂群智能觅食行为,通过交流与合作, 以实现不同角色之间的智能化 。 在人工蜂群算法中,初始阶段,食物源的位置随 机产生,并且它们的花蜜量是已经决定的。该算法 生成SN个解决方案(食物源位置),SN代表群体的 大小,每个解决方案由式(6)计算: = i +rand(0,1)( 一 ) (6) 其中, 表示一个优化问题可能的解决方案; ∈{I, 2,…,D};max和min是{1,2,…,SN}中除了元素i 的最大和最小元素。rand(0,1)表示它是在[0,1]中 的一个随机数。对于每一个食物源位置来说,置 (i =1,2,…,SN),(‘『=l,2,…,D)是一个D维向量,D 是优化参数的数量。初始化完成后,假设重复周期 是MCN。为了寻找新的食物源并且测试适应度,引 领蜂或跟随蜂可能会更改在记忆中的位置信息。适 应度的值通过式(7)计算: 1 觚:J南 0 (7) 【1+abs(f ̄) <0 192 计算机工程 2016年2月15日 其中, 是解决方案i的目标函数值。如果新的食物 源的适应度值比前一个大,则蜜蜂存储新的位置,并 解决方案,是因为引领蜂和跟随蜂在寻找最优解时 使用了正反馈机制,正反馈机制可以加快收敛 速度。 且忘记旧的位置。否则它保持记忆旧的位置。在所 有的引领蜂完成搜索过程后,在舞蹈区和跟随蜂分 享食物源的蜂蜜量和位置信息。跟随蜂评价所有引 领蜂带来的食物源信息并且根据适应度的值选择一 个食物源。通过式(8)计算概率函数P 的值: p : pf 一 (8)【 ) 4人工蜂群优化的BP神经网络 基于BP神经网络和ABC算法,提出ABC优化 神经网络的算法,并将其应用到入侵检测中。在 ABC算法优化BP神经网络的过程中,优化的对象 是网络的权值和阈值。该方法可以提高BP神经网 ∑ 其中, 是位置i适应度的值,它和食物源的花蜜量 成正比;SN是食物源的数量。为了从旧的食物源中 选择一个食物源位置,引领蜂和跟随蜂用式(9)计算 新的食物源位置。 V ,=Xf7+ i,(X f—X ,) (9) 络的自学习能力,加速收敛速度,从而使神经网络可 以更好地在入侵检测中执行,提高检测精度。 使用ABC算法优化BP神经网络的基本思路 是,当神经网络自学习训练不能够满足准确性的要 求时,把神经网络的误差函数作为ABC算法的适应 其中,k={1,2,…,SN}和.7={1,2,…,D}是随机产 度,用ABC算法优化BP神经网络运行参数。在蜂 群算法中的蜜源位置表示BP神经网络中的权值和 生的。 提[一1,1]中的一个随机数,它控制搜索 位置附近的食物源。随着(X ,一X )值的增加,在 阈值,然后通过适应度函数计算每个蜜源的适应度, 蜂群算法根据蜜蜂采蜜的过程寻找出最好的适应度 所对应的蜜源。通过比较每个蜜源的当前适应度和 位置 周围的搜索也增加。随着在搜索位置中越 来越接近最优解,步骤自适应降低了。 通过以上过程可以看出,人工蜂群(ABC)算 历史值求出最好的一组蜜源,在迭代次数内把得到 的最好蜜源作为BP神经网络初始的权值和阈值,如 图2所示。 把神经网 络的误差 函数作为 蜂群算法 的适应度 法有角色分工和转换功能,可以在群体的个体之间 实现协同工作。ABC算法能够更快地找到最优的 开始卜—— 数据预处理 随机产生神 网络的参数 开始神经 网络溯练 结束 篙嘉 蒙 具体算法过程描述如下: \/ 篷 一茎 墨 为每个食物源l 设定目标函数r l初始化 l蜂群信息 图2 人工蜂群优化神经网络的流程 骤(1)~步骤(3),如果误差满足要求则结束训练, 否则继续。 (1)选择训练用的样本数据,产生输入层和隐含 层之间的权值w 隐含层和输出层之间的权值 为W (7)使用当前的权值和阈值作为输入,设定 MCN,设定神经网络的误差作为式(7)的目标函数。 (8)迭代运行ABC算法,直到到达MCN。设定 (2)通过式(1)、式(2)计算实际的输出值Y 。 (3)由式(3)计算神经网络的误差,如果误差满 足要求,结束训练转到步骤(5),否则转到步骤(4)。 (4)通过式(4)和式(5)调整输入层和隐含层、 隐含层和输出层之间的权值和阈值。 (5)通过步骤(4)中得到的结果,计算权值 和 。 从ABC算法中得到的权值和阈值作为新的初始参 数去训练BP神经网络,然后转到步骤(4)。 (9)结束训练,输出权值w ,和 网络模型测试数据得到结果。 以上优化算法由于在初始化神经网络参数时扩 大了参数的搜索空间,调整参数时使用了正反馈机 制,可以避免BP神经网络陷入局部最优,加快了收 ,使用得到的 (6)根据新的权值和样本数据,重新执行步 第42卷 第2期 沈夏炯,王 龙,韩道军:人工蜂群优化的BP神经网络在人侵检测中的应用 193 敛速度。这种集成方法充分利用神经网络学习能力 强的优势,同时也利用了人工蜂群算法全局寻优的 特点。 5实验与结果分析 本文先把数据进行预处理,然后和传统的BP神 经网络及遗传算法优化的BP神经网络做了收敛速 度对比和检测正确率对比2个实验。 5.1数据预处理 实验使用KDD CUP99数据集 ,是由美国麻 省理工学院林肯实验室提供的一种被广泛使用的入 侵检测比赛数据。大约有5×10。条数据,39种攻击 类型,每一条数据有41个特征属性和1个类标识。 数据集中包含了1种正常的标识类型normal和 22种攻击类型,如表1所示。 表1 KDDCup99入侵检测实验数据的标识类型 表2选择实验中使用到的3种类型数据。每条 u 数据的前41个代表了数据的属性,最后一个表示数 据标识,例如第1条表示正常连接记录的normal, 第2条数据中的smurf和第3条数据中的neptune表 示拒绝服务攻击类型中的2种情况。 表2 KDDCup99数据集中的3条数据 标号 数据 0,tcp,http,SF,215,45076,0,0,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00, .0,0,0.00,0.00,0.00,0.00,0.00,0.00,0.00, 0.00,normal 0,icmp,ecri,SF,1032,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,511,511,0.00,0.00,0.00,0.00,1,00,0.00, 0.00,255,255,1.00,0.00,1.00,0.00,0.00,0.00,0.00, 0.00,smurf 0,tcp,pfiva ̄,SO,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,130,2,1.O0,1.O0,0.O0,0.O0,0.02,0.07,0.O0, 255,2,0.01,0.07,0.00,0.00,1.00,1.00,0.00, 0.00,neptune 第2条数据表示协议类型的tcp,第3条数据表示 目标主机网络服务类型的http,连接正常或者错误状 态的SF都是字符型的数据。由于神经网络只能处理 数值型的数据,因此在数据进行训练和测试前还需要 进一步处理,将其中的字符型数据转化为适合神经网 络处理的数值型数据,可采用编码实现。实验中的编 码通过自定义实现,具体编码表如表3所示。 表3字符数据编码 字符数据 编码成数值 tcp http Normal Private So 5.2收敛速度对比实验 实验环境为hp-pc,windows7 64位操作系统,处 理器AMD Phenom(tm)II×4B97Processor 3.20 GHz. 安装内存(RAM)4.00 GB。仿真环境为MatR2012a。随机选择KDDCUP数据集中1 lab 000条数据 记录。其中有3种分类结果:normal,Neptune,smurf。 每个类别有600条、200条、200条记录。选择其中一 半的数据作为训练集,另一半用来测试。中间层神经 元的激活函数选用S型函数,输出层神经元的激活函 数为简单的线性函数。设定人工蜂群算法模型参数 如下:初始蜂群大小为60,迭代的次数是100。 因为BP神经网络权值和阈值初始时是一个区 间内的随机数,通过误差反向传播调整权值和阈值 时只能在随机数的周围调整,而人工蜂群算法在初 始化神经网络参数时扩大了参数的搜索空间,调整 参数时使用了正反馈机制,可以避免BP神经网络陷 入局部最优,加快了收敛速度,所以在相同的迭代数 下,会先满足误差要求。从图3中可以看出,如果均 方误差是10~,在不到70次迭代时,人工蜂群优化 的BP神经网络已经比其他2种算法先满足了误差 要求,说明其具有更快的收敛速度。 图3算法收敛速度对比 ~194 计算机工程 2016年2月15日 (上接第189页) [7]Davidov D,Tsur O,Rappoport A.EnhancedSentiment Learning Using Twitter Hashtags and Smileys[C]// Proceedings of the 23rd International Conference on Computational Linguistics.Washington D.C.,USA: IEEE Press,2010:241-249. [10] Liu Q,Feng C,Huang H. Emotional Tendency Identification for Micro—blog Topics Based on Multiple Characteristics『C]//Proceedings of the 26th PACLIC’12. Washington D.C.,USA:IEEE Press,2012:269—278. R.Twitter Sentiment Analy— [11] Go A,Huang L,Bhayani[8] Barbosa L,Feng J.Robust Sentiment Detection on Twitter from Biased and Noisy Data[C]//Proceedings of the 23rd International Conference on Computational Linguistics.Washington D.C.,USA:IEEE Press,2010: 36_44. sis C]//Proceedings of ACL’O9.Washington D.C., USA:IEEE Press,2009:235.243. u K L.Li W J.GUO M.Emoticon Smoothed Language [12] LiModels for Twitter Sentiment Analysis I C l// Proceedings of AAAI’12.Washington D.C..USA: IEEE Press.2012:125 134. [9] 庞磊,李寿山,周国栋.基于情绪知识的中文微博情 感分类方法[J].计算机工程,2012,38(13):156—158,162. 编辑索书志