欢迎来到天天文库
浏览记录
ID:45017020
大小:1.17 MB
页数:95页
时间:2019-11-07
《第4A章误差反传算法及BP网络》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、人工神经网络及应用主讲何东健第4章误差反传算法及BP网络第四章误差反传播算法与BP网络反向传播网络(Back-PropagationNetwork,BP网络)是将W-H学习规则一般化,对非线性可微函数进行权值训练的多层网络。BP网络用途:1)函数逼近:用输入矢量和输出矢量训练网络逼近一个函数;2)模式识别:用特定的输出矢量将它与输入矢量联系起来;3)分类:把输入矢量以所定义的合适方式进行分类;4)数据压缩:减少输出矢量维数以便传输或存储。实际应用中,80%~90%的人工神经网络模型是采用BP网络或它的变化形式,
2、是前向网络的核心部分,体现了人工神经网络最精华的部分。4.1误差反传算法有隐层的多层感知器能提高网络的分类能力,但权值调整算法没有解决。1986,Rumelhart和McCelland提出具有非线性连续变换函数的多层感知器的BP算法,实现了多层感知器的设想。多层感知器多采用BP算法,所以,通常将其称为BP网络。首先学习基于BP算法的多层感知器模型。4.1.1BP网络模型与结构应用最多的是具有单隐层的BP网络。一个具有r个输入和一个隐含层的神经网络模型结构如图所示。(MatlabHelp中常见表示)BP网络的另外
3、一种表示输入向量为:隐层输出向量为:输出层输出向量:期望输出向量:输入到隐层间权:隐层到输出间权:x0=-1是为隐层神经元引入阈值而设置的;y0=-1是为输出层神经元引入阈值而设置的;Vj-为隐层第j个神经元对应的权向量;Wk-输出层第k个神经元对应的权向量21-1ijkx0VijWjkyjOkDkx1x2-0.50.8=-1-0.50.8V=-0.30.20.5-0.50.10.20.8-0.10.6-0.30.20.5W=-0.10.30.6-0.20.40.30.7-0.2y0=-1y=-1y1y2y3y
4、=VX=-0.30.20.5-0.50.10.20.8-0.10.6-1-0.50.80.60.160.22O=WY=-0.10.30.6-0.20.40.30.7-0.2-10.60.160.22=0.332-0.122BP网络与前面介绍过的模型除了是多层网络之外,其主要差别也表现在激活函数上。(1)BP网络的激活函数必须是处处可微的,所以它就不能采用二值型的阈值函数{0,1}或符号函数{-1,1},BP网络经常使用的是S型的对数或正切激活函数和线性函数。变换函数为S型激活函数(logsig)为:双极性(双曲
5、正切)S型激活函数(tansig):f(x)连续可导,一阶导数为:f’(x)=f(x)[1-f(x)]导数f’(x)=[1-f(x)2]/2对于多层网络,这种激活函数所划分的区域不再是线性划分,而是由一个非线性的超平面组成的区域。它是比较柔和、光滑的任意界面,因而它的分类比线性划分精确、合理,这种网络的容错性较好。(2)另一重要特点:由于激活函数是连续可微的,它可以严格利用梯度法进行推算,它的权值修正的解析式十分明确,其算法被称为误差反向传播法,也简称BP算法。(3)非线性放大系数功能:S型函数可以把从负无穷大
6、到正无穷大的输入信号,变换成-1到1之间输出,对较大的输入信号,放大系数较小;而对较小的输入信号,放大系数则较大,所以采用S型激活函数可以去处理和逼近非线性的输入输出关系。只有当希望对网络的输出进行限制,如限制在0和1之间,则输出层用S型激活函数。一般:隐含层用S型激活函数;输出层用线性激活函数。(和教材中的不同-教材均为S型函数!)nf’S函数的非线性放大功能BP算法的基本思想:学习过程由信息的正向传递与误差的反向传播两个过程组成(1)正向传递:输入样本从输入经隐含层逐层计算传向输出层,若输出层的实际输出和期
7、望输出不符,则计算输出层的误差值,然后转向反向传播过程。(2)误差的反向传播:是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层所有单元,从而获得各层单元的误差信号,此误差做为修正该单元的依据。信号正向传递和误差反向传播反复进行,权值不断得到调整的过程,就是网络的学习/训练过程。当训练达到规定误差或一定训练次数,则结束训练。4.1.2BP学习算法以三层BP网络为例介绍BP学习算法,可推广到多层情况。1.网络误差与权值调整当网络输出与期望输出不等时,存在输出误差E:222211由上式,网络输入误
8、差是各层权值wjk、vij的函数,因此调整权值可改变误差E。显然,调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,即式中负号表示梯度下降,常数η∈(0,1)-学习速率。BP算法属于δ学习规则类,这类算法常被称为误差的梯度下降(GradientDescent)算法。2、算法推导3层BP网络权值具体调整公式推导。输出层:j=0,1,....m,k=1,2,..
此文档下载收益归作者所有