MATLAB神经网络工具箱学习教案

上传人:可**** 文档编号:102977870 上传时间:2022-06-07 格式:PPTX 页数:34 大小:1.97MB
收藏 版权申诉 举报 下载
MATLAB神经网络工具箱学习教案_第1页
第1页 / 共34页
MATLAB神经网络工具箱学习教案_第2页
第2页 / 共34页
MATLAB神经网络工具箱学习教案_第3页
第3页 / 共34页
资源描述:

《MATLAB神经网络工具箱学习教案》由会员分享,可在线阅读,更多相关《MATLAB神经网络工具箱学习教案(34页珍藏版)》请在装配图网上搜索。

1、会计学1MATLAB神经网络工具箱神经网络工具箱第一页,编辑于星期六:十九点 三十四分。输入:R维列向量权值:R维行向量阈值:标量求和单元传递函数输出第1页/共34页第二页,编辑于星期六:十九点 三十四分。aWp-b1-1MATLAB函数: hardlimMATLAB函数: hardlims双极形式双极形式第2页/共34页第三页,编辑于星期六:十九点 三十四分。anMATLAB函数: purelin第3页/共34页第四页,编辑于星期六:十九点 三十四分。MATLAB函数: logsig(对数), tansig(正切)对数Sigmoid函数正切Sigmoid函数第4页/共34页第五页,编辑于星期

2、六:十九点 三十四分。单层神经网络模型R维输入, S个神经元的单层神经网络模型第5页/共34页第六页,编辑于星期六:十九点 三十四分。多层神经网络模型第6页/共34页第七页,编辑于星期六:十九点 三十四分。第7页/共34页第八页,编辑于星期六:十九点 三十四分。u主要功能是模式分类第8页/共34页第九页,编辑于星期六:十九点 三十四分。net = newp( pr, s, tf, lf ) net: 函数返回参数,表示生成的感知器网络 pr: 一个R2矩阵, 由R维输入向量的每维最小值和最 大值组成 s: 神经元的个数 tf: 感知器的传递函数, 默认为hardlim, 可选hardlims

3、lf: 感知器的学习函数,默认为learnp, 可选learnpnnet = newp(-2,+2;-2,+2,2) %生成一个二维输入,两个神经元的感知器newp第9页/共34页第十页,编辑于星期六:十九点 三十四分。感知器的权值和阈值初始化p newp默认权值和阈值为零(零初始化函数initzero).net = newp(-2,+2;-2,+2,2); W=net.IW1,1 %显示网络的权值b=net.b1 %显示网络的阈值W =0 00 0b =0 0 p 改变默认初始化函数为随机函数randsnet.inputweights1,1.initFcn = rands;net.biase

4、s1.InitFcn = rands;net =init(net); %重新初始化p 直接初始化定义权值和阈值net.IW1,1=1 2; net.b1=1第10页/共34页第十一页,编辑于星期六:十九点 三十四分。权值增量: 阈值增量: 权值更新: 阈值更新: u算法改进输入样本归一化第11页/共34页第十二页,编辑于星期六:十九点 三十四分。权值和阈值训练与学习函数trainnet=train(net, P, T) 设计好的感知器并不能马上投入使用. 通过样本训练, 确定感知器的权值和阈值.输入向量目标向量被训练网络=10 ; %预定的最大训练次数为10, 感知器经过最多训练10次后停止,

5、adaptnet=adapt(net, P, T)自适应训练函数第12页/共34页第十三页,编辑于星期六:十九点 三十四分。权值和阈值学习函数learnpdW=learnp(W,P,Z,N,A,T,E,D,gW,gA,LP,LS)dW:权值或阈值的增量矩阵W:权值矩阵或阈值向量P:输入向量T:目标向量E:误差向量其他可以忽略,设为 learnpn归一化学习函数第13页/共34页第十四页,编辑于星期六:十九点 三十四分。网络仿真函数sima = sim(net, P)输入向量网络输出分类结果显示绘图函数plotpvplotpv(P,T)plotpcplotpc(W,b)画输入向量的图像画分类线第

6、14页/共34页第十五页,编辑于星期六:十九点 三十四分。 根据给定的样本输入向量P和目标向量T, 以及需分类的向量组Q, 创建一个感知器, 对其进行分类. 例: 创建一个感知器P=-0.5 -0.6 0.7;0.8 0 0.1; %已知样本输入向量T=1 1 0; %已知样本目标向量net=newp(-1 1;-1 1,1); %创建感知器handle=plotpc(net.iw1,net.b1); %返回划线的句柄=10; % 设置训练最大次数net=train(net,P,T); %训练网络Q=0.6 0.9 -0.1;-0.1 -0.5 0.5; %已知待分类向量Y=sim(net,Q

7、); %二元分类仿真结果 figure; %新建图形窗口plotpv(Q,Y); %画输入向量handle=plotpc(net.iw1,net.b1,handle) %画分类线第15页/共34页第十六页,编辑于星期六:十九点 三十四分。第16页/共34页第十七页,编辑于星期六:十九点 三十四分。BP网络l 多层前馈网络l 主要功能: 函数逼近, 模式识别, 信息分类,数据压缩l 传递函数:隐层采用S形函数,输出层S形函数或线性函数第17页/共34页第十八页,编辑于星期六:十九点 三十四分。BP网络的生成newff函数newff用来生成一个BP网络net=newff(PR,S1 S2.SN,T

8、F1 TF2. TFN,BTF,BLF,PF)PR: 一个R2矩阵, 由R维输入向量的每维最小值和最大值组成Si: 第i层的神经元个数TFi: 第i层的传递函数, 默认为tansigBTF: 训练函数, 默认为trainlmBLF: 学习函数, 默认为learngdmPF: 性能函数, 默认为msenet=newff(0,10;-1,2,5,1,tansig,purelin,trainlm); %生成一个两层BP网络,隐层和输出层神经的个数为5和1, 传递函数分别为tansig和purelin, 训练函数为trainlm, 其他默认第18页/共34页第十九页,编辑于星期六:十九点 三十四分。B

