单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,人工神经网络理论及应用,4.MATLAB NN工具箱,主要内容,入门:从一个简单例子,常用网络对象属性,NN,工具箱中的,BP,算法,演示与比较,GUI,工具,字符识别实例,MATLAB NN工具箱介绍,支持以下NN模型:,感知器,BP,网络,RBFN,网络,竞争型网络,自组织网络,反馈网络,时延网络,NARX,网络,自定义网络,MATLAB NN工具箱功能,NNET 5.0含近200个工具箱函数,包括:,各类神经网络训练;,图形化显示(误差结果,权值等);,与Simulink紧密结合,拖放方式创建NN;,Simulink中NN Control和Fuzzy NN实现(ANFIS),神经网络介绍,u=-1:0.05:1;,%样本输入,t=0.5+0.5*sin(2*pi*u);,%样本输出,net=newff(-1 1,5 1,tansig,purelin,trainlm);,%训练参数,net.trainParam.goal=1e-6;,net.trainParam.epochs=10000;,net,tr=train(net,u,t);,%训练,y=sim(net,u);,%实际输出,plot(u,t,b,u,y,r);,%期望输出和实际输出比较,NN工具箱中最重要的对象。引用方式:,网络名.子对象.属性,.numInputs,net.trainParam.epochs,net.layers1.size,代码中表示方法,Net对象属性,决定神经网络结构,包括输入向量,网络层,输出向量,权值向量等,以及他们的连接关系,numLayers:神经网络层数,演示,Net对象属性:结构类型,Net对象属性:函数属性,定义了在权值调整,初始化,性能计算或训练时采用的算法,adaptFcn:权值/阈值调整,initFcn:初始化权值/阈值,performFcn:性能指标函数,trainFcn:训练函数信号处理,Net对象属性:函数属性(3),trainFcn,traingd,traingdx+自适应学习速率+动量因子,trainrp 弹性BP,traincgb 一种改进的共轭梯度法,trainlm,Levernberg-Marquardt,其他,Net对象属性:权值/阈值,基于权值和阈值属性的访问方式:,IW,输入权值;,LW,网络层权值;,b,阈值,(,输入层,+,网络层,),演示,MATLAB BP算法:最速下降法与改进,最速下降法,(SDBP),动量,BP,法,学习速率可变的,BP,算法,弹性,BP,算法,训练函数:,traingd,演示 :,nnd12sd1,MATLAB BP算法:最速下降法,MATLAB BP算法:学习速率可变BP,训练函数:,traingdx,演示 :,nnd12vl,MATLAB BP算法:弹性BP,训练函数:,trainrp,MATLAB BP算法:共轭梯度法,Fletcher-Reeves,修正算法,(,traincgf,),Polak-Ribiere,修正算法,(,traincgp,),Powell-Beale,修正算法,(,traincgb,),Scaled conjugate gradient,算法,(,trainscg,),演示 :,nnd12cg,MATLAB BP算法:基于二阶导数,BFGS,算法,(,trainbfg,),OSS,算法,(,trainoss,),Levernberg-Marquardt(trainlm,),演示 :,nnd12m,NN GUI工具:nntool,NNTOOL,(1)输入区域,(2)目标区域,(3)神经网络对象,(4)网络输出数据,(5)误差数据,引入数据网络,新建数据网络,第一次作业(交报告),使用函数,试验MATLAB 中的BP算法,改变不同训练算法,观察效果;,改变参数,a,c,值,观察效果;,改变隐层神经网络个数,观察效果,尝试:加入噪声的训练效果,公用信箱,:,