版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第章神经网络工具箱函数1第章神经网络工具箱函数1利用神经网络能解决许多用传统方法无法解决的问题。神经网络在很多领域中都有应用,以实现各种复杂的功能。这些领域包括商业及经济估算、自动检测和监视、计算机视觉、语音处理、机器人及自动控制、优化问题、航空航天、银行金融业、工业生产等。而神经网络是一门发展很快的学科,其应用领域也会随着其发展有更大的拓宽。2利用神经网络能解决许多用传统方法无法解决的问
本章将介绍MATLAB神经网络工具箱的应用。在MATLAB神经网络工具箱中提供了丰富的演示实例,用MATLAB语言构造了典型神经网络的激活函数,编写了各种网络设计与训练的子程序,网络的设计者可以根据自己的需要去调用工具箱中有关神经网络的设计训练程序,使自己能够从繁琐的编程中解脱出来。33MATLAB神经网络工具箱提供了许多进行神经网络设计和分析的工具函数,这些函数的MATLAB实现,使得设计者对所选定网络进行计算的过程,转变为对函数的调用和参数的选择,这给用户带来了极大的方便,即使不了解算法的本质,也可以直接应用功能丰富的函数来实现自己的目的。有关这些工具函数的使用可以通过help命令得到,本章将对这些函数的功能、调用格式,以及使用方法做详细的介绍。2.1MATLAB神经网络工具箱函数4MATLAB神经网络工具箱提供了许多进行神随着MATLAB软件的版本提高,其对应的神经网络工具箱的内容越来越丰富,它包括了很多现有的神经网络的新成果,涉及的网络模型有,感知机网络、线性神经网络、BP神经网络、径向基神经网络、自组织神经网络、学习向量量化神经网络、Elman神经网络、Hopfield神经网络、自适应滤波和控制系统网络等。5随着MATLAB软件的版本提高,其对应的神神经网络工具箱提供了很多经典的学习算法,使用它能够快速地实现对实际问题的建模求解。由于其编程简单,这样就给使用者节省了大量的编程时间,使其能够把更多的精力投入到网络设计而不是具体程序实现上。6神经网络工具箱提供了很多经典的学习算法,使用2.1.1神经网络工具箱中的通用函数MATLAB神经网络工具箱中提供的函数主要分为两大部分。一部分函数是通用的,这些函数几乎可以用于所有类型的神经网络,如神经网络的初始化函数init()、训练函数train()和仿真函数sim()等;另一部分函数则是特别针对某一种类型的神经网络的,如对感知机神经网络进行建立的函数simup()等。表2-1列出了一些通用函数的名称和基本功能。72.1.1神经网络工具箱中的通用函数7000.midpoit()线性神经网络的仿真函数simulin()5*ones(3,1);(2,4)1net=newrbe(X,T,SPREAD)式中,vec为m行n列的稀疏矩阵,vec中的每个列向量,除仅包含一个1外,其余元素为0;于是就可以使用它来解决实际问题了。执行结果可得图2-29和图2-30。建立网络函数newfftd()图2-1硬限幅传输函数曲线计算矢量间的距离函数dist()>>X=rand(3,2);A=rand(3,2);图2-43训练后网络权值的分布>>Es=errsurf(X,T,W,b,'logsig');在某些点上,网络达到稳定,新的输出等于以前的输出,最后的输出矢量可以看作是初始矢量的分类。(3)name—传输函数的全称;函数satlin(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵a。>>Y=sim(net,X)%根据输入X计算PNN网络的输出Y表2-1神经网络的通用函数和功能函数名功能init()初始化一个神经网络initlay()层-层结构神经网络的初始化函数initwb()神经网络某一层的权值和偏值初始化函数initzero()将权值设置为零的初始化函数train()神经网络训练函数adapt()神经网络自适应训练函数sim()神经网络仿真函数dotprod()权值点积函数normprod()规范点积权值函数netsum()输入求和函数netprod()网络输入的积函数concur()结构一致函数8000.1.初始化神经网络函数init()利用初始化神经网络函数init()可以对一个已存在的神经网络进行初始化修正,该网络的权值和偏值是按照网络初始化函数来进行修正的。其调用格式为:net=init(NET)2.神经网络某一层的初始化函数initlay()初始化函数initlay()特别适用于层-层结构神经网络的初始化,该网络的权值和偏值是按照网络初始化函数来进行修正的。其调用格式为:net=initlay(NET)91.初始化神经网络函数init()2.神经网络某一层的3.神经网络某一层的权值和偏值初始化函数initwb()利用初始化函数initwb()可以对一个已存在的神经网络的NET某一层i的权值和偏值进行初始化修正,该网络对每层的权值和偏值是按照设定的每层的初始化函数来进行修正的。其调用格式为:net=initwb(NET,i)4.神经网络训练函数train()利用train()函数可以训练一个神经网络。网络训练函数是一种通用的学习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则。停止准则可能是最大的学习步数、最小的误差梯度或者是误差目标等,调用格式为:[net,tr,Y,E,Xf,Af]=train(NET,X,T,Xi,Ai)103.神经网络某一层的权值和偏值初始化函数initwb()表2-9列出了这些函数的名称和基本功能。未经训练的网络输出BP神经网络学习规则为调整网络的权值和偏值使网络误差的平方和为最小。plotpc(w,b,h)包含从前的一次调用中返回的句柄,它在画新分类线之前,删除旧线。>>plot(X,T,'or',X,y,'-k',X,error)8.线性神经网络的训练函数trainwh()2)在MATLAB窗口的左下角“Start”菜单中,单击“ToolboxsNeuralNetwork”命令子菜单中的“NNTool”选项。net=newc(Xr,S,lr)[y1,y2,y3]式中X为RQ维的Q组输入向量;BP学习规则函数learnbp()对线性神经网络进行离线训练函数initff()可最多对三层神经网络进行初始化,而得到每层的权值和偏值。对于需要分类的模式矢量[0;0.Elman神经网络是一种回归网络,它包含一个tansig隐含层和一个purelin输出层,tansig隐含层接收网络输入和自身的反馈,purelin层从tansig隐含层得到输入。创建一个自组织特征映射网络函数newsom()图2-9输入样本的分类图2-10输入样本加网络初始分类线产生一定类别的样本向量函数nngenc()根据神经网络工具箱函数编写的程序ex2_10.设计一个精确径向基网络函数solverbe()[net,Y,E,Xf,Af,tr]=adapt(NET,X,T,Xi,Ai)函数negdist()调用格式为5.网络自适应训练函数adapt()另一种通用的训练函数是自适应函数adapt()。自适应函数在每一个输入时间阶段更新网络时仿真网络,而这在进行下一个输入的仿真前完成,其调用格式为:[net,Y,E,Xf,Af,tr]=adapt(NET,X,T,Xi,Ai)6.网络仿真函数sim()
神经网络一旦训练完成,网络的权值和偏值就已经确定了。于是就可以使用它来解决实际问题了。利用sim()函数可以仿真一个神经网络的性能。其调用格式为:[Y,Xf,Af,E,perf]=sim(net,X,Xi,Ai,T)或
[Y,Xf,Af,E,perf]=sim(net,{QTs},Xi,Ai)11表2-9列出了这些函数的名称和基本功能。5.网络自适应训练7.权值点积函数dotprod()网络输入向量与权值的点积可得到加权输入。函数dotprod()的调用格式为:Z=dotprod(W,X)式中,W为SR维的权值矩阵;X为Q组R维的输入向量;Z为Q组S维的W与X的点积。8.网络输入的和函数netsum()网络输入的和函数是通过某一层的加权输入和偏值相加作为该层的输入。调用格式:Z=netprod(Z1,Z2,…)式中,Zi为SQ维矩阵。127.权值点积函数dotprod()129.网络输入的积函数netprod()网络输入的积函数是通过某一层的加权输入和偏值相乘作为该层的输入。调用格式:Z=netprod(Z1,Z2,…)式中,Zi为SQ维矩阵。10.结构一致函数concur()函数concur()的作用在于使得本来不一致的权值向量和偏值向量的结构一致,以便于进行相加或相乘运算,其调用格式为:Z=concur(b,q)式中,b为N1维的权值向量;q为要达到一致化所需要的长度;Z为一个已经一致化了的矩阵。
139.网络输入的积函数netprod()13例2-1利用netsum()函数和netprod()函数,对两个加权输入向量Z1和Z2进行相加和相乘。解MATLAB的程序如下。Z1=[124;341];Z2=[-122;-5-61];%提供两个加权输入向量b=[0;-1];q=3;%权值向量和一致化所需要的长度Z=concur(b,q)%计算一致化了的矩阵X1=netsum(Z1,Z2),X2=netprod(Z1,Z2)%计算向量的和与积结果显示:Z=000-1-1-1X1=046-2-22X2=-148-15-24114例2-1利用netsum()函数和netprod()函2.1.2感知机神经网络工具箱函数MATLAB神经网络工具箱中提供了大量的与感知机相关的的函数。在MATLAB工作空间的命令行键入“helppercept”,便可得到与感知机(Perceptron)相关的函数,进一步利用help命令又能得到相关函数的详细介绍。表2-2列出了这些函数的名称和基本功能。152.1.2感知机神经网络工具箱函数15表2-2感知机网络的重要函数和功能
函数名功能mae()平均绝对误差性能函数hardlim()硬限幅传输函数hardlims()对称硬限幅传输函数plotpv()在坐标图上绘出样本点plotpc()在已绘制的图上加分类线initp()对感知机神经网络进行初始化trainp()训练感知机神经网络的权值和偏值trainpn()训练标准化感知机的权值和偏值simup()对感知机神经网络进行仿真learnp()感知机的学习函数learnpn()标准化感知机的学习函数newp()生成一个感知机16表2-2感知机网络的重要函数和功能函数名功能mae1.平均绝对误差性能函数mae()感知机网络学习规则为调整网络的权值和偏值,使网络的平均绝对误差和性能最小。平均绝对误差性能函数的调用格式为:perf=mae(E,w,pp)式中E为误差矩阵或向量(E=T-Y)。
171.平均绝对误差性能函数mae()172.硬限幅传输函数hardlim()硬限幅传输函数hardlim()通过计算网络的输入得到该层的输出。如果网络的输入达到门限,则硬限幅传输函数的输出为1,否则为0。这表明神经元可用来作出判断或分类。其调用格式为:a=hardlim(N)或a=hardlim(Z,b)a=hardlim(P)函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵a。当N中的元素大于等于零时,返回的值为1,否则为0。函数hardlim(Z,b)用于矢量是成批处理且偏差存在的情况下,此时的偏差b和加权输入矩阵Z是分开传输的。偏差矢量b加到Z中的每个矢量中形成网络输入矩阵。
182.硬限幅传输函数hardlim()18返回的元素a是1还是0,取决于网络输入矩阵中的元素是大于等于0还是小于0;函数hardlim(P)包含传输函数的特性名并返回问题中的特性,如下的特性可从任何传输函数中获得:(1)delta—与传输函数相关的delta函数;(2)init—传输函数的标准初始化函数;(3)name—传输函数的全称;(4)output—包含有传输函数最小、最大值的二元矢量。例利用以下命令可得图2-1。>>N=-5:0.1:5;>>a=hardlim(N);plot(N,a)图2-1硬限幅传输函数曲线
19返回的元素a是1还是0,取决于网络输入矩阵中的元素是大于等于3.对称硬限幅传输函数hardlims()对称硬限幅传输函数hardlims()通过计算网络的输入得到该层的输出。如果网络的输入达到门限,则硬限幅传输函数的输出为1,否则为-1。例>>w=eye(3);b=-0.5*ones(3,1);>>X=[10;01;11];>>a=hardlims(w*X,b)结果显示:a=1-1-1111203.对称硬限幅传输函数hardlims()20例2-2建立一个感知机网络,使其能够完成“或”的功能。解为了完成“或”函数,建立一个两输入、单输出的一个单层感知机网络。设输入向量为:X=[0011;0101],目标向量为:T=[0111]。激活函数取硬限幅传输函数。根据感知机学习算法的计算步骤,利用MATLAB的神经网络工具箱的有关函数编写的程序如下。
ex2_221例2-2建立一个感知机网络,使其能够完成“或”的功能。21net=initlay(NET)[dW,db]=learnp(X,E)竞争传输函数compet()均方误差性能函数的调用格式为:学习向量量化网络能够对任意输入向量进行分类,不管它们是不是线性可分的,这一点比感知机神经网络要优越得多。其他参数定义同函数newff()。为了进一步方便用户,在MATLABR2007(MATLAB7.解(1)根据神经网络工具箱函数trainbp()编写的程序如下。例2-22设计一个三层BP神经网络,并训练它来识别0,1,2,,9,A,,F,这16个十六进制已经被数字成像系统数字化了,其结果是对应每个数字有一个53的布尔量网络。双曲正切S型(tan-sigmoid)传输函数利用newfftd()函数可生成一个前馈输入延时BP网络。建立一个向量量化神经网络函数newlvq()当dr取为1时,网络学习结束后权值取值很小,不过网络能“记忆”前几个循环中学习的内容。偏差矢量b加到Z中的每个矢量中形成网络输入矩阵。net=newlin(Xr,S,Id,lr)-15-241例利用以下命令可得图2-37。2用[111;001;010;100;111]表示,等等。net=newc(Xr,S,lr)计算误差曲面函数errsurf()>>d=nbdist(2,3)大多数神经元网络的输入可通过表达式N=w*X+b来计算,其中w,b分别为权矢量和偏差矢量。结果显示:epoch=3Wij=1.50281.7095y=011122net=initlay(NET)结果显示:224.绘制样本点的函数plotpv()利用plotpv()函数可在坐标图中绘出已知给出的样本点及其类别,不同的类别使用了不同的符号。其调用格式为:plotpv(X,T)式中X定义了n个2或3维的样本,它是一个2n维或3n维的矩阵;T表示各样本点的类别,它是一个n维的向量。如果T只含一元矢量,目标0的输入矢量画为“o”;
目标1的输入矢量画为“+”;
如果T含二元矢量,则输入矢量对应如下:[00]用“o”;[01]用“+”;[10]用“*”;[11]用“”。例
234.绘制样本点的函数plotpv()23>>X=[-0.5,-0.5,0.3,-0.1,0.2,0.0,0.6,0.8;-0.5,0.5,-0.5,1.0,0.5,-0.9,0.8,-0.6];>>T=[11011010];plotpv(X,T)对样本不同的类别使用了不同的符号,如图2-2所示。
图2-2样本的分类
24>>X=[-0.5,-0.5,0.3,-0.1,0.2,0.5.在存在的图上画感知机的分类线函数plotpc()硬特性神经元将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(w,b)对含权矩阵w和偏差矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(w,b,h)包含从前的一次调用中返回的句柄,它在画新分类线之前,删除旧线。
255.在存在的图上画感知机的分类线函数plotp6.感知机神经网络的初始化函数initp()利用initp()函数可建立一个单层(一个输入层和一个输出层)感知机神经网络。其调用格式为:[W,b]=initp(R,S)或[W,b]=initp(X,T)266.感知机神经网络的初始化函数initp()例利用以下命令,可得图1-54。>>X=[0011;0101];T=[0111];>>[W,b]=initp(X,T);>>plotpv(X,T);plotpc(W,b);
使用plotpc()函数可以在已绘制的图上加上感知机分类线(MATLAB6.1及以下版本利用此命令不能产生分类线),如图2-3所示。由图可见经过初始化后的网络对输入样本还不能正确进行分类。
图2-3输入样本加网络初始分类线27例利用以下命令,可得图1-54。图2-3输入样本加网络初7.用感知机准则训练感知机的函数trainp()经过初始化建立的感知机,还必须经过训练才能够实际应用。通过训练以决定网络的权值和偏值。对于感知机,其训练过程为:对于给定的输入向量,计算网络的实际输出,并与相应的目标向量进行比较,得到误差,然后根据相应的学习规则调整权值和偏值。重新计算网络在新的权值和偏值作用下的输出,重复上述的权值和偏值的调整过程,直到网络的输出与期望的目标向量相等或者训练次数达到预定的最大次数时才停止训练,之所以要设定最大训练次数,是因为对于有些问题,使用感知机神经网络时是不能解决的,这正是感知机的缺点。
训练感知机神经网络trainp()函数的调用格式为:[W,B,epochs,errors]=trainp(w,b,X,T,tp)287.用感知机准则训练感知机的函数trainp(例2-4利用trainp()函数训练一个感知机网络,并用训练后的网络对输入样本进行分类。解程序如下。ex2_4例利用以上程序,可得如图2-4所示的样本及分类线。用标准化感知机准则训练感知机的函数trainpn()的用法同函数trainp(),即使输入矢量的长度不同,使用标准化感知机准则也使得学习过程收敛很快。
图2-4样本加分类线29例2-4利用trainp()函数训练一个感知机网络,并用8.感知机神经网络的仿真函数simup()神经网络一旦训练完成,网络的权值和偏值就已经确定了。于是就可以使用它来解决实际问题了。感知机由一系列硬特性神经元组成,运行速度很快,对简单的分类很有用。利用simup()函数可以测试一个感知机神经网络的性能。其调用格式为:Y=simup(X,w,b)308.感知机神经网络的仿真函数simup()例2-5利用trainp()函数训练一个感知机网络,使其能够完成“或”的功能。解根据神经网络工具箱函数编写的程序如下。ex2_5执行以上程序可得如下结果以及图2-5至图2-8。y=0111由以上结果和图2-7可知,训练后的网络已具有“或”的功能,且可对输入样本进行正确分类
31例2-5利用trainp()函数训练一个感知机网络,使图2-5输入样本的分类
图2-6输入样本加网络初始分类线
图2-7输入样本加网络训练后的分类线
图2-8误差曲线
32图2-5输入样本的分类例2-6利用trainp()函数训练一个感知机网络,使其能够对三个输入进行分类。
解根据神经网络工具箱函数编写的程序如下。ex2_6执行以上程序可得如下结果以及图2-9至图2-12。y=01001101
33例2-6利用trainp()函数训练一个感知机网络,使正切S型(Tansig)神经元的求导函数deltatan()(4)output—包含有传输函数最小、最大值的二元矢量。solvehop()于是就可以使用它来解决实际问题了。重新计算网络在新的权值和偏值作用下的输出,重复上述的权值和偏值的调整过程,直到网络的输出与期望的目标向量相等或者训练次数达到预定的最大次数时才停止训练,之所以要设定最大训练次数,是因为对于有些问题,使用感知机神经网络时是不能解决的,这正是感知机的缺点。1[dW,db]=learnp(X,E)因为其它样本则需花很多时间才能同奇异样本所对应的权值变化相匹配。表2-6列出了这些函数名称和基本功能。MATLAB神经网络工具箱中提供的函数主要分为两大部分。或a=satlin(Z,b)函数barerr(e)绘制每对输入/目标矢量误差e平方和的直方图。执行结果可得图2-29和图2-30。图2-42输入样本向量的分布X2=-1485,其余神经元输出为0。初始化Elman神经网络函数initelm()函数satlin(Z,b)用于矢量是成批处理且偏差存在的情况下,此时的偏差b和加权输入矩阵Z是分开传输的。03表2-9列出了这些函数的名称和基本功能。d=negdist(w,X)感知机网络学习规则为调整网络的权值和偏值,使网络的平均绝对误差和性能最小。图2-9输入样本的分类
图2-10输入样本加网络初始分类线
图2-11输入样本加网络训练后的分类线
图2-12误差曲线
34正切S型(Tansig)神经元的求导函数deltatan(例2-7利用trainp()函数训练一个感知机网络,使其能够将输入分为4类。解根据神经网络工具箱函数编写的程序如下。ex2-735例2-7利用trainp()函数训练一个感知机网络,使执行以上程序可得如下结果以及图2-13和图2-14。y=11100111000000011111
图2-13输入样本加网络训练后的分类线
图2-14误差曲线
36执行以上程序可得如下结果以及图2-13和图2-14。369.感知机学习函数learnp()感知机神经网络学习规则为调整网络的权值和偏值使网络平均绝对误差性能最小,以便对网络输入矢量正确分类。感知机的学习规则只能训练单层网络,函数调用格式为:[dW,db]=learnp(X,E)379.感知机学习函数learnp()37例2-8利用learnp()函数训练建立一个感知机网络,使其能够完成“或”的功能。
解根据神经网络工具箱函数编写的程序如下。ex2_8结果显示:epoch=5W=1.36261.7590y=011138例2-8利用learnp()函数训练建立一个感知机网10.标准化感知机学习函数learnpn()感知机学习规则在调整网络的权值和偏值时利用下式从上式可以看出,输入向量X越大,则权值的变化w就越大。当存在奇异样本(即该样本向量同其它所有的样本向量比较起来,特别得大或者特别得小)时,利用以上规则训练时间大为加长。因为其它样本则需花很多时间才能同奇异样本所对应的权值变化相匹配。为了消除学习训练时间对奇异样本的敏感性,提出了一种改进的感知机学习规则,也成为标准化感知机学习规则,标准化感知机学习规则试图使奇异样本和其它样本对权值的变化值的影响均衡,它可通过下式实现3910.标准化感知机学习函数learnpn()39标准化感知机的学习函数为learnpn(),其调用格式为:[dW,db]=learnpn(X,E)式中X为输入向量矩阵;E为误差向量(E=T-Y);T表示网络的目标向量;Y表示网络的输出向量;dW为权值变化阵;db为偏值变化阵。相应于标准化感知机学习规则的训练函数为trainpn(),其调用格式为:[W,B,epochs,errors]=trainpn(w,b,X,T,tp)40标准化感知机的学习函数为learnpn(),其调用格式利用Levenberg-Marguardt规则训练前向网络或dy=deltatan(y,e)感知机网络学习规则为调整网络的权值和偏值,使网络的平均绝对误差和性能最小。神经网络某一层的权值和偏值初始化函数initwb()可以看出,结果应该为一个34的矩阵,其中(x,y)是与数据索引行向量中各元素的值和位置相对应的,仅位于x行y列的元素为1,其余元素均为0。平均绝对误差性能函数的调用格式为:>>[w,b]=solvehop(T)>>[W,b]=solvelin(X,T);y=simulin(X,W,b)函数ind2vec()的调用格式为:计算线性层的最大学习速率其网络输入为权值向量W与输入向量X之间的向量距离乘以偏值b,即d=radbas(dist(W,X)*b)。函数learnlm()采用了Levenberg-Marguardt优化方法,从而使得学习时间更短。双曲正切S型(tan-sigmoid)传输函数神经网络一旦训练完成,网络的权值和偏值就已经确定了。net=newrbe(X,T,SPREAD)03例2-26利用newc()函数建立一个基本竞争型的神经网络,训练后对以下向量进行分类。d=negdist(w,X)BP神经网络由一系列网络层组成,每一层都从前一层得到输入数据,simuff()函数可仿真最多三层前向网络。例利用以下命令可用目标向量T来测试其是否被存储在网络中,即将目标向量作为输入net=newlin(Xr,S,Id,lr)用函数full()可以看它的非稀疏形式。例2-9利用trainpn()函数训练建立一个感知机网络,观察奇异输入样本对训练结果的影响。解根据神经网络工具箱函数编写的程序如下。ex2_941利用Levenberg-Marguardt规则训练前向网络例执行以上程序可得如下结果以及图2-15和图2-16。y=11001图2-15输入样本加网络训练后的分类线图2-16误差曲线由图2-16可见利用函数trainpn(),网络训练只需要2步,如果利用函数trainp(),网络训练需要经过60多步。
42执行以上程序可得如下结果以及图2-15和图2-16。图2例2-10利用trainpn()函数训练建立一个感知机网络,对“异或”问题进行分类。解单层感知机不能解决像逻辑“异或”一类的线性不可分的输入向量的分类问题,解决这一问题的方案,是可以设计一个两层的网络,即含有输入层,隐含层和输出层的结构。设输入向量为:X=[0011;0101],目标向量为:T=[0110]。根据神经网络工具箱函数编写的程序ex2_10.m如下。%ex2_10.m
执行以上程序可得如下结果以及图2-17和图2-18。y=011043例2-10利用trainpn()函数训练建立一个感知机网由图2-18可见网络训练只需要4步。需要指出的是,由于隐含层的权值和偏值是随机给定的而且不可调整,故隐含层的输出也是随机的,这样网络有可能有解,也有可能无解,如果网络找不到解,可再次运行网络,以重新初始化隐含层的权值和偏值。如果采用单层网络,对以上问题永远也找不到正确的分类方案。44由图2-18可见网络训练只需要4步。需要指出的是,由于隐含层11.建立感知机神经网络函数newp()利用newp()函数可建立一个感知机神经网络。其调用格式为:net=newp(Xr,S,Tf,Lf)例建立一个两输入且样本点取值在[-1,1]之间,而网络只有单个神经元的感知机神经网络,可利用以下命令>>net=newp([-11;-11],1);4511.建立感知机神经网络函数newp()45使用plotpc()函数可以在已绘制的图上加上感知机分类线。让它返回得到的分类线的句柄,以便在下一次再绘制分类线时能够将原来的删除。例>>handle=plotpc(net.iw{1},net.b{1});式中net.iw{1}用来计算网络net的权值,net.b{1}用来计算网络net的偏值。
46使用plotpc()函数可以在已绘制的图上加上感例2-11利用newp()和train()函数建立并训练一个感知机网络,使其同样能够完成“或”的功能。解根据神经网络工具箱函数编写的程序如下。ex2_11执行结果y=011147例2-11利用newp()和train()函数建立并训例2-12利用train()函数训练一个感知机网络,并选择10个点对其进行测试。解根据神经网络工具箱函数编写的程序ex2_12.m如下。ex2_12.m运行以上命令可得如图2-20和图2-21所示的训练过程误差曲线和测试结果。由图可见网络训练只需5步,就能够将它们正确分类,这说明了设计的网络是正确的。
48例2-12利用train()函数训练一个感知机网络,并选2.1.3线性神经网络工具箱函数MATLAB神经网络工具箱中提供了大量的与线性网络相关的的工具箱函数。在MATLAB工作空间的命令行键入“helplinnet”,便可得到与线性网络相关的函数,进一步利用help命令又能得到相关函数的详细介绍。表2-3列出了这些函数的名称和基本功能。492.1.3线性神经网络工具箱函数49表2-3线性网络的重要函数和功能函数名功能sse()误差平方和性能函数purelin()线性传输函数initlin()线性线性神经的初始化函数solvelin()设计一个线性神经网络simulin()对线性神经网络进行仿真maxlinlr()计算线性层的最大学习速率learnwh()Widrow-hoff的学习函数trainwh()对线性神经网络进行离线训练adaptwh()对线性神经网络进行在线自适应训练newlind()设计一个线性层newlin()新建一个线性层50表2-3线性网络的重要函数和功能函数名功能sse(1.误差平方和性能函数sse()线性网络学习规则为调整网络的权值和偏值使网络误差平方和性能最小。误差平方和性能函数的调用格式为:perf=sse(E,w,pp)511.误差平方和性能函数sse()512.线性传输函数purelin()神经元最简单的传输函数是简单地从神经元输入到输出的线性传输函数,输出仅仅被神经元所附加的偏差所修正。线性传输函数常用于Widriw-Hoff或BP准则来训练的神经网络中,该函数调用格式为:a=purelin(N)或a=purelin(Z,b)a=purelin(P)522.线性传输函数purelin()52(2)在Help窗口右边的Demos页面中,利用鼠标的左键选择Toolboxes|NeuralNetwork|Hopfieldshreeneurondesign节点,则在该窗口的右边出现关于建立一个三神经元Hopfield网络的有关内容,如图2-68所示。a=purelin(P)net=newlvq(Xr,S1,Pc,Lr,Lf)03其调用格式为:plotes(W,b,Es,v)解为了完成“与”函数,建立一个两输入、单输出的一个感知机网络。将数据索引向量变换成向量组函数ind2vec()(4)output—包含有传输函数最小、最大值的二元矢量。vec2ind()因此satlin神经元在一定的输入区域内象线性神经元,在超出此区域,则象硬特性神经元,函数调用格式为:maxlinlr()[w,b]=solvehop(T)Y=simusm(X,w,m,n)当存在奇异样本(即该样本向量同其它所有的样本向量比较起来,特别得大或者特别得小)时,利用以上规则训练时间大为加长。利用以上程序可得如下结果以及图2-47和图2-48。11001目标向量也被定义成一个416维的目标矩阵T,其每一列的4个元素对应一个数字量,这16个数字量用其所对应的十六进制值表示。函数trainbp()和trainbpx()都是基于梯度下降的训练算法,而函数trainblm()是建立在一种优化方法基础上的训练算法。Tansig神经元的delta函数4:4;b=W;图2-9输入样本的分类图2-10输入样本加网络初始分类线LM方法更新参数(如权值和偏值)的数学表达式为w=(JTJ+I)-1JTe。函数purelin(P)包含传输函数的特性名并返回问题中的特性,如下的特性可从任何传输函数中获得:(1)delta—与传输函数相关的delta函数;(2)init—传输函数的标准初始化函数;(3)name—传输函数的全称;(4)output—包含有传输函数最小、最大值的二元矢量。例利用以下命令可得图2-22。>>n=-5:0.1:5;b=0;>>a=purelin(n,b);plot(n,a)图2-22线性传输函数
53(2)在Help窗口右边的Demos页面中,利用鼠标的左键3.线性神经网络的初始化函数initlin()利用initlin()函数可建立一个单层(一个输入层和一个输出层)线性神经网络。其调用格式为:[W,b]=initlin(R,S)或[W,b]=initlin(X,T)例>>X=[0011;0101];>>T=[0111];[W,b]=initlin(X,T);543.线性神经网络的初始化函数initlin()4.设计一个线性神经网络函数solvelin()同大多数其它神经网络不同的是,只要已知线性神经网络的输入向量和目标向量,就可以直接对其进行设计。使用函数solvelin()设计的线性神经网络,可以不经过训练,直接找出网络的权值和偏值,使得网络的误差的平方和最小。该函数的调用格式为:[W,b]=solvelin(X,T)554.设计一个线性神经网络函数solvelin()555.线性神经网络的仿真函数simulin()利用函数solvelin()建立的线性神经网络的权值和偏值就已经根据网络的输入向量和目标向量训练好了。simulin()函数可以测试一个线性神经网络的性能。其调用格式为:Y=simulin(X,w,b)565.线性神经网络的仿真函数simulin()56例2-13利用solvelin()函数建立一个线性网络,并对其进行测试。>>X=[123];T=[2.04.15.9];%给定训练集和目标值>>[W,b]=solvelin(X,T);y=simulin(X,W,b)结果显示:y=2.05004.00005.950057例2-13利用solvelin()函数建立一个线性网络,6.计算线性层的最大学习速率函数maxlinlr()函数maxlinlr()用于计算用Widrow-Hoff准则训练的线性网络的最大稳定学习速率。其调用格式为:lr=maxlinlr(X)或lr=maxlinlr(X,b)例利用以下命令可计算出用Widrow-Hoff准则训练的线性神经元层所用的学习率上限。>>X=[12-47;0.13106];lr=maxlinlr(X)结果显示:lr=0.0069586.计算线性层的最大学习速率函数maxlinlr()7.线性神经网络学习函数learnwh()线性网络采用Widrow-Hoff学习规则,Widrow-Hoff学习规则只能训练单层的线性神经网络,但这并不影响单层线性神经网络的应用,因为对每一个多层线性神经网络而言,都可以设计出一个性能完全相当的单层线性神经网络。当利用函数solvelin()设计的线性神经网络不能调整网络的权值和偏值使网络误差平方和性能最小时,可以应用函数learnwh()和函数trainwh()来调整网络的权值和偏值。函数learnwh()的调用格式为:[dW,db]=learnwh(X,E,lr)597.线性神经网络学习函数learnwh()598.线性神经网络的训练函数trainwh()函数trainwh()可利用Widrow-Hoff学习规则对线性层的权值进行训练,利用输入矢量,计算该层输出矢量,然后根据产生的误差矢量调整该层的权值和偏差。调用格式为:[W,B,epochs,errors]=trainwh(w,b,X,T,tp)9.线性神经网络自适应训练函数adaptwh()函数adaptwh()可以利用Widrow-Hoff学习规则对线性层的权值进行自适应调节,在每一步迭代过程中,修改自适应线性网络层的权值、偏差和输出矢量,从而学习并适应环境的变化。其调用格式为:[Y,E,W,B]=adaptwh(w,b,X,T,lr)608.线性神经网络的训练函数trainwh()9.线性10.设计一个线性层函数newlind()利用函数newlind()设计出的线性网络已经训练好,可直接使用,该函数调用格式为:net=newlind(X,T)式中X为RQ维的Q组输入向量;T为SQ维的Q组目标分类向量;net为生成的新线性神经网络。6110.设计一个线性层函数newlind()61图2-471000个二维样本向量的分布图2-48训练后网络权值的分布神经网络工具箱提供了很多经典的学习算法,使用它能够快速地实现对实际问题的建模求解。两神经元的Manhattan距离是指在神经元坐标相减后的矢量中,其元素绝对值之和。这就导致了在实际需要的输入空间较大时,需要很多的径向基神经元。图2-39径向基传输函数及其加权和图2-40仿真结果及原始样本分布例2-21利用两层BP神经网络训练加权系数。[W,b]=solvelin(X,T)线性网络学习规则为调整网络的权值和偏值使网络误差平方和性能最小。对Elman神经网络进行初始化03这时将弹出一个新的窗口,此窗口首先介绍了如何使用图形用户接口解决问题的一般步骤,然后给出了关于这些按钮的描述,最后对每个区域各代表什么也作了介绍。在MATLAB命令窗口中,可以用以下两种方法启动神经网络拟合工具:表2-5列出了这些函数的名称和基本功能。平均绝对误差性能函数的调用格式为:建立感知机神经网络函数newp()表2-4BP网络的重要函数和功能(1)delta—与传输函数相关的delta函数;从网络误差矢量中可推导出输出层的误差导数或(delta)矢量,隐含层的矢量的导出,这种矢量的反向传播正是BP算法的由来。例利用以下命令可用目标向量T来测试其是否被存储在网络中,即将目标向量作为输入10.标准化感知机学习函数learnpn()1MATLAB神经网络工具箱函数>>T=ind2vec(Tc);%将类别向量转换为PNN可以使用的目标向量T例2-14利用newlind()函数建立一个线性网络,并对其进行测试。解MATLAB程序ex2_14.m如下。%ex2_14.mX=[123];T=[2.04.15.9];%给定训练集和目标值net=newlind(X,T);y=sim(net,X)执行结果:y=2.05004.00005.950062图2-471000个二维样本向量的分布11.新建一个线性层函数newlin()利用函数newlin()设计的线性网络,还需训练,该函数调用格式为:net=newlin(Xr,S,Id,lr)例建立一个线性网络。可利用以下命令>>X=[123];S=1;net=newlin(minmax(X),S);6311.新建一个线性层函数newlin()63执行结果可得图2-23和图2-24。
图2-23系统输入输出曲线
图2-24网络预测输出与系统输出和误差
例2-15利用线性网络进行系统辨识。解MATLAB程序如下:ex2_1564例2-15利用线性网络进行系统辨识。64执行结果可得图2-25和图2-26。
图2-25网络待预测的目标信号
图2-26网络预测输出与目标值
例2-16利用线性网络进行自适应预测。解方法一:MATLAB程序如下:ex2_16_165执行结果可得图2-25和图2-26。例2-16利用线性网络
执行结果可得图2-27和图2-28。
图2-27网络待预测的目标信号
图2-28网络预测输出与误差
方法二:MATLAB程序如下:ex2_16_266
执行结果可得图2-27和图2-28。方法二:MATLAB程
执行结果可得图2-29和图2-30。
图2-29网络待预测的目标信号
图2-30网络预测输出目标信号与误差
例2-17利用线性网络预测一个时变信号序列。解MATLAB程序如下:ex2_1767
执行结果可得图2-29和图2-30。例2-17利用线性网2.1.4
BP神经网络工具箱函数MATLAB神经网络工具箱中提供了大量的进行BP网络分析和设计的工具箱函数。在MATLAB工作空间的命令行键入“helpbackprop”,便可得到与BP神经网络相关的函数,进一步利用help命令又能得到相关函数的详细介绍。表2-4列出了这些函数的名称和基本功能。
682.1.4BP神经网络工具箱函数68表2-4BP网络的重要函数和功能
函数名功能tansig()双曲正切S型(tan-sigmoid)传输函数purelin()线性(Purelin)传输函数logsig()对数S型(log-sigmoid)传输函数deltatan()Tansig神经元的delta函数deltalin()Purelin神经元的delta函数deltalog()Logsig神经元的delta函数learnbp()BP学习规则learnbpm()含动量规则的快速BP学习规则learnlm()Levenberg-Marguardt学习规则initff()对BP神经网络进行初始化trainbp()利用BP算法训练前向网络trainbpx()利用快速BP算法训练前向网络trainlm()利用Levenberg-Marguardt规则训练前向网络69表2-4BP网络的重要函数和功能函数名功能tans函数名功能simuff()BP神经网络进行仿真newff()生成一个前馈BP网络newfftd()生成一个前馈输入延时BP网络newcf()生成一个前向层叠BP网络nwlog()对Logsig神经元产生Nguyen-Midrow随机数sse()误差平方和性能函数sumsqr()计算误差平方和errsurf()计算误差曲面plotes()绘制误差曲面图plotep()在误差曲面图上绘制权值和偏值的位置ploterr()绘制误差平方和对训练次数的曲线barerr()绘制误差的直方图70函数名功能simuff()BP神经网络进行仿真new1.均方误差性能函数mse()BP神经网络学习规则为调整网络的权值和偏值,使网络的均方误差和性能最小。均方误差性能函数的调用格式为:perf=mse(E,w,pp)2.双曲正切S型(Sigmoid)传输函数tansig()双曲正切Sigmoid函数把神经元的输入范围从(-,+)映射到(-1,+1),它是可导函数,适用于BP训练的神经元,函数调用格式为:a=tansig(N)或a=tansig(Z,b)tansig(P)711.均方误差性能函数mse()2.双曲正切S型(Sig对线性神经网络进行仿真例2-18利用三层BP神经网络训练加权系数。于是就可以使用它来解决实际问题了。函数learnwh()的调用格式为:即如果M(i,j)小于等于1,则将神经元i和j用线连接起来,调用格式为:>>m=nbgrid(2,3)利用以上程序可得图2-32和如下结果。5,其余所有神经元输出为0,函数调用格式为:一旦发现经过训练以后,网络的泛化能力没有提高,则停止训练。例利用以下命令可得图2-1。6自组织神经网络工具箱函数ex2_15如导入数据不在[-1,1]之间,自动将其归一化到[-1,1]之间。1111101121210211函数plotsm(W,M)用于绘制自组织竞争网络的权值图,在每个神经元的权矢量(行)相应的坐标处画一点,表示相邻神经元权值的点,根据邻阵M用实线连接起来。图2-58输入信号及目标信号曲线图2-59输出信号及目标信号曲线第章神经网络工具箱函数硬特性神经元将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。在MATLAB工作空间的命令行键入“helpassoclr”,便可得到与4种关联学习算法(Hebb学习规则、Konohen学习规则、Instar学习规则和Outstar学习规则)相关的函数,进一步利用help命令又能得到相关函数的详细介绍。>>[W,b]=initp(X,T);[dW,NLS]=learnsom(W,X,Z,N,A,T,E,gW,gA,D,LP,LS)函数tansig(P)包含传输函数的特性名并返回问题中的特性,如下的特性可从任何传输函数中获得:(1)delta—与传输函数相关的delta函数;(2)init—传输函数的标准初始化函数;(3)name—传输函数的全称;(4)output—包含有传输函数最小、最大值的二元矢量。例利用以下命令可得图2-31。>>n=-5:0.1:5;b=0;>>a=tansig(n,b);plot(n,a)图2-31双曲正切曲线
72对线性神经网络进行仿真函数tansig(P)包含传输函数的如果BP网络的最后一层是Sigmoid型神经元,那么整个网络的输出就被限制在一个较小的范围内;如果BP网络的最后一层是Purelin型线性神经元,那么整个网络的输出可以取任意值。
73如果BP网络的最后一层是Sigmoid型神经元,那么
3.正切S型(Tansig)神经元的求导函数dtansig()函数dtansig()为Tansig神经元的导函数,它根据Y=1-X2的函数来计算,其调用格式为:dY_dX=dtansig(X,Y)Logsig和Purelin神经元的导函数dlogsig()和dpurelin()的用法同上。但它们分别根据Y=X*(1-X)和Y=1的函数来计算。例利用以下MATLAB命令>>X=[];Y=tansig(x),dY_dX=dtansig(X,Y)结果显示:Y=0.09970.66400.6044dY_dX=0.99010.55910.6347
743.正切S型(Tansig)神经元的求导函数dta4.正切S型(Tansig)神经元的求导函数deltatan()反向传播误差算法(BP)是利用误差平方和对网络各层输入的导数来调整其权值和偏值的,从而降低误差平方和。从网络误差矢量中可推导出输出层的误差导数或(delta)矢量,隐含层的矢量的导出,这种矢量的反向传播正是BP算法的由来。函数调用格式为:dy=deltatan(y)或dy=deltatan(y,e)dy=deltatan(y,d2,w2)Logsig和Purelin神经元的delta函数deltalog()和deltalin()的用法同上。754.正切S型(Tansig)神经元的求导函数deltata5.BP学习规则函数learnbp()BP神经网络学习规则为调整网络的权值和偏值使网络误差的平方和为最小。这是通过在最速下降方向上不断地调整网络的权值和偏值来达到的。计算网络输出层的误差矢量导数,然后反馈回网络,直到每个隐含层的误差导数(称为delta)都达到。这可由函数deltatan()、deltalin()和deltalog()计算。根据BP准则,每一层的权值矩阵w利用本层的向量和输入向量x来更新,即w(i,j)=(i)x(j)。函数调用格式为[dW,dB]=learnbp(X,delta,lr)765.BP学习规则函数learnbp()766.含动量规则的BP学习规则函数learnbpm()为了提高BP算法的学习速度并增加算法的可靠性,在BP学习算法中引进了动量因子,它使权值的变化等于上次权值的变化与这次由BP准则引起的变化之和,这样可将动量加到BP学习中,上一次权值变化的影响可由动量常数来调整。动量法降低了网络对于误差曲面局部细节的敏感性,有效地抑制网络陷于局部极小。而自适应学习率,也可以使训练时间大大缩短。当动量常数为0时,说明权值的变化仅由梯度决定。776.含动量规则的BP学习规则函数learnbpm()77当动量常数为0时,说明权值的变化仅由梯度决定。当动量常数为1时,说明新的权值变化仅等于上次权值变化,而忽略掉梯度项,其数学表达式为w(i,j)=Dw(i,j)+(1-D)(i)x(j)。函数调用格式为[dW,dB]=learnbpm(X,delta,lr,D,dw,db)78当动量常数为0时,说明权值的变化仅由梯度决定。当动7.Levenberg-Marguardt学习规则函数learnlm()函数learnlm()采用了Levenberg-Marguardt优化方法,从而使得学习时间更短。其缺点是,对于复杂的问题,该方法需要很大的存储空间。LM方法更新参数(如权值和偏值)的数学表达式为w=(JTJ+I)-1JTe。随着的增大,LM方法中的JTJ项变得无关紧要,因而学习过程由-1JTe决定,即梯度下降法。函数调用格式为[dW,dB]=learnlm(X,delta)797.Levenberg-Marguardt学习规则函数le例2-18利用三层BP神经网络训练加权系数。两组3输入为[12;-11;13],希望的输出均为[1,1]。隐含层的激活函数取S型传输函数,输出层的激活函数取线性传输函数。解根据BP学习算法的计算步骤,利用MATLAB的神经网络工具箱的有关函数编写的程序如下。ex2_18结果显示:Ok=1.00680.99710.97581.017880例2-18利用三层BP神经网络训练加权系数。两组3输入为[8.BP神经网络初始化函数initff()在设计一个BP网络时,只要已知网络的输入向量的取值范围、各层的神经元个数及传输函数,就可以利用初始化函数initff()对BP网络进行初始化。函数initff()可最多对三层神经网络进行初始化,而得到每层的权值和偏值。其调用格式为:[W,b]=initff(Xr,S,’Tf’)或[W1,b1,W2,b2]=initff(Xr,S1,’Tf1’,S2,’Tf2’)[W1,b1,W2,b2,W3,b3]=initff(Xr,S1,’Tf1’,S2,’Tf2’,S3,’Tf3’)
818.BP神经网络初始化函数initff()81例如设计一个隐含层有8个神经元,传输函数为tansig,输出层有5个神经元,传输函数为purelin的两层BP神经网络可利用以下命令。>>X=[sin(0:100);cos([0:100]*2)];>>[W1,b1,W2,b2]=initff(X,8,'tansig',5,'purelin')82例如设计一个隐含层有8个神经元,传输函数为tansi9.利用BP算法训练前向网络函数trainbp()BP神经网络学习规则为调整网络的权值和偏值使网络误差的平方和为最小。这是通过在最速下降方向上不断地调整网络的权值和偏值来达到的。函数调用格式为:[W,B,te,tr]=trainbp(w,b,’Tf’,X,T,tp)或[W1,B1,W2,B2,te,tr]=trainbp(w1,b1,’Tf1’,w2,b2,’Tf2’,X,T,tp)[W1,B1,W2,B2,W3,B3,te,tr]=trainbp(w1,b1,’Tf1’,w2,b2,’Tf2’,w3,b3,’Tf3’,X,T,tp)839.利用BP算法训练前向网络函数trainbp()83为了提高BP算法的学习速度并增加算法的可靠性,在BP学习算法中引进了动量因子,它使权值的变化等于上次权值的变化与这次由BP准则引起的变化之和,这样可将动量加到BP学习中,上一次权值变化的影响可由动量常数来调整。dY_dX=dtansig(X,Y)输出结果表示,神经元1的权矢量(权矩阵的第一行)学会了第三个输入矢量。例任意给定输入和权值,利用mandist()函数计算Manhattan距离。1110011100图2-471000个二维样本向量的分布图2-48训练后网络权值的分布Elman神经网络通常由输入、隐含层和输出层构成,它存在从隐含层的输出到隐含层输入的反馈,这种反馈连接的结构使得其被训练后不仅能够识别和产生空域模式,还能够识别和产生时域模式。训练标准化感知机的权值和偏值方法二:MATLAB程序如下:(2)在Help窗口右边的Demos页面中,利用鼠标的左键选择Toolboxes|NeuralNetwork|Hopfieldshreeneurondesign节点,则在该窗口的右边出现关于建立一个三神经元Hopfield网络的有关内容,如图2-68所示。效果很差,而且每次运行例任意给定输入和权值,利用mandist()函数计算Manhattan距离。(2)init—传输函数的标准初始化函数;>>X=rand(2,100);表2-3线性网络的重要函数和功能210211函数hardlim(Z,b)用于矢量是成批处理且偏差存在的情况下,此时的偏差b和加权输入矩阵Z是分开传输的。在图2-86图中,单击【Next】按钮后,会出现导入数据的对话框,如图2-87所示。1011111111-0.BP神经网络初始化函数initff()Instar权值学习函数learnis()10.利用快速BP算法训练前向网络函数trainbpx()使用动量因子时,BP算法可找到更好的解,而自适应学习率,也可以使训练时间大大缩短。函数调用格式为:[W,B,te,tr]=trainbpx(w,b,’Tf’,X,T,tp)或
[W1,B1,W2,B2,te,tr]=trainbpx(w1,b1,'Tf1',w2,b2,'Tf2',X,T,tp);[W1,B1,W2,B2,W3,B3,te,tr]=trainbpx(w1,b1,’Tf1’,w2,b2,’Tf2’,w3,b3,’Tf3’,X,T,tp)84为了提高BP算法的学习速度并增加算法的可靠性,在BP学习算法11.利用Levenberg-Marguardt规则训练前向网络函数trainlm()函数trainbp()和trainbpx()都是基于梯度下降的训练算法,而函数trainblm()是建立在一种优化方法基础上的训练算法。其调用格式为:[W,B,te,tr]=trainlm(w,b,’Tf’,X,T,tp)或[W1,B1,W2,B2,te,tr]=trainlm(w1,b1,’Tf1’,w2,b2,’Tf2’,X,T,tp)[W1,B1,W2,B2,W3,B3,te,tr]=trainlm(w1,b1,’Tf1’,w2,b2,’Tf2’,w3,b3,’Tf3’,X,T,tp)8511.利用Levenberg-Marguardt规则训练前
函数trainlm()的训练速度最快,但它需要更大的存储空间,trainbpx()的训练速度次之,trainbp()最慢。
868612.BP神经网络仿真函数simuff()BP神经网络由一系列网络层组成,每一层都从前一层得到输入数据,simuff()函数可仿真最多三层前向网络。其调用格式为:y=simuff(X,W,b,'Tf',)或[y1,y2]=simuff(X,w1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《应变式位移传感器》课件
- 幼儿园教职工安全培训课件
- 二零二五年度大连二手房源信息深度查询及分析服务协议3篇
- 二零二五版城市供水管道材料采购及安装合同3篇
- 《学习力与执行力》课件
- 二零二五年度体育场馆餐饮与休闲娱乐服务合同样本
- 2025年猕猴桃种植园土地租赁与农业物联网应用合同4篇
- 二零二五年度智慧城市灭鼠项目管理合同2篇
- 二零二五版旅游特色小镇店面经营承包合同3篇
- 2025年度智能家居窗帘远程控制技术合同4篇
- 专升本英语阅读理解50篇
- 施工单位值班人员安全交底和要求
- 中国保险用户需求趋势洞察报告
- 数字化转型指南 星展银行如何成为“全球最佳银行”
- 中餐烹饪技法大全
- 灵芝孢子油减毒作用课件
- 现场工艺纪律检查表
- 医院品管圈与护理质量持续改进PDCA案例降低ICU病人失禁性皮炎发生率
- 新型电力系统研究
- 烘干厂股东合作协议书
- 法院服务外包投标方案(技术标)
评论
0/150
提交评论