自然界中的生物均具有群体行为,种群中的简单个体通过团体协作来实现复杂的工作,这种群智能现象吸引着越来越多的学者。他们模拟借鉴生物群体智能机制,研究相应的群智能优化算法理论并开发高智能的信息处理系统,以解决人类运用传统方法难以解决的问题。遗传算法、粒子群优化算法、蚁群算法及免疫算法等均为群智能优化算法。神经网络是从生理角度模拟人类行为的一种智能技术。该技术已在各行业得到广泛应用.可将传统的工程系统和人工智能处理技术混合起来,通过学习、训练和记忆,拟合输入变量与输出变量间的非线性映射。由于神经网络训练常用的学习算法---传统 BP 算法具有固有的缺陷而影响着应用效果,造成神经网络收敛速度慢且易陷入局部极小值。目前 BP 网络的改进方法有在梯度法基础上改进学习算法、网络拓扑结构优化以及融入其他优化算法等。
鉴于群智能优化算法的优良特性,很多学者应用群智能优化算法代替 BP 算法进行神经网络的训练。周颖等提出了一种人工免疫学习算法,将其用于 RBF 神经网络隐层中心点数和位置的调整; 田文杰等将蚁群算法和神经网络结合起来,应用于设备故障专家系统的知识获取并进行诊断推理; 文献[6]将粒子群优化算法用于优化神经网络的连接权值和阈值,并将优化好的神经网络应用于故障诊断中。
基于对生物物种迁移、变异行为的研究,以生物地理学归纳计算为理论的生物地理优化算法( Biogeography-based Optimization,BBO) 是一种新型的群智能优化算法。鉴于其他群智能优化算法在神经网络训练中的应用,笔者将生物地理优化算法与 BP 神经网络相结合,建立 BBO-BP 组合神经网络模型,充分发挥 BBO 解决优化问题的优势,克服连接权值随机导致神经网络易陷入局部极小值的缺点,缩短训练时间。
1 生物地理优化算法 生物地理优化算法就是根据生物地理学阐述的生物物种在地理上分布的特点,使用生物地理学的分配机制( 即迁移模型、变异生新) ,以适宜度最优为求解目的,来解决工程问题.具体说就是,待优化问题的解对应着生物地理学中栖息地的特征向量 SIV,其中的各种自然因素相当于优化问题解向量的分量; 待优化问题的度量函数值 f( xi) ( i =1,2,…,n) 对应着生物地理学中的栖息地适宜度指数 HIS,好解类似于高 HIS 的栖息地,差解类似于低 HIS 的栖息地; 优化算法中的信息交互机制对应着栖息地的移近移出机制,设计了基于概率的个体迁移算子实现信息共享,每个个体通过计算得到各自的移进概率 λi和移出概率 μi,通过该数值来控制个体信息的移动概率。同时,为增加群体多样性,设计变异算子,根据栖息地容纳种群数量的不同,计算相应的变异率,对栖息地进行变异操作,从而扩大解集。
生物地理优化算法的精髓即迁移操作和变异操作,利用迁移操作与其他栖息地进行信息交换,进而对解空间进行广域搜索; 利用变异操作来模拟自然突变,根据栖息地 i 的种群迁移率对栖息地的特征向量进行突变进而更新解集。
迁移操作。迁移模型采用的是简化线性模型,设栖息地的数量为 n,群体大小为 NP,优化问题的维度为 D,最大物种数为 Smax、最大迁出率为Emax、最大迁入率为 Imax,具体的流程为:for i = 1 to NP do用概率 λi选取 xiif( 0,1) 之间的均匀随机数小于 λithenfor j = 1 to NP do用概率 μi选取 xjif( 0,1) 之间的均匀随机数小于 μithen从 xj中随机选取一个 SIV σ用 σ 替换 xj中的一个随机 SIVend ifend forend ifend for变异操作。最大变异率为 mmax,迁移率为Ps,精英个体保存数量为 k,BBO 变异操作的核心问题就是如何根据栖息地拥有种群数量的概率给出相应的突变率,具体的流程为:for i = 1 to NP do计算概率 pi用概率 pi选取 SIV xi( j)if( 0,1) 之前的均匀随机数小于 mithen用一个随机产生的 SIV 替换 xi( j)end ifend for 2 生物地理优化算法与其他群智能算法的比较 虽然 BBO 算法和其他智能算法一样,都属于模拟自然选择和生物进化机制的智能优化算法,但是该算法和其他算法有本质区别,以下为与其他算法的比较。
2. 1 与遗传算法的比较 BBO 也会在解之间实现信息的共享,但在进化过程中并不产生新的子代,算法利用移进概率来决定栖息地是否需要引入特征变量以及进入的比例,并且移进的特征变量来自其他不同的个体;而遗传算法通过染色体来共享信息,通过交叉变异重组基因单元来产生新的子代,它不能根据适应值来控制交叉基因,并且交叉的基因片段来自于同一个体。
2. 2 与蚁群算法( ACO) 的比较 BBO 是通过迁移机制来改进解的适应度,它并不直接产生新的解集,只是依赖迁移机制来修改这些解; 而 ACO 是通过蚂蚁之间信息素的交换和相互协作来实现优化,在每次迭代过程中要产生新的解集,每一代都会产生一系列方法,而BBO 则会保持方法不变。
2. 3 与粒子群优化算法( PSO) 的比较 BBO 同粒子群优化算法最为相似,都是通过个体间的知识分享来达到优化的目的,都将产生的优质方案保存到下一代,每一个方案都和邻近个体进行信息交互,进而进行调整。但 BBO 采用了根据不同栖息地种群数量来选择不同操作强度的物种激励机制,从而通过迁移机制调整解集来改进解的适应度,而 PSO 是通过调整粒子的速度和位置来改进粒子的适应度。另一方面粒子群的解更可能聚在一起,而 BBO 的解没有任何内在聚类的趋势。
从这些不同之处可以看出 BBO 算法是一种独特的群智能优化算法。
笔者采用典型的 Sphere 单峰函数和 Rastrigin多峰函数进行测试,并与典型的群智能算法---蚁群优化算法、遗传算法和粒子群优化算法进行仿真性能比较。算法对于各个测试函数优化的平均运行结果如图 1、2 所示。【图1.图2】
表 1 列出了测试函数过程中每一个算法的平均极小值( 表示算法的平均性能) 和最好极小值( 表示算法的最好性能) .【表1】
从测试结果可以看出,对于 Sphere 单峰函数BBO 前期收敛速度快,找到最优解的精度没有PSO 好; 但在处理 Rastrigin 多峰函数时,BBO 的收敛速度快,并且较其他算法最接近优化值。综上所述,BBO 处理优化问题还是具有优势的,求解过程中不存在波动,稳定性较好。
3 基于生物地理优化算法的神经网络故障诊断 基于神经网络的故障诊断中,神经网络的输入是被诊断对象的征兆即特征值,输出则表示发生故障的可能性。在整个诊断过程中,先利用一组故障样本对网络进行训练,确定网络结构和参数,进而实现征兆集与故障集之间的非线性映射。借鉴其他智能算法在神经网络故障诊断中的应用,笔者将 BBO 算法与基于 BP 神经网络的故障诊断相结合,把 BP 神经网络结构中有待训练的权值和阈值看作是 BBO 算法的寻优目标参数,用BBO 算法作为学习算法对 BP 神经网络的权值和阈值进行训练。
3. 1 建立神经网络 笔者选取应用最广泛的三层神经网络,以文献[8]中的抽油机数据( 表2、3) 为例,输入节点对应电流特征向量的 6 个分量,输出节点数为 3,对应抽油机的 3 种工作状态。【表2.表3】 3. 2 确定参数 利用 BBO 算法训练 BP 神经网络时,定义生物栖息地适宜度分量为网络中的连接权值。笔者采用 6-6-3 结 构 的 三 层 神 经 网 络,权 值 为6 × 6 + 6 × 3 = 54,阈值为 6 + 3 = 9,故栖息地适宜度模型维数为 54 + 9 = 63.设置群体大小 NP =100,Imax= Emax= 1. 0,最大变异率 mmax= 0. 005,迭代次数为 1 000.
3. 3 基于 BBO 算法的神经网络训练 将 BBO 作为学习算法来优化神经网络权值的关键在于以下两点:
a. 建立 BBO 的物种维度空间与神经网络连接权值之间的映射。生物地理优化算法中,每个生物栖息地的维度分量都对应为神经网络中的一个连接权值,也就是说神经网络中有多少个连接权值,作为学习算法的 BBO 中的每个栖息地就应该有多少维。
b. BBO 算法适宜度函数的选取。用 BBO 来训练神经网络的最优权值和阈值,就是为了通过改进的 BBO 算法强大的搜索性能使网络的均方误差最小化,适宜度函数【1】 BBO 算法训练 BP 神经网络的流程如图 3 所示。图 4、5 为传统 BP 算法和 BBO 算法对神经网络的训练曲线。从图中可以看出: 在达到目标系统误差 10- 2时 BBO 算法迭代次数为 653 次,要达到相同的误差时,BP 算法需要 1 194 次。在满足相同系统误差的条件下,BBO 算法所需训练时间为 10. 14s,而 BP 算法所需训练时间为 36. 18s.【图3图4图5】 经计算,利用 BBO 算法训练神经网络的均方差为0. 301 3,小于利用 BP 算法训练网络的均方差0. 765 8,可见 BBO 算法不仅提高了神经网络的信息处理速度,并且提高了网络的训练精度。 3. 4 故障诊断结果分析 利用训练好的神经网络对抽油机进行故障诊断,对测试样本数据( 表 3) 进行诊断仿真实验。假定将大于 0. 5 的输出节点值近似看作 1,将小于 0. 5 的输出节点值近似看作为 0,( 1 0 0) 、( 0 1 0) 、( 0 0 1) 分别对应着正常、双凡尔漏失和抽油杆脱落,诊断结果见表 4.【表4】
从表 4 可以看出,基于 BBO 的神经网络的诊断数据接近于理想值,故障区分度较高,因此可以得出结论: 利用 BBO 算法优化神经网络应用于抽油机故障诊断中是可行的,并具有很强的准确性。
4 结束语 阐述了生物地理优化算法的优化原理和算法流程,并将其与其他群智能算法进行比较,通过仿真实验得出,BBO 算法具有很强的优势性与良好的发展空间。将生物地理优化算法应用于神经网络的学习训练中,克服了 BP 算法训练时间较长并容易陷入局部收敛的缺点,而且能更快速地收敛于目标最优解。将训练好的神经网络对抽油机常见故障进行诊断,诊断结果表明: 该方法是可行的,并且具有良好的准确性和有效性,具有广泛的应用前景。
参 考 文 献 [1] 石纯芳。 基于神经网络的高温压力管道涡流检测信号的温度补偿研究[J]. 化工机械,2012,39( 2) : 174~ 176. [2] 李伟,吴超群,王艳茹,等。 基于小波神经网络的FRP 复合材料损伤声发射信号识别[J]. 化工机械,2011,38( 3) : 294 ~ 297. [3] 蒋琼,李训铭。 优化的 BP 网络在抽油井故障诊断中的应用研究[J]. 计算机与现代化,2010,( 12) : 812~ 185. [4] 周颖,郑德玲,裘之亮,等。 一种人工免疫与 RBF 神经网络结合的混合算法的应用[J]. 计算机工程与应用,2004,( 1) : 39 ~40,46. [5] 田文杰,刘继承,艾兰。 基于蚁群神经网络的设备故障诊断[J]. 北京联合大学学报( 自然科学版) ,2008,22( 4) : 63 ~ 66. [6] 宋玉琴,章卫国。 基于混合粒子群算法的小波神经网络故障诊断[J]. 测控技术,2011,30( 1) :112 ~116.