已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工神经网络第一次作业题目:使用函数试验MATLAB中的BP算法1、 改变不同训练算法,观察效果;2、 改变参数a,c的值,观察效果;3、 改变隐层神经网络个数,观察效果;4、 尝试:加入噪声的训练效果。一、改变不同训练算法,观察效果在MATLAB中,BP网络的训练函数一共有以下几种,改变不同训练算法,观察效果就是在其他参数不变只改变程序中训练函数的情况下,得到不同训练算法的训练结果。训练方法训练函数梯度下降法traingd有动量的梯度下降法traingdm自适应lr梯度下降法traingda自适应lr动量梯度下降法traingdx弹性梯度下降法trainrpFletcher-Reeves共轭梯度法traincgfPloak-Ribiere共轭梯度法traincgpPowell-Beale共轭梯度法traincgb量化共轭梯度法trainscg拟牛顿算法trainbfg一步正割算法trainossLevenberg-Marquardt法trainlm由于这只是改变程序中的训练算法,其他不变,所以为了简洁,在本程序中只选取了四种训练算法,分别是梯度下降法traingd、弹性梯度下降法trainrp、拟牛顿算法trainbfg和Levenberg-Marquardt法trainlm,只更改不同的训练算法来构造节点,程序如下,得到不同训练算法下的仿真图如图1所示。clear all;close all;clc;a=1,c=1; %在此改变a,c的值layer_number=20; %在此改隐含层的个数u=-4:0.001:4;t=exp(-a*u).*sin(c*u); %这里是矩阵相乘,要用点乘net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);%梯度下降法y1=sim(net,u);%未训练直接输出net1=newff(minmax(u),layer_number,1,tansig,purelin,traingd);%梯度下降法net2=newff(minmax(u),layer_number,1,tansig,purelin,trainrp);%弹性梯度下降法net3=newff(minmax(u),layer_number,1,tansig,purelin,trainbfg);%拟牛顿算法net4=newff(minmax(u),layer_number,1,tansig,purelin,trainlm);%Levenberg-Marquardtnet.trainParam.show = 50;net.trainparam.epochs=1000;net.trainparam.goal=0.01;net1=train(net1,u,t);%采用梯度下降法训练节点net2=train(net2,u,t);%采用弹性梯度下降法训练节点net3=train(net3,u,t);%采用拟牛顿算法训练节点net4=train(net4,u,t);%采用Levenberg-Marquardt法训练节点y2_1=sim(net1,u);y2_2=sim(net2,u);y2_3=sim(net3,u);y2_4=sim(net4,u); subplot(2,2,1)plot(u,t,b-,u,y1,g:,u,y2_1,r-); title(1、采用梯度下降法的仿真结果图);xlabel(input_u);ylabel(output_y);legend(目标函数曲线,未经训练BP网络逼近曲线,训练后的BP网络逼近曲线);subplot(2,2,2)plot(u,t,b-,u,y1,g:,u,y2_2,r-) ;title(2、采用弹性梯度下降法的仿真结果图);xlabel(input_u);ylabel(output_y);legend(目标函数曲线,未经训练BP网络逼近曲线,训练后的BP网络逼近曲线);subplot(2,2,3)plot(u,t,b-,u,y1,g:,u,y2_3,r-) ;title(3、采用拟牛顿算法的仿真结果图);xlabel(input_u);ylabel(output_y);legend(目标函数曲线,未经训练BP网络逼近曲线,训练后的BP网络逼近曲线);subplot(2,2,4)plot(u,t,b-,u,y1,g:,u,y2_4,r-) ;title(4、采用Levenberg-Marquardt法的仿真结果图);xlabel(input_u);ylabel(output_y);legend(目标函数曲线,未经训练BP网络逼近曲线,训练后的BP网络逼近曲线);仿真结果图:图1 改变不同训练算法仿真结果从图1中可以看出,改变不同训练算法得到的结果有所区别。二、改变参数a,c的值,观察效果选定一种训练算法,只改变a,c的值,其它不变,在本文中,对c=1,a=0.3,0.5,0.7,1,1.5的情况和a=1,c=0.3,0.5,0.7,1,1.5,3的情况进行了仿真,MATLAB程序如下,结果分别如图2和图3。clear all;close all;clc;a=1;c=1; %在此改变a,c的值layer_number=20; %在此改隐含层的个数u=-4:0.001:4;t=exp(-a*u).*sin(c*u); %这里是矩阵相乘,要用点乘net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);%梯度下降法y1=sim(net,u);%未训练直接输出net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);net.trainParam.show = 50;net.trainparam.epochs=1000;net.trainparam.goal=0.01;net=train(net,u,t);y2=sim(net,u);%采用梯度下降法训练节点plot(u,t,-,u,y1,:,u,y2,-);title(c=1,a=1 的仿真结果图);xlabel(input_u);ylabel(output_y);legend(目标函数曲线,未经训练BP网络逼近曲线,训练后的BP网络逼近曲线);图2 c=1,a=0.3,0.5,0.7,1,1.5时的仿真结果由以上5副仿真图可知,在c值确定,a=1的时候,经过梯度下降法traingd训练之后得到的结果较好。图3 a=1,c=0.3,0.5,0.7,1,1.5,3时的仿真结果对比图3的结果图,可知在a固定时,当c=1时,经过梯度下降法traingd训练之后得到的结果较好。三、改变隐层神经网络个数,观察效果选定梯度下降法traingd训练算法来训练样本,只改变隐层神经网络个数,其它不变。在本文中,对隐层神经网络个数layer_number为5、10、20、30的情况进行了仿真,MATLAB程序如下,结果分别如图4。clear all;close all;clc;a=1;c=1; %在此改变a,c的值layer_number=5; %在此改隐含层的个数u=-4:0.001:4;t=exp(-a*u).*sin(c*u); %这里是矩阵相乘,要用点乘net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);%梯度下降法y1=sim(net,u);%未训练直接输出net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);net.trainParam.show = 50;net.trainparam.epochs=1000;net.trainparam.goal=0.01;net=train(net,u,t);y2=sim(net,u);%采用梯度下降法训练节点plot(u,t,-,u,y1,:,u,y2,-);title(隐层神经网络个数layer_number=5时结果图);xlabel(input_u);ylabel(output_y);legend(目标函数曲线,未经训练BP网络逼近曲线,训练后的BP网络逼近曲线);图4 改变隐层神经网络个数的结果 从以上结果可知,在其他参数不变,只改变隐层神经网络个数的情况下,在隐层神经网络个数layer_number=20时,获得的训练结果较理想。四、尝试:加入噪声的训练效果本文采用randn函数产生一个和输入变量同维度的一个均值为0方差为1的正态分布的随机噪声,然后加入到函数中,其它参数不变,MATLAB程序如下,结果如图5所示。clear all;close all;clc;a=1;c=1; %在此改变a,c的值layer_number=20; %在此改隐含层的个数u=-4:0.001:4;ul=length(u);noise=randn(1,ul);%产生一个均值为0方差为1的正态分布的随机噪声t=exp(-a*u).*sin(c*u)+noise; %加入随机噪声net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);%梯度下降法y1=sim(net,u);%未训练直接输出net=newff(minmax(u),layer_number,1,tansig,purelin,traingd);net.trainParam.show = 50;net.trainparam.epochs=1000;net.trainparam.goal=0.01
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《适老微高压富氧舱》团体标准解读
- 浙江省湖州市南浔区2025-2026学年三年级上学期期末语文试题(文字版含答案)
- 2026年自然资源综合岗事业单位招聘考试笔试试题(含答案)
- 2026年烟草物流管理外勤专员烟草公司招聘考试笔试试题(含答案)
- 洁丽雅毛巾网络营销策划书
- 人教版九年级上册《生物》期末考试带答案
- 2026年化学性烧伤急救个案分享
- 2026 年梗阻性黄疸胆道支架置入护理个案
- 2026年秋季初中道德与法治开学第一课 新学期学习规划教案
- 瓜果产地批发采购合作协议范本三篇
- DB31T 1703-2026宠物友好型商业场所安全运行管理指南
- 2025年广西卫生职业技术学院教职人员招聘笔试真题(含完整答案解析)
- 2026湖北恩施州恩施市面向市外教师选调65人考前冲刺密卷及参考答案详解(培优B卷)
- 关于项目工期的确认函7篇范本
- 2026年医师定期考核试题题库中医入门试题及答案
- 2026小红书有感运动IP方案
- 天然气管线保护施工方案
- 2025届中工国际工程股份有限公司校园招聘笔试历年参考题库附带答案详解
- 《数据资产全过程管理业务流程操作指引(试行)》
- GB/Z 114.1-2026纳米制造技术规范纳米储能第1部分:空白详细规范电化学电容器用纳米多孔活性炭
- (2025年)注册安全工程师考试建筑施工(初级)安全生产实务试卷与参考答案
评论
0/150
提交评论