版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024/1/23第三章EBP网络一、BP网络结构二、BP网络的学习规则三、BP算法的MATLAB实现四、BP算法应用举例五、BP算法的改进2024/1/23一、BP网络结构感知器神经网络模型和线性神经网络模型虽然对人工神经网络的发展起了很大的作用,它们的出现也曾掀起人们研究神经网络的热潮。这些单层网络得局限性便是只能解决线性可分得分类问题。当然,Rosenblatt和Widrow均意识到这些限制并提出了克服此类问题的方法:多层网络。
举例说明第三章EBP网络2024/1/23
虽然多层网络可以解决非线性问题,但是利用感知器学习方法和LMS算法依然不能满足对多层网络连接权的调整。因此人们开始研究对多层网络连接权的校正方法。这期间人们也曾因此失去了对神经网络研究的信心,但是直到二十世纪八十年代,Rumelhart、Mcclellard和他们的同事洞悉到网络信息处理的重要性,并致力于研究并行分布信息处理方法,探索人类认知的微结构,于1985年发展了BP网络的学习算法。从而给人工神经网络增添了活力,使其得以全面迅速地恢复发展起来。第三章EBP网络2024/1/23BP网络是一种多层前馈神经网络,采用了一种全新的网络训练方法—误差逆向传播算法,误差逆向传播算法用英文可写为ErrorBack-PropagationTraining,主要意思是从后向前计算,所以人们把采用这种算法进行误差校正的多层前馈网络称为BP网络。
BP网络神经元激励函数一般采用S型函数,因此输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。其权值的调整是利用实际输出与期望输出之差,对网络的各层连接权由后向前逐层进行校正的.第三章EBP网络2024/1/23BP网络的拓扑结构第三章EBP网络∑1b11f1u11v11∑1b12f1u12v12∑1b1s1f1u1s1v1s1∑1b21f2u21v21∑1b22f2u22v22∑1b2s2f2u2s2v2s2∑1b31f3u31v31∑1b32f3u32v32∑1b3s3f3u3s3v3s3RX2024/1/23
在介绍BP网络之前首先来看一个多层网络用于函数逼近的例子:
我们构造一个两层的1-2-1网络模型第三章EBP网络∑1b11u11v11∑1b12u12v12∑1b2u2v2p2024/1/23
其中f1(u)=1/(1+e(-u))f2(u)=u
设定网络权值和阀值如下:
w111=10w112=10b11=-10b12=10w211=1w221=1b2=0
则此时网络输入输出关系如图所示第三章EBP网络2024/1/23第三章EBP网络2024/1/23
通过调整网络的权值可以调整每一步曲线的陡度。如第一层网络的阀值可以确定第一步曲线的位置。(如图)如网络权值可确定每步曲线的坡度。(如图)
如第二层网络的阀值可以确定整个曲线的上移和下移。(如图)第三章EBP网络2024/1/23b122024/1/23w2112024/1/23b22024/1/23
通过这个例子可以看出多层网络的灵活性,只要隐含层有足够数量的神经元,我们就可以用这样的神经网络来逼近几乎任意一个函数。事实上,研究证明,两层的神经网络在隐含层中神经元使用S形激励函数,在输出层中使用线性函数,只要隐含层中有足够多的神经元可用,网络就可以以任意精度逼近任意函数。第三章EBP网络2024/1/23BP算法主要是利用输入、输出样本集进行相应训练,使网络达到给定的输入输出映射函数关系。算法常分为两个阶段:第一阶段(正向计算过程)由样本选取信息从输入层经隐含层逐层计算各单元的输出值;第二阶段(误差反向传播过程)由输出层计算误差并逐层向前算出隐含层各单元的误差,并以此修正前一层权值。
BP网络主要用于函数逼近、模式识别、分类以及数据压缩等方面。第三章EBP网络2024/1/23二、BP网络学习规则1、δ学习规则
BP网络最核心的部分便是网络的学习规则。用BP算法训练网络时有两种方式:一种是每输入一个样本修改一次权值;一种是批处理方式,即使组成一个训练周期的全部样本都依次输入后计算总的平均误差。第三章EBP网络2024/1/23设训练样本为(Xk,Tk)(k=1,2,…,p)Xk=(xk1,xk2,…,xkM)Tk=(tk1,tk2,…,tkN)网路的实际输出Ok=(ok1,ok2,…,okN)前层第i个单元到后层第j个单元的权值为wji当神经元为输入层单元时Ok=Xk则对第k个样本,第j个神经元的状态为:输出为第三章EBP网络2024/1/23定理3.1
对于具有隐含层的多层前向神经网络,当神经元激励函数为半线性函数,且训练指标函数取为:时,下述神经网络学习规则将使E在每个训练循环中按梯度下降:适用于输出层适用于中间隐含层第三章EBP网络2024/1/23证明:根据前述情况,网络学习即为寻优问题采用搜索法:
dk为搜索方向(取为xk的负梯度方向)所以即其中第三章EBP网络2024/1/23记由网络隐含层和输出层的特殊性,对δkj和oki进一步分析:第三章EBP网络2024/1/23如果神经元j是输出层如果神经元j是隐含层证毕第三章EBP网络2024/1/23注:按照上述规则前人总结成一个完全性定理定理3.2
假定BP网络中隐含层单元可以根据需要自由设定,那么一个三层网络就可以实现任意精度近似任何连续函数。局限性:由于BP网络中采用了非线性单元,故而误差函数的极小点一般不止一个,要寻找全局最小点将是一件非常困难的事情!当然这方面的研究也尚需完善。第三章EBP网络2024/1/232、S型激励函数下的BP算法实现
BP网络的非线性激励函数常用Sigmoid函数其中对输出单元:对隐层单元:权值调节:第三章EBP网络2024/1/23
权值的修正调整方式:算法实现步骤:
(1)初始化网络
(2)输入样本矢量Xk(3)正向计算:
(4)计算训练误差:输出层隐含层第三章EBP网络2024/1/23第三章EBP网络(5)修正权值和阀值
(6)输入下一个样本矢量Xk+1,判断结束否
E≤ε(7)结束训练2024/1/233、网络训练中的假饱和现象由于BP网络是按照误差的负梯度方向来修正权值和阀值的,由此评价网络的好坏之一常用均方根误差来反映学习的性能。在一般情形,随着学习的进程,误差会逐渐减小,但是往往会遇到这种情况,误差在短时间内保持不变或者变化微小,经过一定时间的训练后,网络的误差继续减小,这种现象称为假饱和现象第三章EBP网络2024/1/23第三章EBP网络4、网络泛化性能测试网络的泛化性能:标准样本中包含训练集和测试集,训练集即是用于训练网络使之收敛,测试集即是用于系统仿真测试。(要求训练集要不同于测试集)如果测试集的所有样本均经网络仿真,结果均是满意的,则我们说网络的泛化性能很强。测试集的构造:(1)样本中划分(2)加噪处理2024/1/23第三章EBP网络5、网络的鲁棒性什么叫做鲁棒性呢?其实这个名字是一个音译,其英文拼写为Robust。也就是健壮和强壮的意思。控制专家用这个名字来表示当一个控制系统中的参数发生摄动时系统能否保持正常工作的一种特性或属性。就像人在受到外界病菌的感染后,是否能够通过自身的免疫系统恢复健康一样。网络的鲁棒性即是指网络的权值和阀值变化时对仿真结果的影响。2024/1/23第三章EBP网络三、BP网络的MATLAB实现函数initff()和simuff可以用来初始化和仿真不超过三层的前馈型网络。函数trainbp()、trainbpx()、trainlm()可用来训练BP网络。其中trainlm()的训练速度最快,但它需要更大的存储空间,也就是说它是以空间换取了时间;trainbpx()的训练速度次之;trainlm()最慢。2024/1/23第三章EBP网络1、初始化函数initff()
函数initff()的主要功能就是对至多三层的BP网络初始化。其使用格式有多种,现列如下:
[w,b]=initff(p,s,f)[w1,b1,w2,b2]=initff(p,s1,f1,s2,f2)[w1,b1,w2,b2,w3,b3]=initff(p,s1,f1,f2,s3,f3)
2024/1/23第三章EBP网络[w,b]=initff(p,s,t)[w1,b1,w2,b2]=initff(p,s1,f1,s2,t)[w1,b1,w2,b2,w3,b3]=initff(p,s1,f1,s2,f2,s3,t)[w,b]=initff(p,s,f)可得到s个神经元的单层神经网络的权值和阀值,其中p为输入向量,f为神经元的激励函数。
BP网络有一个特点很重要,即p中的每一行中必须包含网络期望输入的最大值和最小值,这样才能合理地初始化权值和阀值。2024/1/23第三章EBP网络2、仿真函数simuff()BP网络是由一系列网络层组成,每一层都从前一层得到输入数据,函数simuff()可仿真至多三层前馈型网络。对于不同的网络层数,其使用格式为:
a=simuff(p,w1,b1,f1)a=simuff(p,w1,b1,f1,w2,b2,f2)a=simuff(p,w1,b1,f1,w2,b2,f2,w3,b3,f3)以上三式分别为单层、双层和三层网络结构的仿真输出。2024/1/23第三章EBP网络3、训练函数关于前面所提到的几种BP网络训练函数,在这里只介绍其中之一:trainbp()。函数trainbp()利用BP算法训练前馈型网络。trainbp()函数可以训练单层、双层和三层的前馈型网络,其调用格式分别为:
[w,b,te,tr]=trainbp(w,b,f′,p,t,tp)[w1,b1,w2,b2,te,tr]=trainbp(w1,b1,f1′,w2,b2,f2′,p,t,tp)2024/1/23第三章EBP网络[w1,b1,w2,b2,w3,b3,te,tr]=trainbp(w1,b1,f1′,w2,b2,f2′,w3,b3,f3′,p,t,tp)
可选训练参数tp内的四个参数依次为:
tp(1)指定两次显示频率,其缺省值25;
tp(2)指定训练的最大次数,其缺省值100;
tp(3)指定误差平方和指标,其缺省值0.02;
tp(4)指定学习速率,其缺省值0.01;2024/1/23四、BP算法应用举例
1、BP网络的函数逼近举例:设计一个BP网络,其隐含层神经元的激励函数为双曲正切函数,输出层神经元的激励函数为线性函数,学习样本为21组单输入矢量,理想输出为相应的单输出矢量。第三章EBP网络2024/1/23输入矢量为:p=-1:0.1:1;理想输出矢量为:
t=[-0.96-0.577-0.07290.3770.6410.660.4610.1336-0.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201];输入输出的函数关系曲线:
plot(p,t)xlabel('Input')ylabel('Output')第三章EBP网络2024/1/23第三章EBP网络2024/1/23利用输入和理想输出进行BP神经网络初始化:
[w1,b1,w2,b2]=initff(p,5,'tansig',t,'purelin')利用函数trainbp对构造的BP网络进行训练:
df=10me=8000eg=0.02lr=0.01tp=[dfmeeglr][w1,b1,w2,b2,ep,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)第三章EBP网络2024/1/23
其中df指两次显示间的训练次数,其缺省值25;me指训练的最大次数,其缺省值100;eg指误差平方和指标,其缺省值0.02;lr指学习速率,其缺省值0.01;网络的训练过程中,网络收敛效果一定程度上要受网络初始化的初始值的影响,实际输出和理想输出的误差的变化情况可以反映网络学习的效果。
ploterr(tr,eg)
其中tr为网络学习的循环次数。第三章EBP网络2024/1/23第三章EBP网络2024/1/23训练结果与理想输出对比分析第三章EBP网络2024/1/23第三章EBP网络2、用BP网络逼近函数:
2024/1/23第三章EBP网络
根据实际,我们构造1-2-1网络,网络的结构如下所示
v1=logsig(W1p+b1)v2=purelin(W2v1+b2)∑1b11u11v11∑1b12u12v12∑1b2u2v2p2024/1/23第三章EBP网络(1)初始化,
W1(0)=[-0.27–0.41]Tb1(0)=[-0.48–0.13]TW2(0)=[0.09–0.17]Tb2(0)=[0.48]
(2)输入样本,正向计算,如取p=1
第一层的输出v1=logsig(W1p+b1)=[0.3210.368]
第二层的输出v2=purelin(W2v1+b2)=[0.446]
误差为e=t-v2={1+sin(πp/4)}-v2=1.261(3)误差反向传播以第二层开始:2024/1/23第三章EBP网络
所以第一层
(4)权值的修正
W2(1)=[0.171-0.0772]b2(1)=[0.732]W1(1)=[-0.265-0.420]Tb1(1)=[-0.475-0.140]T
即完成一次迭代过程,选择另一个输入p,再次执行上述迭代,直到达到结束标准。2024/1/23第三章EBP网络2024/1/23第三章EBP网络2024/1/23第三章EBP网络
对上述情况对比得出结论:当i=4时,前面构造的1-3-1网络模型达到了最大的能力,精度最高,但i=8时,虽然网络收敛了,但精度是比较低的。从另外一个方面,取i=6时,对三层网络结构(1-S-1),取不同的S值观察结果发现,S至少取值为5,否则不能精确地描述函数的变化。上机实践2024/1/23第三章EBP网络五、BP算法的改进
1、Vogl快速算法采用第二种权值修正方式:即全部样本输入后再对权值进行修正。对于参数η和α的控制2024/1/23第三章EBP网络Vogl快速算法的优越性
(1)降低了权值的修改频率,使权值沿着总体误差最小方向调整,避免回头路。
(2)适时调整参数η和α;即当前误差修正方向正确,便加大学习率,加入动量项,否则减小学习率,甩掉动量项,从而整体上提高学习效果。为避免计算溢出,可进一步改进:或这样可避免出现学习过程振荡。2024/1/23第三章EBP网络2、二阶BP算法传统的BP网络只是由一阶神经元按一定的连接方式而成,这就往往需要增加隐含层数和大量的隐含层神经元,不可避免的延长了训练时间,甚至不容易收敛。一种改进方式是引进高阶神经元的BP网络,节点响应为2024/1/23第三章EBP网络
其中ypi为样本p输入到神经元i产生的响应,wij和wijk分别为神经元i的一阶相关权值和二阶相关权值。此时网络的误差函数定义为:权值的修正方法同前述内容,主要考虑采用梯度法:2024/1/23第三章EBP网络
按照梯度法的思想,我们可以计算出网络权值的调节公式:
其中δpi为误差信号,具体表达式分两种情况:2024/1/23第三章EBP网络(1)输出层的神经元i时:
(2)隐含层的神经元i时:其中
δpm为节点i相邻的高层节点m的误差信号2024/1/23第三章EBP网络3、二阶快速BP算法这种算法是对二阶BP算法的进一步改进,主要是对参数η的改进:2024/1/23第三章EBP网络
参数η:2024/1/23第三章EBP网络
其中Δ1,Δ2,Δ3,δpi、ypi和α、β、γ参数的说明见下页2024/1/23第三章EBP网络2024/1/23第三章EBP网络
参数α、β、γ均为常数,其中
α>10<β<10<γ<12024/1/23第三章EBP网络2024/1/23感知器分类实例考虑如下四类输入向量的分类问题第1类:p1=[11]Tp2=[12]T
第2类:p3=[2-1]Tp4=[20]T
第3类:p5=[-12]Tp6=[-21]T
第4类:p7=[-1-1]Tp8=[-2-2]T
试设计一种感知器网络求解此问题第三章EBP网络2024/1/23
由于S个神经元的感知器可以对2s个类别进行分类,所以设计两个神经元的感知器第三章EBP网络w+p1uvb2×12×22×1f2×12×1V=hardlim(Wp+b)2024/1/23图形显示第三章EBP网络12342024/1/23分类结果第三章EBP网络12342024/1/23线性神经网络分类实例考虑如下四类输入向量的分类问题第1类:p1=[11]Tp2=[12]T
第2类:p3=[2-1]Tp4=[20]T
第3类:p5=[-12]Tp6=[-21]T
第4类:p7=[-1-1]Tp8=[-2-2]T
试设计一个Adaline网络和利用LMS学习规则求解此问题第三章EBP网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务平台设计服务合同(3篇)
- 脑外科护师个人工作述职报告(3篇)
- 有关环保建议书的资料(5篇)
- 河北省石家庄市(2024年-2025年小学五年级语文)人教版随堂测试((上下)学期)试卷及答案
- 湖南省张家界市(2024年-2025年小学五年级语文)人教版随堂测试(上学期)试卷及答案
- 2024年染料类项目资金申请报告代可行性研究报告
- 上海市市辖区(2024年-2025年小学五年级语文)统编版专题练习(上学期)试卷及答案
- 上海市县(2024年-2025年小学五年级语文)人教版随堂测试(下学期)试卷及答案
- 郴州文物百颂作者:湖南省郴州市五岭大道陈友训
- 2024届安徽省马鞍山市高三1月月考(期末)数学试题
- 网络工程职业生涯展示
- 哈利波特与混血王子
- 《汽车钣金喷涂技术》 课件 任务11.2车身钢制外板外形修复机修复
- 不锈钢电镀工艺流程
- IgG4相关疾病的护理查房
- 如何做好医院学科建设
- 干部职工禁毒培训课件
- 景区服务提升培训课件
- 补钾原则和注意事项
- 体育行业的运动场馆安全规范培训
- 小区大门改进方案
评论
0/150
提交评论