您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 2019精选教育matlab神经网络工具箱简介和函数及示例.ppt
第十一章神经网络工具箱函数MATLAB的神经网络工具箱简介构造典型神经网络的激活函数,使设计者对所选网络输出的计算变成对激活函数的调用。根据各种典型的修正网络权值的规则,再加上网络的训练过程,利用matlab编写各种网络设计和训练的子程序。设计人员可以根据自己的需要去调用工具箱中有关的设计和训练程序,将自己从繁琐的编程中解脱出来,提高工作效率。神经网络工具箱函数神经网络函数权值函数网络的输入函数传递函数初始化函数性能函数学习函数自适应函数训练函数神经网络函数newff功能:Createafeed-forwardbackpropagationnetwork格式:net=newff(PR,[S1S2...SNl],{TF1...TFNl},BTF,BLF,PF)例子1:helpnewff以一个单隐层的BP网络设计为例,介绍利用神经网络工具箱进行BP网络设计及分析的过程1.问题描述P=[-1:0.1:1];T=[-0.9602-0.577-0.07290.37710.64050.66000.46090.1336-0.2013-0.4344-0.5000-0.3930-0.16470.09880.30720.39600.34490.1816-0.0312-0.2189-0.3201];通过对函数进行采样得到了网络的输入变量P和目标变量T:例子2:设计一个隐含层神经元数目神经元个数2.网络的设计网络的输入层和输出层的神经元个数均为1,网络的隐含神经元个数应该在3~8之间。网络设计及运行的代码:s=3:8;res=1:6;fori=1:6;net=newff(minmax(P),[s(i)1],{‘tansig‘‘logsig’},'traingdx');net.trainParam.epochs=2000;net.trainParam.goal=0.001;net=train(net,P,T)y=sim(net,P)error=y-T;res(i)=norm(error);end代码运行结果:网络训练误差结论:隐含层节点设为8BP网络训练步骤步骤1:初始化步骤2:计算网络各层输出矢量步骤3:计算网络各层反向传播的误差变化,并计算各层权值的修正值及修正值步骤4:再次计算权值修正后的误差平方和步骤5:检查误差平方和是否小于误差期望值,若是,停止训练,否则继续.目前,神经网络工具箱中提供的神经网络模型主要应用于:函数逼近和模型拟合信息处理和预测神经网络控制故障诊断神经网络实现的具体操作过程:①确定信息表达方式;②网络模型的确定;③网络参数的选择;④训练模式的确定;⑤网络测试①确定信息表达方式:将领域问题抽象为适合于网络求解所能接受的某种数据形式。问题形式的种类:数据样本已知;数据样本之间相互关系不明确;输入/输出模式为连续的或者离散的;输入数据按照模式进行分类,模式可能会具有平移、旋转或者伸缩等变化形式;数据样本的预处理;将数据样本分为训练样本和测试样本②网络模型的确定主要是根据问题的实际情况,选择模型的类型、结构等。另外,还可以在典型网络模型的基础上,结合问题的具体情况,对原网络进行变形、扩充等,同时还可以采用多种网络模型的组合形式。③网络参数的选择确定网络的输入输出神经元的数目,如果是多层网络,还需要进一步确定隐含层神经元的个数。④训练模式的确定包括选择合理的测试样本,对网络进行测试、或者将网络应用于实际问题,检验网络性能。⑤网络测试选择合理的测试样本,对网络进行测试,或者将网络应用于实际问题,检验网络性能。MATLAB的神经网络工具箱函数函数类型函数名称函数用途仿真函数SIM针对给定的输入,得到网络输出训练函数train调用其它训练函数,对网络进行训练trainh对权值和阈值进行训练adapt自适应函数学习函数learn网络权值和阈值的学习初始化函数int对网络进行初始化intlay对多层网络初始化通用函数函数类型函数名称函数用途输入函数netsum输入求和函数netprcd输入求积函数concur使权值向量和阈值向量的结构一致其它dotprod权值求积函数BP网络的神经网络工具箱函数函数类型函数名称函数用途前向网络创建函数传递函数学习函数函数类型函数名称函数用途性能函数显示函数一、BP网络创建函数1)newcf用于创建级联前向BP网络调用格式:net=newcfnet=newcf(PR,[S1S2...SN],[TF1TF2...TFN],BTF,BLF,PF])PR:由每组输入(共有R组输入)元素的最大值和最小值组成的R*2维的矩阵Si:第i层的长度,共计N层;TFi:第i层的传递函数,默认为“tansig”BTF:BP网络的训练函数,默认为“trainlm”BLF:权值和阈值的BP学习算法,默认为learngdmPF:网络的性能函数,默认为“mse”参数TFi可以采用任意的可微传递函数,比如transig,logsig和purelin等;训练函数可以是任意的BP训练函数,如trainm,trainbfg,trainrp和traingd等。BTF默认采用trainlm是因为函数的速度很快,但该函数的一个重要缺陷是运行过程会消耗大量的内存资源。如果计算机内存不够大,不建议用trainlm,而建议采用训练函数trainbfg或trainrp。虽然这两个函数的运行速度比较慢,但它们的共同特点是内存占用量小,不至于出现训练过程死机的情况。说明:二、神经元上的传递函数传递函数是BP网络的重要组成部分,必须是连续可微的,BP网络常采用S型的对数或正切函数和线性函数。1)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)中。learngd该函数为梯度下降权值/阈值学习函数,通过神经元的输入和误差,以及权值和阈值的学习速率,来计算权值或阈值的变化率。三、BP网络学习函数[dW,ls]=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)调用格式;
本文标题:2019精选教育matlab神经网络工具箱简介和函数及示例.ppt
链接地址:https://www.777doc.com/doc-5697755 .html