BP网络常用传递函数.docx_第1页
BP网络常用传递函数.docx_第2页
BP网络常用传递函数.docx_第3页
BP网络常用传递函数.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BP网络常用传递函数:BP网络的传递函数有多种。Log-sigmoid型函数的输入值可取任意值,输出值在0和1之间;tan-sigmod型传递函数tansig的输入值可取任意值,输出值在-1到+1之间;线性传递函数purelin的输入与输出值可取任意值。BP网络通常有一个或多个隐层,该层中的神经元均采用sigmoid型传递函数,输出层的神经元则采用线性传递函数,整个网络的输出可以取任意值。各种传递函数如图5.6所示。只改变传递函数而其余参数均固定,用本章5.2节所述的样本集训练BP网络时发现,传递函数使用tansig函数时要比logsig函数的误差小。于是在以后的训练中隐层传递函数改用tansig函数,输出层传递函数仍选用purelin函数。3) 每层节点数的确定:使用神经网络的目的是实现摄像机输出RGB颜色空间与CIE-XYZ色空间转换,因此BP网络的输入层和输出层的节点个数分别为3。下面主要介绍隐层节点数量的确定。对于多层前馈网络来说,隐层节点数的确定是成败的关键。若数量太少,则网络所能获取的用以解决问题的信息太少;若数量太多,不仅增加训练时间,更重要的是隐层节点过多还可能出现所谓“过渡吻合”(Overfitting)问题,即测试误差增大导致泛化能力下降,因此合理选择隐层节点数非常重要。关于隐层数及其节点数的选择比较复杂,一般原则是:在能正确反映输入输出关系的基础上,应选用较少的隐层节点数,以使网络结构尽量简单。本论文中采用网络结构增长型方法,即先设置较少的节点数,对网络进行训练,并测试学习误差,然后逐渐增加节点数,直到学习误差不再有明显减少为止。newff() 功能 建立一个前向BP网络 格式 net = newff(PR,S1 S2.SN1,TF1 TF2.TFN1,BTF,BLF,PF) 说明 net为创建的新BP神经网络; PR为网络输入取向量取值范围的矩阵; S1 S2SNl表示网络隐含层和输出层神经元的个数; TFl TF2TFN1表示网络隐含层和输出层的传输函数,默认为tansig; BTF表示网络的训练函数,默认为trainlm; BLF表示网络的权值学习函数,默认为learngdm; PF表示性能数,默认为mse。 参数TFi可以采用任意的可微传递函数,比如transig,logsig和purelin等; 训练函数可以是任意的BP训练函数,如trainm,trainbfg,trainrp和traingd等。 BTF默认采用trainlm是因为函数的速度很快,但该函数的一个重要缺陷是运行过程会 消耗大量的内存资源。如果计算机内存不够大,不建议用trainlm,而建议采用训练函数trainbfg或trainrp。 虽然这两个函数的运行速度比较慢,但它们的共同特点是内存占用量小,不至于出现训练过程死机的情况。 参数TFi可以采用任意的可微传递函数,比如transig,logsig和purelin等; 训练函数可以是任意的BP训练函数,如trainm,trainbfg,trainrp和traingd等。BTF默认采用trainlm是因为函数的速度很快,但该函数的一个重要缺陷是运行过程会消耗大量的内存资源。如果计算机内存不够大,不建议用trainlm,而建议采用训练函数trainbfg或trainrp。虽然这两个函数的运行速度比较慢,但它们的共同特点是内存占用量小,不至于出现训练过程死机的情况。 训练函数: 包括梯度下降bp算法训练函数traingd,动量反传递的梯度下降bp算法训练函数traingdm,动态自适应学习率的梯度下降bp算法训练函数traingda,动量反传和动态自适应学习率的梯度下降bp算法训练函数traingdx,levenberg_marquardt的bp算法训练函数trainlm。BP网络一般都是用三层的,四层及以上的都比较少用;传输函数的选择,这个怎么说,假设你想预测的结果是几个固定值,如1,0等,满足某个条件输出1,不满足则0的话,首先想到的是hardlim函数,阈值型的,当然也可以考虑其他的;然后,假如网络是用来表达某种线性关系时,用purelin-线性传输函数;若是非线性关系的话,用别的非线性传递函数,多层网络时,每层不一定要用相同的传递函数,可以是三种配合,可以使非线性和线性,阈值的传递函数等;compet-竞争型传递函数;hardlim-阈值型传递函数;hardlims-对称阈值型传输函数;logsig-S型传输函数;poslin-正线性传输函数;purelin-线性传输函数;radbas-径向基传输函数;satlin-饱和线性传输函数;satlins-饱和对称线性传输函数;softmax-柔性最大值传输函数;tansig-双曲正切S型传输函数;tribas-三角形径向基传输函数;二、神经元上的传递函数 传递函数是BP网络的重要组成部分,必须是连续可微的,BP网络常采用S型的对数或正切函数和线性函数。Logsig 传递函数为S型的对数函数。调用格式为:A=logsig(N) N:Q个S维的输入列向量;A:函数返回值,位于区间(0,1) 中 info=logsig(code)依据code值的不同返回不同的信息,包括:deriv返回微分函数的名称;name返回函数全程;output返回输出值域;active返回有效的输入区间例如:n=-10:0.1: 10;a=logsig(n);plot(n,a)matlab按照来计算对数传递函数的值:n=2/(1+exp(-2n)函数logsig可将神经元的输入(范围为整个实数集)映射到区间(0,1)中。三、BP网络学习函数 learngd 该函数为梯度下降权值/阈值学习函数,通过神经元的输入和误差,以及权值和阈值的学习速率,来计算权值或阈值的变化率。调用格式; dW,ls=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) 以一个单隐层的BP网络设计为例,介绍利用神经网络工具箱进行BP网络设计及分析的过程1. 问题描述 通过对函数进行采样得到了网络的输入变量P和目标变量T:P=-1:0.1:1;T=-0.9602 -0.577. -0.0729 0.3771 0.6405 0.6600 0.4609 0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 0.0988 0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.32012. 网络的设计 网络的输入层和输出层的神经元个数均为1,网络的隐含神经元个数应该在38之间。网络设计及运行的代码:s=3:8;res=1:6;for i=1:6; net=newff(minmax(P),s(i),1,tansig,logsig,traingdx); net.trainParam.epachs=2000; net.trainParam.goal=0.001; net=train(net,P,T) y=sim(net,P) error=y-T; res(i)=norm(error);end代码运行结果: 网络训练误差%获取训练数据与预测数据input_train=data(n(1:9900),1:3);output_train=data1(n(1:9900),1);input_test=data(n(9901:10000),1:3);output_test=data1(n(9901:10000),1);%数据归一化inputn,inputps=mapminmax(input_train);outputn,outputps=mapminmax(output_train);% bp 训练%初始化网络结构net=newff(inputn,outputn,100);net.trainParam.show=30;net.trainParam.epochs=300;net.trainParam.lr=0.01;net.trainParam.goal=1e-6;%网络训练net=train(net,inputn,outputn);% bp 预测%预测数据归一化inputn_test=mapminmax(apply,input_test,inputps);%网络预测输出an=sim(net,inputn_test);%网络输出反归一化BPoutput=mapminmax(reverse,an,outputps);% 结果分析figureplot(BPoutput,:og);hold onplot(output_test,-*);legend(预测输出,期望输出,fontsize,12)tit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论