第2章MATLAB神经网络工具箱函数ppt课件.ppt





《第2章MATLAB神经网络工具箱函数ppt课件.ppt》由会员分享,可在线阅读,更多相关《第2章MATLAB神经网络工具箱函数ppt课件.ppt(238页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第2章章 MATLAB神经网络神经网络工具箱函数工具箱函数 2.1 MATLAB2.1 MATLAB神经网络工具箱函数神经网络工具箱函数 2.2 MATLAB2.2 MATLAB神经网络工具箱的图形用户界面神经网络工具箱的图形用户界面2 利用神经网络能解决许多用传统方法无法解决的问题。神经网络在很多领域中都有应用,以实现各种复杂的功能。这些领域包括商业及经济估算、自动检测和监视、计算机视觉、语音处理、机器人及自动控制、优化问题、航空航天、银行金融业、工业生产等。而神经网络是一门发展很快的学科,其应用领域也会随着其发展有更大的拓宽。 3 本章将介绍MATLAB神经网络工具箱的应用。在MATL
2、AB神经网络工具箱中提供了丰富的演示实例,用MATLAB语言构造了典型神经网络的激活函数,编写了各种网络设计与训练的子程序,网络的设计者可以根据自己的需要去调用工具箱中有关神经网络的设计训练程序,使自己能够从繁琐的编程中解脱出来。 4 MATLAB神经网络工具箱提供了许多进行神经网络设计和分析的工具函数,这些函数的MATLAB实现,使得设计者对所选定网络进行计算的过程,转变为对函数的调用和参数的选择,这给用户带来了极大的方便,即使不了解算法的本质,也可以直接应用功能丰富的函数来实现自己的目的。有关这些工具函数的使用可以通过help命令得到,本章将对这些函数的功能、调用格式,以及使用方法做详细的
3、介绍。2.1 MATLAB神经网络工具箱函数5 随着MATLAB软件的版本提高,其对应的神经网络工具箱的内容越来越丰富,它包括了很多现有的神经网络的新成果,涉及的网络模型有,感知机网络、线性神经网络、BP神经网络、径向基神经网络、自组织神经网络、学习向量量化神经网络、Elman神经网络、Hopfield神经网络、自适应滤波和控制系统网络等。6 神经网络工具箱提供了很多经典的学习算法,使用它能够快速地实现对实际问题的建模求解。由于其编程简单,这样就给使用者节省了大量的编程时间,使其能够把更多的精力投入到网络设计而不是具体程序实现上。72.1.1 神经网络工具箱中的通用函数神经网络工具箱中的通用函
4、数 MATLAB神经网络工具箱中提供的函数主要分为两大部分。一部分函数是通用的,这些函数几乎可以用于所有类型的神经网络,如神经网络的初始化函数init( )、训练函数train( )和仿真函数sim( )等;另一部分函数则是特别针对某一种类型的神经网络的,如对感知机神经网络进行建立的函数simup( )等。表2-1列出了一些通用函数的名称和基本功能。 8表2-1 神经网络的通用函数和功能函数名函数名功功 能能init( )初始化一个神经网络initlay( )层-层结构神经网络的初始化函数initwb( )神经网络某一层的权值和偏值初始化函数initzero( )将权值设置为零的初始化函数tr
5、ain( )神经网络训练函数adapt( )神经网络自适应训练函数sim( ) 神经网络仿真函数dotprod( ) 权值点积函数normprod( ) 规范点积权值函数netsum( ) 输入求和函数netprod( )网络输入的积函数concur( ) 结构一致函数91. 初始化神经网络函数初始化神经网络函数init( ) 利用初始化神经网络函数init( )可以对一个已存在的神经网络进行初始化修正,该网络的权值和偏值是按照网络初始化函数来进行修正的。其调用格式为:net=init(NET)2. 神经网络某一层的初始化函数神经网络某一层的初始化函数initlay( ) 初始化函数initl
6、ay( )特别适用于层-层结构神经网络的初始化,该网络的权值和偏值是按照网络初始化函数来进行修正的。其调用格式为:net=initlay(NET)103. 神经网络某一层的权值和偏值初始化函数神经网络某一层的权值和偏值初始化函数initwb( ) 利用初始化函数initwb( )可以对一个已存在的神经网络的NET某一层i的权值和偏值进行初始化修正,该网络对每层的权值和偏值是按照设定的每层的初始化函数来进行修正的。其调用格式为: net=initwb(NET,i)4. 神经网络训练函数神经网络训练函数train( ) 利用train( ) 函数可以训练一个神经网络。网络训练函数是一种通用的学习函
7、数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则。停止准则可能是最大的学习步数、最小的误差梯度或者是误差目标等,调用格式为:net,tr,Y,E,Xf,Af=train(NET,X,T,Xi,Ai)115. 网络自适应训练函数网络自适应训练函数adapt( ) 另一种通用的训练函数是自适应函数adapt( )。自适应函数在每一个输入时间阶段更新网络时仿真网络,而这在进行下一个输入的仿真前完成,其调用格式为:net,Y,E,Xf,Af,tr= adapt(NET,X,T,Xi,Ai)6. 网络仿真函数网络仿真函数sim( ) 神经网络一旦训练完成,网络的权值和
8、偏值就已经确定了。于是就可以使用它来解决实际问题了。利用sim( ) 函数可以仿真一个神经网络的性能。其调用格式为:Y,Xf,Af,E,perf=sim(net,X,Xi,Ai,T)或 Y,Xf,Af,E,perf=sim(net,Q Ts,Xi,Ai)127. 权值点积函数权值点积函数dotprod( ) 网络输入向量与权值的点积可得到加权输入。函数dotprod ( )的调用格式为:Z=dotprod (W,X)式中,W为SR维的权值矩阵;X为Q组R维的输入向量;Z为Q组S维的W与X 的点积。8. 网络输入的和函数网络输入的和函数netsum( ) 网络输入的和函数是通过某一层的加权输入和
9、偏值相加作为该层的输入。调用格式:Z=netprod(Z1,Z2,)式中,Zi为SQ维矩阵。139. 网络输入的积函数网络输入的积函数netprod( ) 网络输入的积函数是通过某一层的加权输入和偏值相乘作为该层的输入。调用格式:Z=netprod(Z1,Z2,)式中,Zi为SQ维矩阵。10. 结构一致函数结构一致函数concur( ) 函数concur( )的作用在于使得本来不一致的权值向量和偏值向量的结构一致,以便于进行相加或相乘运算,其调用格式为:Z=concur(b,q)式中,b为N1维的权值向量;q为要达到一致化所需要的长度;Z为一个已经一致化了的矩阵。 14例例2-1 利用nets
10、um( )函数和netprod( )函数,对两个加权输入向量Z1和Z2进行相加和相乘。解解 MATLAB的程序如下。Z1=1 2 4;3 4 1;Z2=-1 2 2;-5 -6 1; %提供两个加权输入向量b=0;-1;q=3; %权值向量和一致化所需要的长度Z=concur(b,q) %计算一致化了的矩阵X1=netsum(Z1,Z2),X2=netprod(Z1,Z2) %计算向量的和与积结果显示:Z = 0 0 0 -1 -1 -1X1 = 0 4 6 -2 -2 2X2 = -1 4 8 -15 -24 1 152.1.2 感知机神经网络工具箱函数感知机神经网络工具箱函数 MATLAB
11、神经网络工具箱中提供了大量的与感知机相关的的函数。在MATLAB工作空间的命令行键入“help percept”,便可得到与感知机(Perceptron)相关的函数,进一步利用help命令又能得到相关函数的详细介绍。表2-2列出了这些函数的名称和基本功能。 16表2-2 感知机网络的重要函数和功能 函数名函数名功功 能能mae( ) 平均绝对误差性能函数hardlim( )硬限幅传输函数hardlims( )对称硬限幅传输函数plotpv( )在坐标图上绘出样本点plotpc( )在已绘制的图上加分类线initp( )对感知机神经网络进行初始化trainp( )训练感知机神经网络的权值和偏值t
12、rainpn( )训练标准化感知机的权值和偏值simup( ) 对感知机神经网络进行仿真learnp( )感知机的学习函数learnpn( )标准化感知机的学习函数newp( )生成一个感知机171平均绝对误差性能函数mae( ) 感知机网络学习规则为调整网络的权值和偏值,使网络的平均绝对误差和性能最小。平均绝对误差性能函数的调用格式为:perf=mae(E,w,pp)式中 E为误差矩阵或向量(E=T-Y)。 182硬限幅传输函数hardlim( ) 硬限幅传输函数hardlim( )通过计算网络的输入得到该层的输出。如果网络的输入达到门限,则硬限幅传输函数的输出为1,否则为0。这表明神经元可
13、用来作出判断或分类。其调用格式为:a=hardlim(N)或 a=hardlim(Z,b)a=hardlim(P)函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵a。当N中的元素大于等于零时,返回的值为1,否则为0。函数hardlim(Z,b)用于矢量是成批处理且偏差存在的情况下,此时的偏差b和加权输入矩阵Z是分开传输的。偏差矢量b加到Z中的每个矢量中形成网络输入矩阵。 19返回的元素a是1还是0,取决于网络输入矩阵中的元素是大于等于0还是小于0;函数hardlim(P)包含传输函数的特性名并返回问题中的特性,如下的特性可从任何传输函数中获得:(1)delta与传输
14、函数相关的delta函数;(2)init传输函数的标准初始化函数;(3)name传输函数的全称;(4)output包含有传输函数最小、最大值的二元矢量。例利用以下命令可得图2-1。 N=-5:0.1:5; a=hardlim(N);plot(N,a) 图2-1 硬限幅传输函数曲线 203对称硬限幅传输函数hardlims( ) 对称硬限幅传输函数hardlims( )通过计算网络的输入得到该层的输出。如果网络的输入达到门限,则硬限幅传输函数的输出为1,否则为-1。例w=eye(3);b=-0.5*ones(3,1);X=1 0;0 1;1 1;a=hardlims(w*X,b)结果显示:a =
15、 1 -1 -1 1 1 1 21例例2-2 建立一个感知机网络,使其能够完成“或”的功能。解解 为了完成“或”函数,建立一个两输入、单输出的一个单层感知机网络。设输入向量为:X=0 0 1 1;0 1 0 1, 目标向量为:T=0 1 1 1。激活函数取硬限幅传输函数。 根据感知机学习算法的计算步骤,利用MATLAB的神经网络工具箱的有关函数编写的程序如下。 ex2_222结果显示:epoch = 3Wij = 1.5028 1.7095y = 0 1 1 1 234. 绘制样本点的函数plotpv( ) 利用plotpv( ) 函数可在坐标图中绘出已知给出的样本点及其类别,不同的类别使用了
16、不同的符号。其调用格式为:plotpv(X,T)式中 X定义了n个2或3维的样本,它是一个2n维或3n维的矩阵;T表示各样本点的类别,它是一个n维的向量。 如果T只含一元矢量,目标0的输入矢量画为“o”; 目标1的输入矢量画为“+”; 如果T含二元矢量,则输入矢量对应如下:0 0用“o”;0 1用“+”;1 0用“*”;1 1用“”。例 24X=-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=1 1 0 1 1 0 1 0; plotpv(X,T) 对样本不同的类别使用了不同的符号,如图2-2所
17、示。 图2-2 样本的分类 25 5. 在存在的图上画感知机的分类线函数plotpc( ) 硬特性神经元将输入空间用一条直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(w,b)对含权矩阵w和偏差矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(w,b,h)包含从前的一次调用中返回的句柄,它在画新分类线之前,删除旧线。 26 6. 感知机神经网络的初始化函数initp( ) 利用initp( ) 函数可建立一个单层(一个输入层和一个输出层)感知机神经网络。
18、其调用格式为: W,b=initp(R,S)或 W,b=initp(X,T)27例利用以下命令,可得图1-54。X=0 0 1 1;0 1 0 1;T=0 1 1 1; W,b=initp(X,T); plotpv(X,T);plotpc(W,b); 使用plotpc( )函数可以在已绘制的图上加上感知机分类线(MATLAB6.1及以下版本利用此命令不能产生分类线),如图2-3所示。由图可见经过初始化后的网络对输入样本还不能正确进行分类。 图2-3 输入样本加网络初始分类线-0.500.511.5-0.500.511.5Vectors to be ClassifiedP(1)P(2)28 7用
19、感知机准则训练感知机的函数trainp( ) 经过初始化建立的感知机,还必须经过训练才能够实际应用。通过训练以决定网络的权值和偏值。对于感知机,其训练过程为:对于给定的输入向量,计算网络的实际输出,并与相应的目标向量进行比较,得到误差,然后根据相应的学习规则调整权值和偏值。重新计算网络在新的权值和偏值作用下的输出,重复上述的权值和偏值的调整过程,直到网络的输出与期望的目标向量相等或者训练次数达到预定的最大次数时才停止训练,之所以要设定最大训练次数,是因为对于有些问题,使用感知机神经网络时是不能解决的,这正是感知机的缺点。 训练感知机神经网络trainp( ) 函数的调用格式为: W,B,epo
20、chs,errors= trainp(w,b,X,T,tp) 29例例2-4 利用trainp( )函数训练一个感知机网络,并用训练后的网络对输入样本进行分类。 解解 程序如下。ex2_4例利用以上程序,可得如图2-4所示的样本及分类线。 用标准化感知机准则训练感知机的函数trainpn( )的用法同函数trainp( ),即使输入矢量的长度不同,使用标准化感知机准则也使得学习过程收敛很快。 图2-4 样本加分类线-0.500.511.5-0.500.511.5Vectors to be ClassifiedP(1)P(2)308. 感知机神经网络的仿真函数simup( ) 神经网络一旦训练完
21、成,网络的权值和偏值就已经确定了。于是就可以使用它来解决实际问题了。感知机由一系列硬特性神经元组成,运行速度很快,对简单的分类很有用。利用simup( ) 函数可以测试一个感知机神经网络的性能。其调用格式为:Y=simup(X,w,b) 31例例2-5 利用trainp( )函数训练一个感知机网络,使其能够完成“或”的功能。 解解 根据神经网络工具箱函数编写的程序如下。ex2_5 执行以上程序可得如下结果以及图2-5至图2-8。y = 0 1 1 1 由以上结果和图2-7可知,训练后的网络已具有“或”的功能,且可对输入样本进行正确分类 32图2-5 输入样本的分类 图2-6 输入样本加网络初始
22、分类线 -0.500.511.5-0.500.511.5Vectors to be ClassifiedP(1)P(2)-0.500.511.5-0.500.511.5Vectors to be ClassifiedP(1)P(2)-0.500.511.5-0.500.511.5Vectors to be ClassifiedP(1)P(2)00.20.40.60.811.21.41.61.8210-1610-1410-1210-1010-810-610-410-2100EpochSum-Squared ErrorSum-Squared Network Error for 2 Epochs图2
23、-7 输入样本加网络训练后的分类线 图2-8 误差曲线 33例例2-6 利用trainp( )函数训练一个感知机网络,使其能够对三个输入进行分类。 解解 根据神经网络工具箱函数编写的程序如下。ex2_6 执行以上程序可得如下结果以及图2-9至图2-12。y = 0 1 0 0 1 1 0 1 34-101-101-1.5-1-0.500.511.5P(1)P(2)P(3)Vectors to be Classified-101-101-1.5-1-0.500.511.5P(1)Vectors to be ClassifiedP(2)P(3)-101-101-1.5-1-0.500.511.5P
24、(1)Vectors to be ClassifiedP(2)P(3)00.20.40.60.811.21.41.61.8210-2010-1510-1010-5100105EpochSum-Squared ErrorSum-Squared Network Error for 2 Epochs图2-9 输入样本的分类 图2-10 输入样本加网络初始分类线 图2-11 输入样本加网络训练后的分类线 图2-12 误差曲线 35例例2-7 利用trainp( )函数训练一个感知机网络,使其能够将输入分为4类。 解解 根据神经网络工具箱函数编写的程序如下。ex2-736执行以上程序可得如下结果以及图2
25、-13和图2-14。y = 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 图2-13 输入样本加网络训练后的分类线 图2-14 误差曲线 -2.5-2-1.5-1-0.500.511.52-2-10123Vectors to be ClassifiedP(1)P(2)012345610-2010-1510-1010-5100105EpochSum-Squared ErrorSum-Squared Network Error for 6 Epochs379感知机学习函数learnp( ) 感知机神经网络学习规则为调整网络的权值和偏值使网络平均绝对误差性能最小,以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 神经网络 工具箱 函数 ppt 课件

限制150内