﻿ 竞争算法优化BP神经网络性能研究
 计算机系统应用  2019, Vol. 28 Issue (5): 173-177 PDF

Performance Study of BP Neural Network Based on PK Algorithm
LU Ying-Yu
Public Teaching Department, Ningbo Polytechnic, Ningbo 315800, China
Foundation item: Year 2018, Ningbo Polytechnic Fund for Young Talent (NZ18027)
Abstract: Aiming at the characteristics that many cluster intelligent algorithms are easy to fall into local optimum and have slow convergence rate, a new algorithm (PK algorithm) with less parameter settings and strong global search ability is proposed. The comparison of 10 benchmark functions with particle swarm optimization algorithm verifies the effectiveness of the algorithm, because the average and minimum values of the PK algorithm under 30 trials are better than the particle swarm optimization algorithm. Then using the PK algorithm to optimize the BP neural network, and 11 test data sets were classified. The experimental results show that the BP neural network based on PK algorithm has better performance than the original algorithm on 11 test sets, and the performance is superior to BP neural network based on genetic algorithm on most test sets. Thus, we conclude that the BP neural network based on PK algorithm can effectively improve the classification accuracy and enhance the robustness.
Key words: BP neural network     PK algorithm     benchmark functions     test data set

BP神经网络是一种信号前向传递, 误差反向传播的多层前馈神经网络. 由于强大的泛化能力, BP神经网络被广泛应用于模式分类[13]、故障诊断[4,5]及非线性拟合预测[6]等方面. 但BP神经网络尚有以下不足: (1)初始权重与阈值随机产生, 导致网络优化不稳定, 输出结果波动较大. (2)通过梯度下降法训练修正权值阈值[7], 使得算法容易陷入局部最优, 全局搜索能力不强.

1 算法原理及改进 1.1 竞争(PK)算法

(1)初始化. 设定种群规模为N, 首先随机生成初始种群即N个个体, 每个个体 ${x_i} = ({x_{i1}}, {x_{i2}}, \cdots, {x_{iD}})$ 是一个D维向量, 代表问题的一个解. 随机生成每个个体对应的初始速度 ${v_{id}} = ({v_{i1}}, {v_{i2}}, \cdots, {v_{id}})$ , 并限定个体与速度的上下界 $[{x_{\min }}, {x_{\max }}]$ $[{v_{\min }}, {v_{\max }}]$ .

(2)个体评价. 根据问题计算每个个体的适应度函数 $f({x_i})$ 以评价个体优劣, 并记录最优个体.

(3)对每个个体 ${x_i}$ (称之为主动挑战者), 随机找另一个体 ${x_j}$ (称之为被动挑战者)来做PK. 如果 ${x_i}$ 更优, 则通过向 ${x_i}$ 学习修正 ${x_j}$ , 反之修正 ${x_i}$ . 个体第d维修正公式如下:

 ${v_{id}}^{t + 1} = {w_1} \cdot {v_{id}}^t + rand \cdot ({x_{jd}}^t - {x_{id}}^t)$ (1)
 ${x_{jd}}^{t + 1} = {x_{jd}}^t + {v_{jd}}^{t + 1}$ (2)

 ${v_{jd}}^{t + 1} = {w_2} \cdot {v_{jd}}^t + rand \cdot ({x_{id}}^t - {x_{jd}}^t)$ (3)
 ${x_{id}}^{t + 1} = {x_{id}}^t + {v_{id}}^{t + 1}$ (4)

(4)如果达到终止条件则停止, 否则返回(2).

1.2 PK-BP神经网络

BP神经网络一般有1个输入层、1个或多个隐含层, 以及1个输出层. 优化流程为: 给定初始权值与阈值, 在BP神经网络输入层输入向量, 输入向量经与权值、阈值及激活函数做一定运算后到达隐含层, 再经与权值、阈值及激活函数做一定运算后到达输出层, 如果输出层不能得到期望的输出, 则反向传递期望输出与实际输出的误差, 调整权值与阈值, 重复此流程, 不断减少误差. BP神经网络学习能力强, 能解决任意复杂的模式分类问题和多维函数映射问题.

BP神经网络自身存在一定的局限性, 如优化过程中容易陷入局部最优值, 且因为训练过程中训练样本的输入顺序是随机的, 同一初始权值阈值下优化出来的网络性能存在差异. 为了提升优化精度, 提高全局搜索能力, 增强BP神经网络的鲁棒性, 采用竞争算法来优化BP神经网络. 其基本流程如下:

 图 1 算法流程

