DOI:10.16707/j.cnki.fjpc.2017.06.013
建电脑
COMPUTER
基于果蝇算法优化的BP神经网络
徐杏芳
(长江大学计算机科学学院湖北荆州434023)
【摘要】BP神经网络算法使用非常广泛,传统的BP神经网络算法虽然具有不错的拟合非线性函数的能力,但是容 易陷入局部的极小值,并且传统的算法收敛的速度慢。本篇文章详细地论述了如何使用果蝇算法优化传统的BP神经网 络算法中初始的权值和阀值,通过相应的验证和比较提出了该模型的有效性。
【关键字】BP神经网络;果蝇算法;收敛速度;MATLAB ;权值;阀值0引言
果虫蝇优化算法(Fruit Fly Optimization Algorithm, FOA)是台湾学者潘文超经过长时间观察果蝇活动后发现的,并于2011 年提出的一种新型智能优化算法,它相对于BP神经网络算法 具有很好的全局优化性能,能够满足不同领域优化问题。果蝇 相对于其它的生物,视觉和嗅觉特别灵敏,果蝇在活动的过程 中,依靠它独特的嗅觉,果蝇能够感应空气中的各种气味,甚至 还可以闻到几十公里以外的食物的味道,同时利用其独特的视 觉与其它果蝇聚集,并同时向聚集方向移动。果蝇算法就是一 种提出模仿果蝇的觅食过程的新型群智能优化算法。BP (Back Propagation)神经网络是目前应用最多的有效地 算法之一,它是由Rumelhart和McCelland为首的科学家小组 提出,是一种按误差反向传播的一种训练算法,是目前应用最 广泛有效的神经网络模型之一,BP网络能够自主学习和存贮 输入-输出模式的映射关系。但是BP神经网络也存在缺点,比 如它的学习效率低,收敛的速度比较慢,并且容易陷入局部极 小值的局限。为了对如上所述的问题进行改进,在本文中讨论 了利用果蝇算法对BP神经网络算法的优化。
1果蝇算法优化BP神经网络的基本原理
1.1果蝇算法基本思想
果蝇优化算法(F0A)是一种基于果蝇觅食行为推演出寻 求全局优化的新方法。果蝇本身在感官知觉上优于其他物种, 尤其是嗅觉和视觉上,果蝇的嗅觉器官能很好的搜集漂浮在空 气中的各种气味,甚至能够嗅到40公里以外的食物源。然后, 飞到食物位置附近后亦可使用敏锐的视觉发现食物和同伴聚 集的位置,并且向该方向飞去。果蝇算法主要应用于求最优解 的问题。
果蝇群体算法搜寻食物的过程如下:
(5)
求出第(4)步的最大的一个味道浓度的值,这也是求极
大值的过程。
(6) 保留第(5)步中的最大值的x、y的坐标,然后果蝇群体 利用视觉往最大值的坐标位置飞去。(7) 进入迭代过程,目的寻找最优,重复的执行步骤第(2) 步到第(5)步,每次都要判断味道浓度是否优于前一迭代味道 浓度,若是则实行步骤(6)。
1.2 BP神经网络基本思想
BP神经网络算法处理数据的基本过程如下:首先输入信 号Xi通过中间节点,中间节点处于隐藏层,隐藏层可分为多层。 然后通过中间节点作用在输出节点上,经过非线形变换,然后 会产生输出信号,网络训练的每个样本都包含两个部分为输入 值和期望输出值,然后接着求出两者之间的偏差。为了使偏差 尽量小,于是通过对输入节点与隐层节点连接强度的取值、隐 层节点与输出节点之间的联接强度以及阈值的适度调整,可以 使误差沿梯度方向下降,经过不断地学习训练,就可以确定与 最小误差相对应的权值与阈值,训练这时就可以结束了。经过 训练的神经网络就能对类似样本的输入信息,自行处理输出误 差最小的经过非线形转换的信息。
1.3果蝇算法优化BP神经网络
采用果蝇算法优化BP神经网络的基本思想,果蝇个体的 距离和方向看作是BP神经网络中的权值和阀值,每一组果蝇 个体的方向和距离是利用随机的生成,按照优化算法迭代的基 本思想,迭代过程就是为了寻找神经网络适应度函数的最优 解,一直到迭代完毕。这时表明以求得最优解,然后把最终优化 的权值和阀值带入BP神经网络,选取相应的激活函数。然后带 入数据,对BP神经网络进行训练。其具体的步骤如下。
1)
首先对BP神经网络进行初始化,然后决定bp神经网络
(1) 对果蝇群体位置进行初始化。中每层神经元的数量,包括输入层、隐含层、输出层。最后根据每
(2) 果蝇个体搜索食物的距离与方向利用不,Yi表示,足 层的神经元的数量就可以计算出所需要权值和阀值的数量。为X方向的初始值与一个随机数之和,Yi为y方向的初始值与
2)
把每个权值和阀值作为一个果蝇个体,对它们的位置进
行初始化。一个随机数的和。(3) 因为食物的具体位置和方向是未知的,所以应先估计 每个果蝇个体与原点之间的距离,距离为Xi的平方与Yi的平 方之和开根号,然后再计算味道浓度判定值,浓度判定值是距 离的倒数。(4)
3)利用随机函数,给每个权值和阀值搜寻全局最优值的随
机方向和距离进行赋值。
把在第(3)步所求出的浓度判定值代入到判定函数中,
0 ‘ (*d,yd,s表示随机方向和距离)
于是就求出每个果蝇个体位置的味道浓度的值。^i=Td+s
基金项目:湖北省教育厅科学技术研究计划指导性项目(B2015442)
2017年第6期|福建电脑 • 27 •
福建电脑
UJIAN COMPUTER
4) 利用数学中求距离的方法,计算个体与原点的之间距离
D。然后计算味道浓度判断值S,S为距离的倒数。
|i = Vx2+y2
W=1/A
5) 把4)中计算出来的S带入适应函数中。
Ti =F(Si)
6) 求出最小值,并且记下此时所对应的权值和阀G=min (T)7)
利用所求出的最小值优化适应度函数的值,并且对阀值
和权值的坐标进行存储。
0.
图1算法收敛速度对比图
确率进行了对比,对比的结果如下表1。
8) 9)
重复执行第3)步到第6)步,并且判断适应度函数的值
网络模型
把爹带过程中所求得最优的权值和阀值代入BP神经
表1算法正确率对比
是否比前一代的权值与阀值优化,若优化则执行7)
网络中。10) 把准备测试数据代入训练好的BP神经网络,进行验证。
1.4仿真与验证
采用MATLAB 2015中文版,操作系统为win7,仿真使用数 据集为KDD C:UP99数据集。KDD C:UP99数据集是美国麻省理 工学院林肯实验室提供广泛被使用的入侵检测比赛数据。每一 条数据有41个特征属性和1个类标识,数据集包含了 1种正 常的表示类型和22种攻击类型。
1) 收敛速度对比
随机使用了 KDD CUP数据集中2000多条数据,其中一半 作为训练集,一般作为测试数据,中间层神经函数选用Log- Sigmoid函数,输出层为线性函数。果蝇群体为50,迭代次数为 100。果蝇算法优化BP神经网络算法,扩大了搜索空间,避免了 BP神经网络容易陷入局部优化的问题,在相同的迭代次数下, 相对于其它两种算法,首先满足了误差的要求,这就充分说明 了利用果蝇算法优化BP神经网络,具有更快的搜索速度。收敛 对比速度如图1所示。
2) 正确率对比
选择了两组KDD CUP数据集中2000多条数据,BP神经 网络、萤火虫优化BP神经网络和果蝇算法优化神经网络的正
第1组数据
70.889.390.7
第2组数据
68.587.693.6
BP神经网络
萤火虫优化BP神经网络果蝇优化BP神经网络
从上表中可以看出,果蝇算法优化BP神经网络在网络入 侵检测中正确率更高。
2结束语
本文将BP神经网络与果蝇算法相结合,充分发挥了二者 的优势,克服了 BP神经网络局部极小的缺陷。通过MATLAB 对数据进行实证分析,结果表明优化后的算法误差小,评估更 加准确,有一定的研究和使用价值。
参考文献:
J]袁曾任•人工神经网络及应用[M]•北京:清华大学出版社,2000[2] 王李进,吴宝国,郑德祥•基于人工神经网络的软件质量评价J]•计
算机应用与软件,2008,25(12):134-150
[3] 蒋良孝,李超群•基于BP神经网络的函数逼近方法及其MATLAB
实现J ] •微型机与应用,2004,23 (1): 52-53
[4] 王欣,杜康,秦斌•基于果绳优化算法的LSSVR干燥速率建模J]•控
制工程,2012,19(4): 630-633
[5 ]王玲•基于BP算法的人工神经网络建模研究J]•装备制造技术, 2014,(1):162-164
(上接第26页)
无线监控系统设计[J].计算机测量与控制,2015,(03):809-811.
[8] 刘芳华•基于ARM的WiFi无线通信终端的研究与实现[D]•武汉
科技大学,2010-
[3]王巍.基于物联网技术的智慧农业发展的研究一以杨凌智慧农业建
设为例[J]•福建电脑,2016,(07):91+127.
[9] 魏明明,关咏梅,郭涛,陈艳香•基于CC2530的无线温度传感器网络
的设计J]•计算机测量与控制,2015,(06):2233-2236-
[4 ]郑纪业,阮怀军,封文杰,许世卫.农业物联网体系结构与应用领域研
究进展J]•中国农业科学,2017,(04):657-668.
[5]林凯强,王国兴,林凯彤•基于ZigBee和GPRS的智能家居控制系统
设计[J]•数字技术与应用,2016,(03):208-209.
作者简介:
第一作者:林凯强(1996-),男,福建平潭人,本科生,研究方向:嵌 入式系统应用;通讯作者:易金聪(1969-),男,福建仙游人,博士、副教 授,研究方向:先进测控与智能化系统。
[6 ]潘琢金,刘继磊,罗振,杨华•低功耗无线传感器网络节点的设计与实
现J]•计算机工程与设计,2015,(12):3225-3229.
[7]林伟捷,黄唯佳,蔡剑卿•基于四元数互补滤波和PID控制算法的两
轮自平衡车系统设计J]•软件导刊,2016,(06):80-82-
• 28 • 福建电脑 2017年第6期
因篇幅问题不能全部显示,请点此查看更多更全内容