资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,神经网络与matlab专题知识讲座,神经网络与matlab专题知识讲座,第1页,第十一章 神经网络与,MATLAB,神经网络与matlab专题知识讲座,第2页,Neural Network Software,Program in:,Programming language(C+,Java,VB),Neural network package or NN programming tool,Tools(shells)incorporate:(MATLAB),Training algorithms,Transfer and summation functions,May still need to:,Program the layout of the database,Partition the data(test data,training data),Transfer the data to files suitable for input to an ANN tool,神经网络与matlab专题知识讲座,第3页,MATLAB,神经网络工具箱,神经网络与matlab专题知识讲座,第4页,MATLAB,神经网络工具箱,http:/ Network Toolbox(MathWorks),http:/ S2.SN,TF1 TF2.TFN,BTF,BLF,PF,),PR:,由每组输入(共有,R,组输入)元素最大值和最小值组成,R*2,维矩阵,Si,:,第,i,层长度,共计,N,层;,TFi,:,第,i,层传递函数,默认为“,tansig”,BTF,:,BP,网络训练函数,默认为“,trainlm”,BLF,:,权值和阈值,BP,学习算法,默认为,learngdm,PF,:,网络性能函数,默认为“,mse”,神经网络与matlab专题知识讲座,第24页,参数,TFi,能够采取任意可微传递函数,比如,transig,,,logsig,和,purelin,等;,训练函数能够是任意,BP,训练函数,如,trainm,,,trainbfg,,,trainrp,和,traingd,等。,BTF,默认采取,trainlm,是因为函数速度很快,但该函数一个主要缺点是运行过程会消耗大量内存资源。假如计算机内存不够大,不提议用,trainlm,,而提议采取训练函数,trainbfg,或,trainrp,。即使这两个函数运行速度比较慢,但它们共同特点是内存占用量小,不至于出现训练过程死机情况。,说明:,神经网络与matlab专题知识讲座,第25页,二、神经元上传递函数,传递函数是,BP,网络主要组成个别,必须是连续可微,,BP,网络常采取,S,型对数或正切函数和线性函数。,Logsig,传递函数为,S,型对数函数。,调用格式为:,A=logsig,(,N,),N,:,Q,个,S,维输入列向量;,A,:函数返回值,位于区间,(0,1),中,神经网络与matlab专题知识讲座,第26页,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,)中。,神经网络与matlab专题知识讲座,第27页,learngd,该函数为梯度下降权值,/,阈值学习函数,经过神经元输入和误差,以及权值和阈值学习速率,来计算权值或阈值改变率。,三、,BP,网络学习函数,dW,ls=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS),调用格式,;,神经网络与matlab专题知识讲座,第28页,BP,网络及,MATLAB,实现,以一个单隐层,BP,网络设计为例,介绍利用神经网络工具箱进行,BP,网络设计及分析过程,1.,问题描述,P=-1,:,0.1:1;,T=-0.9602-0.577.-0.0729 0.3771 0.6405 0.6600 0.4609 0.1336-0.-0.4344-0.5000-0.3930-0.1647 0.0988 0.3072 0.3960 0.3449 0.1816-0.0312-0.2189-0.3201,经过对函数进行采样得到了网络输入变量,P,和目标变量,T,:,神经网络与matlab专题知识讲座,第29页,2.,网络设计,网络输入层和输出层神经元个数均为,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=;,net.trainParam.goal=0.001;,net=train(net,P,T),y=sim(net,P),error=y-T;,res(i)=norm(error);,end,神经网络与matlab专题知识讲座,第30页,代码运行结果:,网络训练误差,结论:隐含层节点设为,8,神经网络与matlab专题知识讲座,第31页,
展开阅读全文