9、P网络的初始化 newff 函数在建立网络对象的同时, 自动调用初始化函数, 根据缺省的参数对网络的连接权值和阈值. 使用函数init可以对网络进行自定义的初始化. 通过选择初始化函数, 可对各层连接权值和阈值分别进行不同的初始化.第19页/共34页第二十页,编辑于星期六:十九点 三十四分。BP网络的学习规则 权值和阈值的调节规则采用误差反向传播算法(back propagation). 反向传播算法分二步进行,即正向传播和反向传播。 1正向传播 输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响

10、。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。2反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。BP算法实质是求取误差函数的最小值问题。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数。第20页/共34页第二十一页,编辑于星期六:十九点 三十四分。BP网络的快速学习算法与选择学习算法适用问题类型收敛性能占用存储空间其他特点trainlm函数拟合收敛快,误差小大性能随网络规模增大而变差trainrp模式分类收敛最快较小性能随网络训练误差减小而变差trai

11、nscg函数拟合模式分类收敛较快性能稳定中等尤其适用于网络规模较大的情况trainbfg函数拟合收敛较快较大计算量岁网络规模的增大呈几何增长traingdx模式分类收敛较慢较小适用于提前停止的方法 MATLAB神经网络工具箱对常规BP算法进行改进,提供了一系列快速算法,以满足不同问题的需要第21页/共34页第二十二页,编辑于星期六:十九点 三十四分。BP网络的训练 利用已知的”输入目标”样本向量数据对网络进行训练,采用train 函数来完成. 训练之前, 对训练参数进行设置 训练参数 参数含义 默认值net.trainParam.epochs训练步数100net.trainParam.show

12、显示训练结果的间隔步数25net.trainParam.goal训练目标误差0net.trainParam.time训练允许时间INfnet.trainParam.lr学习率0.01net = train(net, P, T)第22页/共34页第二十三页,编辑于星期六:十九点 三十四分。BP网络的设计(1)网络层数 已经证明,单隐层的BP网络可以实现任意非线性映射. BP网络的隐层数一般不超过两层.输入层的节点数 输入层接收外部的输入数据, 节点数取决于输入向量的维数输出层的节点数 输出层的节点数取决于输出数据类型和该类型所需的数据大小.对于模式分类问题,节点数为第23页/共34页第二十四页,

13、编辑于星期六:十九点 三十四分。BP网络的设计(2)隐层的节点数 隐层的节点数与求解问题的要求,输入输出单元数多少有关. 对于模式识别/分类的节点数可按下列公式设计传递函数 隐层传递函数采用S型函数, 输出层采用S型函数或线性函数训练方法及其参数选择 针对不同应用, BP网络提供了多种训练学习方法.其中为隐层节点数,为输入节点数,为110之间的整数第24页/共34页第二十五页,编辑于星期六:十九点 三十四分。BP网络设计实例采用动量梯度下降算法训练BP网络. 训练样本%定义训练样本p=-1 -1 3 1;-1 1 5 -3; t=-1 -1 1 1;%创建一个新的BP网络net=newff(m

14、inmax(p),3 1,tansig,purelin,traingdm);%设置训练参数=1000;=0.001;=50;=0.05;=0.9;%动量因子,缺省为net=train(net,p,t); % 训练网络A=sim(net,p) %网络仿真第25页/共34页第二十六页,编辑于星期六:十九点 三十四分。目标线训练误差变化曲线训练误差变化曲线(每次不同)第26页/共34页第二十七页,编辑于星期六:十九点 三十四分。第27页/共34页第二十八页,编辑于星期六:十九点 三十四分。k = 1; p = -1:.05:1;t = sin(k*pi*p);plot(p,t,-)title(要逼近

15、的非线性函数);xlabel(时间);ylabel(非线性函数);第28页/共34页第二十九页,编辑于星期六:十九点 三十四分。第29页/共34页第三十页,编辑于星期六:十九点 三十四分。n = 10;net = newff(minmax(p), n,1, tansig purelin, trainlm);% 对于该初始网络,可以应用sim()函数观察网络输出y1 = sim(net,p);% 同时绘制网络输出曲线,并与原函数相比较figure;plot(p,t,-,p,y1,-)title(未训练网络的输出结果);xlabel(时间);ylabel(仿真输出 原函数 );因为使用newff(

16、)函数建立网络时,权值和阈值的初始化是随机的,所以网络输出的结果很差,根本达不到函数逼近的目的,并且每次运行结果也有所不同。第30页/共34页第三十一页,编辑于星期六:十九点 三十四分。 = 50; = 0.01;net = train(net,p,t);第31页/共34页第三十二页,编辑于星期六:十九点 三十四分。y2 = sim(net,p);figure;plot(p,t,-,p,y1,-,p,y2,-.)title(训练后网络的输出结果);xlabel(时间);ylabel(仿真输出);从图中可以看出,得到的曲线和原始的非线性函数曲线很接近。这说明经过训练后,BP网络对非线性函数的逼近效果相当好。第32页/共34页第三十三页,编辑于星期六:十九点 三十四分。第33页/共34页第三十四页,编辑于星期六:十九点 三十四分。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!