《哈工大智能控制神经网络课件第四课MATLABNN工具箱.ppt》由会员分享,可在线阅读,更多相关《哈工大智能控制神经网络课件第四课MATLABNN工具箱.ppt(24页珍藏版)》请在三一办公上搜索。
1、人工神经网络理论及应用,屈桢深哈尔滨工业大学,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),MATLAB NN表示,神经网络介绍,
2、u=-1:0.05:1;%样本输入t=0.5+0.5*sin(2*pi*u);%样本输出net=newff(-1 1,5 1,tansig,purelin,trainlm);%训练参数=1e-6;=10000;net,tr=train(net,u,t);%训练y=sim(net,u);%实际输出plot(u,t,b,u,y,r);%期望输出和实际输出比较,NN工具箱中最重要的对象。引用方式:网络名.子对象.属性.numInputs,net.layers1.size代码中表示方法,Net对象属性,决定神经网络结构,包括输入向量,网络层,输出向量,权值向量等,以及他们的连接关系numLayers:
3、神经网络层数演示,Net对象属性:结构类型,Net对象属性:子对象类型,inputs:输入层结构(.range,.size)layers:各网络层结构(.size,.transferFun)outputs:输出向量结构targets:各网络层目标向量biases:各网络层阈值向量inputWeights:输入层权值向量layerWeights:各网络层权值向量,Net对象属性:函数属性,定义了在权值调整,初始化,性能计算或训练时采用的算法adaptFcn:权值/阈值调整initFcn:初始化权值/阈值performFcn:性能指标函数trainFcn:训练函数信号处理,Net对象属性:函数属性
4、(3),trainFcntraingdtraingdx+自适应学习速率+动量因子trainrp 弹性BPtraincgb 一种改进的共轭梯度法trainlm Levernberg-Marquardt其他,Net对象属性:参数属性(train),100 最大训练周期 5 最大失败次数 1 内存/速度折中系数(LM)1e-10 最小梯度 0.001 初始(LM)0.1 减小系数 10 增加系数 1e10 最大 25 训练周期 inf 最多训练时间不同训练函数对应参数可能不同,Net对象属性:权值/阈值,基于权值和阈值属性的访问方式:IW 输入权值;LW 网络层权值;b 阈值(输入层+网络层)演示,
5、MATLAB中的BP算法,基于最速下降的方法及改进基于共轭梯度的方法基于二阶导数的方法,MATLAB BP算法:最速下降法与改进,最速下降法(SDBP)动量BP法学习速率可变的BP算法弹性BP算法,训练函数:traingd 演示:nnd12sd1,MATLAB BP算法:最速下降法,MATLAB BP算法:动量BP,训练函数:traingdm 演示:nnd12mo,MATLAB BP算法:学习速率可变BP,训练函数:traingdx 演示:nnd12vl,MATLAB BP算法:弹性BP,训练函数:trainrp,MATLAB BP算法:共轭梯度法,Fletcher-Reeves修正算法(tr
6、aincgf)Polak-Ribiere修正算法(traincgp)Powell-Beale修正算法(traincgb)Scaled conjugate gradient算法(trainscg)演示:nnd12cg,MATLAB BP算法:基于二阶导数,BFGS算法(trainbfg)OSS算法(trainoss)Levernberg-Marquardt(trainlm)演示:nnd12m,NN GUI工具:nntool,Appcr1输入:57二值化网格;输出:A-Z 大写字母功能:自动识别输入、输出向量化;使用原始模式训练;加入不同噪声训练;比较上述两种网络性能,实例演示:印刷字符识别,第一次作业(交报告),使用函数试验MATLAB 中的BP算法改变不同训练算法,观察效果;改变参数a,c值,观察效果;改变隐层神经网络个数,观察效果尝试:加入噪声的训练效果公用信箱:,