基于BP神经网络的改进算法研究

  • 格式:pdf
  • 大小:392.20 KB
  • 文档页数:3

文章编号:1007—1423(2014)14—0051—03 DOI:10.3969 ̄.issn.1007—1423.2014.14.O11 基于BP神经网络的改进算法研究 俑正风 (佛山科学技术学院理学院,佛山528000) 摘要: BP算法使用优化算法中的梯度下降法,梯度下降法的不足,使BP算法收敛速度慢,计算量比较大,且收敛速度与初 始权的选择有关;学习时,无法保证可以得到最小值。BP的改进算法提出权值更新的快速收敛方法,使用MatLab对 改进算法进行仿真.结果表明改进算法具有高效性和有效性 关键词: BP算法;学习算法:权值调整 基金项目: 广东省自然科学基金fN0.¥201 1020002719) 0 引言 BP改进算法:任意选定一组权值,利用基函数建 立线性方程组.求得权值 本文在此基础上将给定的目 标输出直接作为线性方程等式代数和来建立线性方程 组.不再通过对传递函数求逆来计算神经元的净输出. 简化了运算步骤 本文没有使用误差反传算法.所以用 此算法训练得到的神经网络与传统算法相比有着相同 的结果。算法的基本思想是:利用输入数据和输出数据 及BP神经网络模型来建立线性方程组.运用矩阵的三 角形分解法解线性方程组来求得未知权值 不存在误 差反传算法易陷入局部极小值以及收敛速度慢的情 况,并且结果易于理解 1 算法实现 BP学习算法步骤如下: (1)设置初始权值 (0),一般情况下取较小的随 机非零值 (2)给定输人一输出数据对。计算BP网络的输出 (3)目标输出直接作为线性方程等式代数和来建 立线性方程组 设第P组数据输入时,uT[ulp M2D,…, ] 输出: =[d ,d ,…, ]T,p=l,2,・一, 节点i在第P组数据输入时,输出为Y ,即: 『 ] y ( ) ( ) ∑ ( ) l L J J 式中, 为在第P组数据输入时,节点 的第 个 输入。. ・)取可微的基函数。 (4)计算网络的目标函数.,: 设巴为在第P组数据输入时,网络的目标函数, 取 范数,则: (f):Il以 (驯l2=} [ (£)]2= 1 e如2(£) 式中, (f)是在第P组数据输入时,经t次权值调 整后网络的输出; 为输出层第k个节点。 网络的总目标函数为: 1■1 t,(f)= (f) 作为对网络学习状况的评价 f5)判别 若J(t)≤ 算法结束;否则,转至步骤(6)。式中 为预先确定的且e>O (6)为了加快学习速度加阻尼项 在输出层,加阻尼系数 ,0</3<l。 现代计算机 2014.0

5中回 2 动态演示程序 BP网络逼近非线性函数-厂(“)=eH ‘m sin(10u) (1)本文取三层BP网络,隐含层基函数选S函数, 输出节点为线性 (2)训练输入/输出数据集“一0.5.0.005:0.45、d=f(u), 数据对长度L=20 (3)测试输入数据集ul=一0.48:0.05:0.47、dl=f(u1)。 MatLab仿真程序如下: clear all; close all; u:一0.5:0.05:0.45 %输入数据集 d=exp(一1.9 (u+0.5)); d=d.*sin(10*u1 %输出数据集:非线性函数d net=newff(minmax(u),【3,1],{'tansig ,"purelin "trainlm'); %建立一个可训练的前馈网络 %wO1=net.iw{1,1} %求BP网络输入层和隐层 问的权值 %b01:net.b{1l %求前网络层权值和阈值 %w02=net.1w{2} %求2-3层的初始权值、阈值 %b02=net.b{2} figure(1); plot(u,d,,ho,1; ylabel( 输出样本集d= u) ,"color ,,b,) xlabel( 输入样本集u','color .,b,1 figure(2) net=train(net,U,d); %网络训练 %w1=net.iw{1,1l%求BP神经网络学习后的权系值 %bl=net,b{1} %w2=net.1w{2} %b2--net.b{2l y=sim(net,u); %BP神经网络输出 figure(3); plot(u,d, bo ,u,Y,,r ,); ylabel( 输出样本集d(0)网络输出y( ) ,"color',,b,); xlabel( 输入样本集u1 u1=--0.48:0.05:0.47: %产生输入数据集 dl=一1.9 NI+0.51; dl=exp(d1); dl=d1.*sin(10*u1); %测试数据集 yl=sim(net,u1); figure(4); plot(ul,yl, o ,ul,dl,,r ,) ylabel( 测试数据集dl( )网络输出y1(o) ,"color , ,h ; xlabel( 测试输入集ul , co1or ,,b,); 【d yq 程序运行界面效果如图1所示。 3 结语 BP网络能以任意精度逼近任意连续函数,在许多 领域得了广泛的应用 为了解决BP算法收敛速度慢. 计算量比较大.且收敛速度与初始权的选择有关.学习 时无法保证可以得到最小值.提出了改进算法。用 MatLab对改进算法进行仿真.结果表明改进算法具有 高效性和有效性 参考文献: f11徐丽娜.神经网络控制『M1.北京:电子工业出版社,2009 【2]wu S Q,ER M J.Dynamic Fuzzy Neural Networks:a Novel Approach to Function Approximation[J].IEEE Trans.Syst.,Man.,Cybern Part B.2008,30:358~364 [3]ER M J.wu S Q.A Fast Learning Algorithm for Parsimonious Fuzzy Neural Systems[J].Fuzzy Sets and Systems,2009,126:337-35 1 【4】任爱红.模糊随机过程函数列均方差一致Henstock ̄.,分的可积性[J].中山大学学报:自然科学版,2010,51(4):41 ̄44 【5]Moody J,Darken C J.Fast Leaning in Network of Locally-Tuned Processing Units.Neural Computation,2009,1:28 1 ̄294 作者简介: 何正风(1957一),男,广东佛山人,本科,研究方向为数学建模与仿真 收稿13期:2014—04—03 修稿日期:2014—05—08 @ 现代计算机2014.o

5中