2022年神经网络原理及BP网络应用实例 .pdf
1 神经网络原理及BP网络应用实例摘要:本文主要对神经网络原理进行系统地概述, 再列举 BP网络在曲线逼近中的应用。神经网络是一门发展十分迅速的交叉学科,它是由大量的处理单元组成非线性的大规模自适应动力系统。神经网络具有分布式存储、 并行处理、 高容错能力以及良好的自学习、自适应、联想等特点。随着计算机的发展,目前已经提出了多种训练算法和网络模型, 其中应用最广泛的是前馈型神经网络。本文将介绍人工神经网络的基本概念、基本原理、BP 神经网络、自适应竞争神经网络以及神经网络的应用改进方法。关键字: 神经网络;收敛速度; BP网络;改进方法The principle of neural network and the application examples of BP network Abstract :Neural network is a cross discipline which now developing very rapidly, it is the nonlinearity adaptive power system which made up by abundant of the processing units . The neural network has features such as distributed storage, parallel processing, high tolerance and good self-learning, adaptive, associate, etc. Currently various training algorithm and network model have been proposed , which the most widely used type is Feedforward neural network model. Feedforward neural network training type used in most of the method is back-propagation (BP) algorithm. This paper will introduces the basic concepts, basic principles, BP neural network, adaptive competitive neural network and the application of artificial neural network. Keywords:neural network,convergence speed,BP neural network ,improving method 1 神经网络概述1.1 生物神经元模型人脑是由大量的神经细胞组合而成的,它们之间相互连接。具体结构如图1所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 2 图 1 生物神经元模型由图看出,脑神经元由细胞体、 树突和轴突构成。 细胞体是神经元的中心,它一般又由细胞核、 细胞膜等构成。 树突是神经元的主要接受器,它主要用来接受信息。轴突的作用主要是传导信息,它将信息从轴突的起点传到轴突末梢,轴突末梢与另一个神经元的树突或细胞体构成一种突触的机构。通过突触实现神经元之间的信息传递。1.2 人工神经元模型人工神经网络主要是利用物理器件来模拟生物神经网络的某些结构和功能。人工神经元模型如图2 所示。图 2 人工神经元模型人工神经网络模型是1943 年心理学家 McCulloch 和科学家 W.Pitts在分析总结神经元基本特性的基础上首先提出的,它是大多数神经网络模型的基础。jiw - 代表神经元 i 与神经元 j 之间的连接强度 (模拟生物神经元之间突触连接强度 ),称之为连接权 ; iu - 代表神经元 i 的活跃值,即神经元状态;iv - 代表神经元 j 的输出,即是神经元i 的一个输入;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 3 i- 代表神经元的阐值。严格来说,神经网络是一个具有如下性质的有向图。(1) 对于每个结点有一个状态变量jx ;(2) 结点 i 到结点 j 有一个连接权系数jiw ;(3) 对于每个结点有一个阈值j;(4) 对于每个结点定义一个变换函数,()iijijfx wij,最常见的情形为()jiijifw x。下图表示了两个典型的神经网络结构。图 3 典型的神经元网络结构2. BP 神经网络人工神经网络是一种信息处理系统, 其中有一种用误差传播学习算法 (Error Back Propagation即 BP模型)进行训练的多层前馈神经网络,简称为BP网络。广泛应用于模式识别及分类、故障智能诊断、图像处理、函数拟合、最优预测等方面。2.1 BP 神经网络特点:(1)分布式的信息存储方式(2)大规模并行处理(3)自学习和自适应性(4)较强的鲁棒性和容错性在所有的神经网络应用中,BP神经网络所占比例在80% 以上。 BP神经网络具有良好的非线性逼近能力和泛化能力以及使用的易适性。BP 神经网络在模式识别、图像处理、信息处理、智能控制、故障检测、企业管理、市场分析等方面的应用已取得了显著成效。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 4 2.2 BP 神经网络介绍基本 BP算法包括两个方面:信号的前向传播和误差的反向传播。即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行。图 4 BP 网络结构图中:jx表示输入层第j个节点的输入, j =1, M ;ijw表示隐含层第 i 个节点到输入层第j 个节点之间的权值;i表示隐含层第 i 个节点的阈值;( )x表示隐含层的激励函数;kiw表示输出层第k个节点到隐含层第i 个节点之间的权值, i =1, q;ka表示输出层第 k 个节点的阈值 , k=1, L;x表示输出层的激励函数;ko表示输出层第k个节点的输出。(1)信号的前向传播过程隐含层第 i 个节点的输入 neti:1Miijjijnetw x(2-1)隐含层第i个节点的输出yi:1()()Miiijjijynetw x(2-2)输出层第 k 个节点的输入 netk:111()qqMkkiikkiijjikiijnetw yaww xa(2-3)1a1kiwijwLakaqi1xjxMx1okoLo输出变输入变输 入隐 含输 出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 5 输出层第k个节点的输出ok:111()()()qqMkkkiikkiijjikiijonetw yaww xa(2-4)(2)误差的反向传播过程误差的反向传播, 即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值。对于每一个样本 p 的二次型误差准则函数为Ep:211()2LpkkkETo(2-5)系统对 P个训练样本的总误差准则函数为:2111()2PLppkkpkETo(2-6)根据误差梯度下降法依次修正输出层权值的修正量wki, 输出层阈值的修正量 ak,隐含层权值的修正量 wij,隐含层阈值的修正量i。kikiwEw;kkEaa;ijijEww;iiE(2-7)输出层权值调整公式:kikkkkkikkkikiwnetnetooEwnetnetEwEw(2-8)输出层阈值调整公式:kkkkkkkkkknetonetEEEaanetaoneta(2-9)隐含层权值调整公式:iiiijijiijiiijnetynetEEEwwnetwynetw(2-10)隐含层阈值调整公式:iiiiiiiiiinetynetEEEnetynet(2-11)又因为:11()PLppkkpkkEToo(2-12)ikikywnet,1kkneta,ijijnetxw,1iinet(2-13)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 6 11()()PLppkkkkipkiETonetwy(2-14))(iiinetnety(2-15)()kkkonetnet(2-16)所以最后得到以下公式:11()PLppkikkkipkwTonety(2-17)11()PLppkkkkpkaTonet(2-18)11()()PLppijkkkkiijpkwTonetwnetx(2-19)11()()PLppikkkkiipkTonetwnet(2-20)BP网络是一种单向传播的多层前馈网络, 它包含输人层、隐含层和输出层,是目前应用较多的一种模型。 该算法在层次型网络结构上采用误差逆传播学习方式,学习过程由正向传播和误差逆传播组成。BP神经网络的训练过程如下:(1)网络初始化:网络输入节点数 n, 隐含层节点数 1, 输出节点数 m ;初始化连接权值;初始化偏置 a,b; 给定学习速率和神经元激活函数。(2)隐含层的输出计算根据输入向量 X,输入层和隐含层间连接权值wij 及隐含层阈值a,计算隐含层输出 H 。(3)计算输出层输出根据隐含层输出H ,连接权值和阈值b,计算 BP神经网络预测输出。(4)计算误差根据网络预测输出与期望输出Y,计算网络预测误差e。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 7 (5)权值更新(6)阈值更新根据网络预测误差e 更新网络节点阈值a,b。(7)判断算法迭代是否结束,若没有结束,返回步骤2。假设神经网络每层有n 个节点,若某一层节点 j 与上层节点 i 之间权值为Wij,节点的输入总和计为netj 、输出计为 Oj,转移函数取非线性的Sigmoid型函数1( )()xf xH e,对 于 节点j ,其 输 入值为其前一 层各单 元加权 和ji jjinetW Ob,输出值为()jjOf met. 定义误差函数21()2iiEyy式中iy为输出期望值,jy 为输出实际值。 BP 算法采用梯度法调整权值,每次调整的量ijijEWW、式中 01,称为学习速率, 它决定每一次训练中的权值变化大小。进一步简化计算有ijijbWO ,iijb,其中:()()ijjjjf netyy,j 为输出层单元;()ijjjkjkf netW ,j 为隐层单元。BP网络是一种多层前馈神经网络,它采用后向传播算法,亦称BP算法(首先样本从输入层经各中间层向输出层传播,输出层的各神经元获得网络的输人响应; 然后按照减小目标输出与实际输出误差的方向,从输出层开始经各中间层逐层修正各连接权值,以达到学习目的) 。BP 网络具有结构简单、可操作性强、能模拟任意的非线性输入/ 输出关系等优点,目前已被广泛应用于模式识别、智能控制、预测、图像识别等领域。综上,我们可以看出 BP算法主要的优点是简单、 易于实现。 但是 BP算法有两个致命的缺陷 : 首先最大的缺陷是BP算法很可能陷入局部极小值, 因为通常的误差曲面都是凸凹不平的,会有多个极值点。BP 算法的另一个缺陷是收敛速度慢,当采用梯度下降法时步长不容易确定,步长太长则达不到精度,甚至会发散; 太小则迭代步骤增加,收敛速度慢。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - 8 3 结束语本文主要介绍了人工神经网络的基本原理和BP算法, 总结了针对 BP网络的突出问题所做的各种网络参数改进方法。在收敛速度方面主要讨论了学习率改进方法对此的影响。经过几十年的发展,神经网络理论在模式识别、自动控制、信号处理、辅助决策、 人工智能等众多研究领域取得了广泛的成功。随着计算机的发展,神经网络算法将更加进一步得到发展,神经网络将更加广泛地应用于更多的领域。4 基于 Matlab BP 网络在函数逼近中的应用实例BP 网络由很强的映射能力,主要用于模式识别分类、函数逼近、函数压缩等。下面将通过实例来说明BP网络在函数逼近方面的应用。设逼近以下函数:6532y2332xxxx,实现对该非线性函数的逼近。4.1 该函数的函数图为:图 5 逼近函数曲线图4.2 网络的建立应用 newff() 函数建立 BP网络结构,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为tansig函数和purelin函数,网络训练的算法采用LevenbergMarquardt 算法 trainlm 。4.3 网络训练应用 train ()函数对网络进行训练之前,需要预先设置网络训练参数。将训练时间设置为50,迭代次数设为300,训练精度设置为0.01 ,其余参数使用缺省值。训练后得到的误差变化过程如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 9 图 6 训练后误差变化图4.4 网络测试绘制网络输出曲线, 并与原始非线性函数曲线以及未训练网络的输出结果曲线相比较,结果如图7 所示图 7 网络输出曲线与原始曲线及训练曲线比较图从图中可以看出, 得到的曲线和原始的非线性函数曲线很接近。这说明经过训练后, BP网络对非线性函数的逼近效果比较好。参考文献1 龚安,张敏.BP 网络自适应学习率研究J .科学技术与工程,2006, 6(1):64-66. 2 李士勇 . 模糊控制神经控制和智能控制论M. 哈尔滨工业大学出版,1996.250-387. 3 钟珞,饶文碧,邹承明 . 人工神经网络及其融合应用技术. 科学出版社,2007,(1). 4 陈明. MATLAB 神经网络原理与实例精解 M. 北京:清华大学出版社, 2013. 5 董长虹 .MatLab 神经网络与应用 M. 北京:国防工业出版社,2005. 附录名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - 10 基于 Matlab BP 网络在函数逼近中的应用实例Matlab 程序:x=-2:0.01:1; y=2*x.6+3*x.5+3*x.3-2*x.2; P=x(1:15:end); T=y(1:15:end); plot(x,y,P,T,ko) legend(逼近曲线 ,网络训练点 ) net=newff(minmax(P),10 1,tansig purelin,trainlm); net.trainParam.show = 50; net.trainParam.epochs = 300; net.trainParam.goal = 0.01; net=train(net,P,T) %输出显示训练图y2=sim(net,P) %输出数据figure plot(x,y,P,T,o,P,y2,*) legend(逼近曲线 ,训练数据点 ,输出数据点 ) title(网络输出曲线与原始曲线及训练曲线比较图) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -