神经网络-(6)BP网络.ppt
《神经网络-(6)BP网络.ppt》由会员分享,可在线阅读,更多相关《神经网络-(6)BP网络.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工神经网络及其应用第6章BP神经网络1一、内容回顾二、BP网络三、网络设计四、改进BP网络五、内容小结内容支配2一、内容回顾 感知机自适应线性元件3一、内容回顾 感知机感知机简介神经元模型网络结构功能说明学习和训练局限性自适应线性元件4一、内容回顾 感知机自适应线性元件Adline简介网络结构网络学习网络训练52.1 BP网络简介2.2 网络模型2.3 学习规则2.4 图形说明2.5 网络训练二、BP网络6反向传播网络(Back-Propagation Network,简称BP网络)是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络 权值的调整接受反向传播(Back-prop
2、agation)的学习算法它是一种多层前向反馈神经网络,其神经元的变换函数是S型函数输出量为0到1之间的连续量,它可实现从输入到输出的随意的非线性映射2.1 BP网络简介72.1 BP网络简介BP网络主要用于下述方面函数靠近:用输入矢量和相应的输出矢量训练一个网络靠近一个函数模式识别和分类:用一个特定的输出矢量将它与输入矢量联系起来;把输入矢量以所定义的合适方式进行分类;数据压缩:削减输出矢量维数以便于传输或存储具有将强泛化性能:使网络平滑地学习函数,使网络能够合理地响应被训练以外的输入 泛化性能只对被训练的输入输出对最大值范围内的数据有效,即网络具有内插值特性,不具有外插值性。超出最大训练值
3、的输入必将产生大的输出误差82.2 网络模型一个具有r个输入和一个隐含层的神经网络模型结构 92.2 网络模型感知器和自适应线性元件的主要差别在激活函数上:前者是二值型的,后者是线性的BP网络具有一层或多层隐含层,除了在多层网络上与前面已介绍过的模型有不同外,其主要差别也表现在激活函数上。BP网络的激活函数必需是到处可微的,因此它不能接受二值型的阀值函数0,1或符号函数1,1BP网络常常运用的是S型的对数或正切激活函数和线性函数102.2 网络模型BP网络特点输入和输出是并行的模拟量网络的输入输出关系是各层连接的权因子确定,没有固定的算法权因子通过学习信号调整。学习越多,网络越聪慧隐含层越多,
4、网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数在一般状况下,均是在隐含层接受S型激活函数,而输出层接受线性激活函数112.2 网络模型S型函数具有非线性放大系数功能,可以把输入从负无穷大到正无穷大的信号,变换成-1到l之间输出对较大的输入信号,放大系数较小;而对较小的输入信号,放大系数则较大接受S型激活函数可以处理和靠近非线性输入/输出关系122.3 学习规则BP算法属于算法,是一种监督式的学习算法主要思想对于q个输入学习样本:P1,P2,Pq,已知与其对应的输出样本为:T1,T2,Tq使网络输
5、出层的误差平方和达到最小用网络的实际输出A1,A2,Aq,与目标矢量T1,T2,Tq之间的误差修改其权值,使Am与期望的Tm,(ml,q)尽可能接近132.3 学习规则BP算法是由两部分组成,信息的正向传递与误差的反向传播正向传播过程中,输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态假如在输出层未得到期望的输出,则计算输出层的误差变更值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标142.3 学习规则假设输入为P,输入神经元有r个,隐含层内有s1个神经元,激活函数为F1,输出层内有s2个神经元,对应的激
6、活函数为F2,输出为A,目标矢量为T152.3 学习规则信息的正向传递隐含层中第i个神经元的输出输出层第k个神经元的输出定义误差函数162.3 学习规则利用梯度下降法求权值变更及误差的反向传播输出层的权值变更其中同理可得172.3 学习规则利用梯度下降法求权值变更及误差的反向传播隐含层权值变更其中同理可得182.3 学习规则对于f1为对数S型激活函数,对于f2为线性激活函数192.4 误差反向传播图形说明误差反向传播过程事实上是通过计算输出层的误差ek,然后将其与输出层激活函数的一阶导数f2相乘来求得ki由于隐含层中没有干脆给出目标矢量,所以利用输出层的ki反向传递来求出隐含层权值的变更量w2
7、ki。然后计算同样通过将ei与该层激活函数的一阶导数f1相乘,而求得ij,以此求出前层权值的变更量w1ij假如前面还有隐含层,沿用上述同样方法依此类推,始终将输出误差ek逐层的反推算到第一层为止202.4 误差反向传播图形说明212.5 网络训练训练BP网络,须要计算网络加权输入矢量以及网络输出和误差矢量,然后求误差平方和当所训练矢量的误差平方和小于误差目标,训练停止;否则在输出层计算误差变更,且接受反向传播学习规则来调整权值,然后重复此过程网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将以泛化方式给出输出结果222.5 网络训练为了能够较好地驾驭BP网络的训练过程,我们用两层网络为
8、例来叙述BP网络的训练步骤初始化:用小的随机数初始化每一层的权值W和偏差B,保证网络不被大的加权输入饱和期望误差最小值error_goal最大循环次数max_epoch修正权值的学习速率1r,一般状况下k0.0l,0.7232.5 网络训练变量表达:计算网络各层输出矢量A1和A2以及网络误差EA1tansig(W1*P,B1);A2purelin(W2*A1,B2);ET-A;权值修正:计算各层反传的误差变更D2和D1并计算各层权值的修正值以及新权值:D2deltalin(A2,E);D1deltatan(A1,D2,W2);dlWl,dBllearnbp(P,D1,lr);dW2,dB21e
9、arnbp(A1,D2,1r);W1W1十dW1;B1B1十dBl;W2W2十dW2;B2B2十dB2242.5 网络训练计算权值修正后误差平方和SSEsumsqr(T-purelin(W2*tansig(W1*P,B1),B2)检查:SSE是否小于err_goal。若是,训练结束;否则接着以上全部的学习规则与训练的全过程,可以用函数trainbp.m来完成它的运用只需定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率。调用后返回训练后权值,循环总数和最终误差TPdisp_freq max_epoch err_goal 1rW,B,epochs,errorstrainbp(W,B
10、,F,P,T,TP)25三、网络设计3.1 网络的层数3.2 隐含层神经元数3.3 初始权值的选取3.4 学习速率3.5 期望误差的选取3.6 应用举例3.7 局限性263.1 网络的层数理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够靠近任何有理函数 定理:增加层数主要可以进一步的降低误差,提高精度,但同时也使网络困难化,从而增加了网络权值的训练时间。一般状况下应优先考虑增加隐含层中神经元数 仅用具有非线性激活函数的单层网络来解决问题没有必要或效果不好线性问题非线性问题273.2 隐含层神经元数网络训练精度的提高,可以通过接受一个隐含层,而增加其神经元数的方法来获得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 BP 网络
限制150内