(1)设定竞争算法参数, 初始化种群, 其中每个个体均表示BP神经网络的初始权值和阈值, 个体维度的计算由式(5)计算:

 $D = I \times H + H + H \times O + O$ (5)

(2)利用竞争算法优化神经网络内部权值、阈值. 其中适应度函数即为神经网络训练指定次数之后实际输出值与期望输出值的绝对误差之和, 在分类问题里取分错类的总个数.

(3)将最优网络保存下来使之形成“虚拟”函数, 来作为高精度的预测网络模型, 进一步用于分类预测, 并评价测试集的分类正确率.

2 算法结果与分析 2.1 竞争(PK)算法性能

2.2 PK-BP神经网络算法性能

3 结论与展望

 [1] Lee HKH. Model selection for neural network classification. Journal of Classification, 2001, 18(2): 227-243. [2] 张兴国, 刘晓磊, 李靖, 等. BP神经网络下的限速交通标志实时检测识别. 西安电子科技大学学报, 2018, 45(5): 136-142. DOI:10.3969/j.issn.1001-2400.2018.05.022 [3] 谢文兰, 石跃祥, 肖平. 应用BP神经网络对自然图像分类. 计算机工程与应用, 2010, 46(2): 163-166. DOI:10.3778/j.issn.1002-8331.2010.02.049 [4] 马峻, 赵飞乐, 徐潇, 等. MRA-PCA-PSO组合优化BP神经网络模拟电路故障诊断研究. 电子测量与仪器学报, 2018, 32(3): 73-79. [5] 史丽萍, 汤家升, 王攀攀, 等. 采用最优小波树和改进BP神经网络的感应电动机定子故障诊断. 电工技术学报, 2015, 30(24): 38-45. DOI:10.3969/j.issn.1000-6753.2015.24.006 [6] 吴俊利, 张步涵, 王魁. 基于Adaboost的BP神经网络改进算法在短期风速预测中的应用. 电网技术, 2012, 36(9): 221-225. [7] Rumelhart DE, Hinton GE, Williams RJ. Learning representations by back-propagating errors. Nature, 1986, 323(6088): 533-536. DOI:10.1038/323533a0 [8] 蒋锋, 彭紫君. 基于混沌PSO优化BP神经网络的碳价预测. 统计与信息论坛, 2018, 33(5): 93-98. DOI:10.3969/j.issn.1007-3116.2018.05.014 [9] 高玉明, 张仁津. 基于遗传算法和BP神经网络的房价预测分析. 计算机工程, 2014, 40(4): 187-191. DOI:10.3969/j.issn.1000-3428.2014.04.036 [10] 洪延武, 刘双宇, 徐春鹰, 等. 基于多种群遗传算法与神经网络的激光-电弧复合焊接焊缝形貌预测. 应用激光, 2015, 35(6): 677-683. [11] 韦鹏宇, 潘福成, 李帅. 改进人工蜂群优化BP神经网络的分类研究. 计算机工程与应用, 2018, 54(10): 158-163. DOI:10.3778/j.issn.1002-8331.1612-0379 [12] 黄亚驹, 陈福集, 游丹丹. 基于混合算法和BP神经网络的网络舆情预测研究. 情报科学, 2018, 36(2): 24-29. [13] 郭彤颖, 陈露. 基于鸟群算法优化BP神经网络的热舒适度预测. 计算机系统应用, 2018, 27(4): 162-166. [14] 徐小平, 师喜婷, 钱富才. 基于猴群算法求解0-1背包问题. 计算机系统应用, 2018, 27(5): 133-138. DOI:10.15888/j.cnki.csa.006340 [15] 田海霖, 洪良, 王艺翔, 等. 于量子遗传算法优化粗糙-Petri网的电网故障诊断. 西安工程大学学报, 2018, 32(6): 678-684. [16] 陈龙, 张春雷, 赵成龙, 等. 一种求解7自由度机器人逆运动学的混合粒子群优化算法. 机器人, 2019. DOI:10.13973/j.cnki.robot.180489 [17] Ratnaweera A, Halgamuge SK, Watson HC. Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients. IEEE Transactions on Evolutionary Computation, 2004, 8(3): 240-255. DOI:10.1109/TEVC.2004.826071 [18] 卢滢宇, 王冰, 李学文, 等. 深层加速搜索的蜂群算法. 算机应用研究, 2012, 29(12): 4445-4447. DOI:10.3969/j.issn.1001-3695.2012.12.009 [19] 赵新超, 刘国莅, 刘虎球, 等. 基于非均匀变异和多阶段扰动的粒子群优化算法. 计算机学报, 2014, 37(9): 2058-2070.