2022年神经网络及应用实验报告 .pdf

上传人:Q****o 文档编号:30523090 上传时间:2022-08-06 格式:PDF 页数:20 大小:722.01KB
返回 下载 相关 举报
2022年神经网络及应用实验报告 .pdf_第1页
第1页 / 共20页
2022年神经网络及应用实验报告 .pdf_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2022年神经网络及应用实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年神经网络及应用实验报告 .pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1神经网络及应用实验报告院系 :电气工程学院班级 :adf3 班姓名 :adsf学号 :20sdf名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 2实验二、基于BP 网络的多层感知器一:实验目的:1. 理解多层感知器的工作原理2. 通过调节算法参数了解参数的变化对于感知器训练的影响3. 了解多层感知器局限性二:实验原理:BP的基本思想:信号的正向传播误差的反向传播信号的正向传播: 输入样本从输入层传入, 经各隐层逐层处理后,

2、传向输出层。误差的反向传播: 将输入误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元, 从而获得各层单元的误差信号来作为修正各单元权值的依据。1. 基本 BP算法的多层感知器模型:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 32.BP 学习算法的推导:当网络输出与期望输出不等时,存在输出误差E将上面的误差定义式展开至隐层,有进一步展开至输入层,有调整权值的原则是使误差不断地减小, 因此应使权值的调整量与

3、误差的梯度下降成正比,即(0,1) 表示比例系数,在训练中反应学习速率BP算法属于学习规则类, 这类算法被称为误差的梯度下降 (Gradient Descent)算法。三:实验内容:Hermit 多项式如下式所示: f(x)=1.1(1-x+2x2)exp(-x2/2)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 4采用 BP算法设计一个单输入单输出的多层感知器对该函数进行逼近。训练样本按以下方法产生:样本数P=100 ,其

4、中输入样本 xi 服从区间 -4 ,4 内的均匀分布,样本输出为F(xi)+ei,ei为添加的噪声,服从均值为0,标准差为 0.1 的正态分布。隐层采用 Sigmoid 激活函数 f(x)=1/(1+1/ex),输出层采用线性激活函数f(x)=x 。注意:输出层采用的线性激活函数,不是 Sigmoid 激活函数,所以迭代公式需要根据前面的推导过程重新推导。四:实验步骤:1. 用 Matlab 编程,实现解决该问题的单样本训练BP网络,设置一个停止迭代的误差 Emin和最大迭代次数。在调试过程中,通过不断调整隐层节点数,学习率,找到收敛速度快且误差小的一组参数。产生均匀分布在区间-4 ,4 的测

5、试样本,输入建立的模型得到输出,与Hermit 多项式的期望输出进行比较计算总误差(运行 5 次,取平均值),并记录下每次迭代结束时的迭代次数。(要求误差计算使用 RME ,Emin 设置为 0.1)2. 实现解决该问题的批处理训练BP网络,调整参数如上。 产生均匀分布在区间-4 ,4 的测试样本, 输入建立的模型得到输出, 与 Hermit 多项式的期望输出进行比较计算总误差(运行5 次,取平均值),并记录下每次迭代结束时的迭代次数。3. 对批处理训练 BP算法增加动量项 W(t)=X+W(t-1) ,(0,1),调整参数如上,记录结果,并与没有带动量项的批处理训练BP算法的结果相比较。4.

6、 对批处理 BP算法改变参数:学习率、迭代次数、隐层节点数,观察算法的收敛发散,以及测试误差的变化(对每个参数取几个不同参数,分别运行5 次,结果取平均值)。五:实验程序:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - 5(一):单样本训练网络functionepoch,s,Wki,Wij,Wb,Ez=dyb(lr,Emin,q)% 初始化;%lr 学习效率; Emin为期望误差最小值;q 为隐含层节点数;b=1;sum=0;

7、Ez=;max_epoch=30000;%max_epoch 训练的最大次数;% 提供训练集和目标值;x=8.*rand(1,100)-4;y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);% 初始化 Wki,Wij;Wij=rand(1,q);Wki=rand(1,q);Wb=rand(1,q);forepoch=1:max_epochE=0;m=1;oi=0;ok=0;% 置隐含层和输出层各神经元输出初值为零;form=1:100% 计算隐含层各神经元输出;NETi=x(m)*Wij+b*Wb;fort=1:qoi(t)=1/(1+exp(-

8、NETi(t);end% 计算输出层各神经元输出;NETk=Wki*oi;ok=NETk;% 计算误差;E=E+(y(m)-ok)2;% 调整输出层加权系数;deltak=y(m)-ok;Wki=Wki+lr*deltak*oi;% 调整隐含层加权系数;deltai=oi.*(1-oi).*(deltak*Wki);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 6Wij=Wij+lr.*deltai.*x(m);Wb=Wb+

9、lr.*deltai;endEz(epoch)=sqrt(E/100);ifEz(epoch)Eminbreak;endend% 计算测试输出;x=linspace(-4,4,100);%给定输入:y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);fori=1:100NETi=x(i).*Wij+b*Wb;NETk=0;fort=1:qoi(t)=1/(1+exp(-NETi(t);NETk=NETk+Wki(t)*oi(t);endok(i)=NETk;sum=sum+(y(i)-ok(i)2;%输出总误差;ends=sqrt(sum/100)

10、;(二):批处理训练网络functionepoch,s,Wki,Wij,Wb,Ez=pcl(lr,Emin,q)% 初始化;%lr 学习效率; Emin为期望误差最小值;q 为隐含层节点数;b=1;sum=0;Ez=;max_epoch=30000;%max_epoch 训练的最大次数;% 提供训练集和目标值;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 7x=8.*rand(1,100)-4;y=1.1.*(1-x+2.*

11、x.2).*exp(-x.2/2)+0.1*rand(1,100);% 初始化 Wki,Wij;Wij=rand(1,q);Wki=rand(1,q);Wb=rand(1,q);forepoch=1:max_epochE=0;m=1;cWki=0;cWij=0;cWb=0;%置隐含层和输出层各神经元输出初值为零;form=1:100% 计算隐含层各神经元输出;NETi=x(m)*Wij+b*Wb;fort=1:qoi(t)=1/(1+exp(-NETi(t);end% 计算输出层各神经元输出;NETk=Wki*oi;ok=NETk;% 计算误差;E=E+(y(m)-ok)2;% 累加输出层加权

12、系数;deltak=y(m)-ok;Wki=Wki+lr*deltak*oi;cWki=cWki+deltak*oi;% 累加隐含层加权系数;deltai=oi.*(1-oi).*(deltak*Wki);Wij=Wij+lr.*deltai.*x(m);Wb=Wb+lr.*deltai;cWij=cWij+deltai.*x(m);cWb=cWb+deltai;end名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - 8% 调整

13、输出层加权系数;Wki=Wki+lr/100*cWki;% 调整隐含层加权系数;Wij=Wij+lr/100.*cWij;Wb=Wb+lr/100.*cWb;% 判断误差;Ez(epoch)=sqrt(E/100);ifEz(epoch)Eminbreak;endend% 计算测试输出;x=linspace(-4,4,100);%给定输入:y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);fori=1:100NETi=x(i).*Wij+b*Wb;NETk=0;fort=1:qoi(t)=1/(1+exp(-NETi(t);NETk=NETk+W

14、ki(t)*oi(t);endok(i)=NETk;sum=sum+(y(i)-ok(i)2;%输出总误差;ends=sqrt(sum/100);(三):增加动量项的批处理训练网络functionepoch,s,Wki,Wij,Wb,Ez=dlpcl(lr,Emin,q)% 初始化;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - 9%lr 学习效率; Emin为期望误差最小值;q 为隐含层节点数;b=1;g=0;h=0;n=r

15、and(1,1);sum=0;Ez=;max_epoch=30000;%max_epoch 训练的最大次数;% 提供训练集和目标值;x=8.*rand(1,100)-4;y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);% 初始化 Wki,Wij;Wij=rand(1,q);Wki=rand(1,q);Wb=rand(1,q);forepoch=1:max_epochE=0;m=1;cWki=0;cWij=0;cWb=0;%置隐含层和输出层各神经元输出初值为零;form=1:100% 计算隐含层各神经元输出;NETi=x(m)*Wij+b*Wb;

16、fort=1:qoi(t)=1/(1+exp(-NETi(t);end% 计算输出层各神经元输出;NETk=Wki*oi;ok=NETk;% 计算误差;E=E+(y(m)-ok)2;% 累加输出层加权系数;deltak=y(m)-ok;Wki=Wki+lr*deltak*oi;cWki=cWki+deltak*oi;% 累加隐含层加权系数;deltai=oi.*(1-oi).*(deltak*Wki);Wij=Wij+lr.*deltai.*x(m);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -

17、- - - 第 9 页,共 20 页 - - - - - - - - - 10Wb=Wb+lr.*deltai;cWij=cWij+deltai.*x(m);cWb=cWb+deltai;end% 调整输出层加权系数;Wki=Wki+lr/100*cWki+n*g;g=lr/100*cWki+n*g;% 调整隐含层加权系数;Wij=Wij+lr/100.*cWij+n*h;h=lr/100.*cWij+n*h;Wb=Wb+lr/100.*cWb;Ez(epoch)=sqrt(E/100);ifEz(epoch)Eminbreak;endend% 计算测试输出;x=linspace(-4,4,1

18、00);%给定输入:y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);fori=1:100NETi=x(i).*Wij+b*Wb;NETk=0;fort=1:qoi(t)=1/(1+exp(-NETi(t);NETk=NETk+Wki(t)*oi(t);endok(i)=NETk;sum=sum+(y(i)-ok(i)2;%输出总误差;ends=sqrt(sum/100);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 2

19、0 页 - - - - - - - - - 11六:实验数据及处理:最大迭代次数 :30000,停止迭代的误差 :0.1 。(一):单样本训练网络单样本 BP算法平均最小误差及其迭代次数:学习率隐节点数0.0010.0030.0050.010.050.10.24误差0.100720.10490.10570.103070.103160.0990580.1612次数10303.44206.43763.61386.21272756.218085.65误差0.100930.100770.105550.108570.104820.0944830.1539次数9099.444962588.41555174

20、.8189.66184.47误差0.100850.100570.113770.0992480.102230.102530.1145次数8986.82897.41685.4975.4194.8156.4146.88误差0.11160.109770.104810.10730.112060.0920190.2688次数11382.63627.22198.4738264.412012076.610误差0.112020.110330.101150.106310.111690.0969261.1678次数11819.43560.21885.6912204.2124.66577名师资料总结 - - -精品资

21、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 20 页 - - - - - - - - - 12由以上实验数据可知:学习效率为0.1,隐节点数为 10 时收敛速度快且误差比较小。曲线图为:-4-3-2-101234-0.500.511.522.53训 练 样 本 与 测 试 样 本input xoutputy测 试 样 本训 练 样 本-4-3-2-101234-0.500.511.522.53Hermit 多 项 式 曲 线 与 BP 网 络 输 出 曲 线BP曲 线Hermit 曲 线名师资料

22、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 20 页 - - - - - - - - - 1302040608010012014016000.20.40.60.811.21.4收 敛 曲 线(二):批处理训练网络批处理 BP算法平均最小误差及其迭代次数:学习率隐节点数0.0010.0030.0050.010.050.10.24误差0.108660.105820.121470.0987670.110720.103320.18599次数109424403.282971503.8

23、514.26234.6180435误差0.106370.107770.107820.107380.094540.099330.11427次数113433948.82708.41279.6347.4127.26289.87误差0.106130.107960.113130.106970.101290.0928190.10112次数110563321.21924.2925.2187.2127.2152名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 20 页 - - - - -

24、 - - - - 148误差0.114050.101040.106760.0992170.101330.110110.25522次数1161728292560.6927.8190.41626169.810误差0.11450.111520.107210.115640.101690.109870.34767次数103433885.82245877.2241.62026472.2由以上实验数据可知:学习效率为0.1,隐节点数为 7 时收敛速度快且误差比较小。曲线图为:-4-3-2-101234-0.500.511.522.53训 练 样 本 与 测 试 样 本input xoutputy测 试 样

25、本训 练 样 本名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 20 页 - - - - - - - - - 15-4-3-2-101234-0.500.511.522.53Hermit 多 项 式 曲 线 与 BP 网 络 输 出 曲 线BP曲 线Hermit 曲 线02040608010012000.10.20.30.40.50.60.70.80.91收 敛 曲 线(三):增加动量项的批处理训练网络加入动量项的 BP算法平均最小误差及其迭代次数:名师资料总结 - -

26、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 20 页 - - - - - - - - - 16学习率隐节点数0.0010.0030.0050.010.050.10.24误差0.0994080.113340.120620.114530.114740.101040.14736次数123344140.48467.66789.8438.661496108.45误差0.105420.112510.109610.118230.0968580.0979860.098164次数9723.44291.6

27、2838.61065.6288.8188.286.67误差107000.118470.105720.105740.104130.10660.1101次数0.112332491.81939.2964285.8140.4135.88误差0.11170.109950.103850.11260.107820.0899490.10182次数65033980.61859.8992.4275.8126.2121.410误差0.108510.11080.10050.106660.103810.0959530.20685次数108013237.42315.6986.4199.4129.46177.4由以上实验数

28、据可知:学习效率为0.2 时,系统振荡严重;综合考虑,学习效率为 0.1,隐节点数为 10 时收敛速度快且误差比较小。曲线图为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 20 页 - - - - - - - - - 17-4-3-2-101234-0.500.511.522.53训 练 样 本 与 测 试 样 本input xoutputy测 试 样 本训 练 样 本-4-3-2-101234-0.500.511.522.53Hermit 多 项 式 曲 线 与 B

29、P 网 络 输 出 曲 线BP曲 线Hermit 曲 线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 20 页 - - - - - - - - - 1802040608010012014016000.10.20.30.40.50.60.70.80.91收 敛 曲 线七:实验结果分析:1、单样本训练:每输入一个样本,都要回传误差并调整权值,会导致收敛速度过慢,2、批处理( Batch)训练:根据总误差计算各层的误差信号并调整权值, 权值的校正值是在整个训练集提交训练后才

30、决定的。3、加动量项的批处理运算:通过引入以前运算的经验,从而使学习过程振荡减小,改善收敛性。八:附加函数:(斜黑体部分替换为pcl 、dlpcl分别进行批处理 BP网络计算、显示图形和增加动量项的批处理 BP网络计算、显示图形)计算函数:functioncs,wc=jsdyb(lr,q)Emin=0.1;s1=0;s2=0;fork=1:5名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 20 页 - - - - - - - - - 19x1,x2= dyb(lr,Em

31、in,q);s1=s1+x1;s2=s2+x2;endcs=s1/5;wc=s2/5;functionA=zjs dyb(lr)q=4,5,7,8,10;formatshortgA=;forzk=1:5cs,wc=jsdyb(lr,q(zk);B=cs,wc;A=A;B;end图形显示函数:functiontxdyb(lr,q)% 计算测试输出;Emin=0.1;b=1;epoch,s,Wki,Wij,Wb,Ez=dyb(lr,Emin,q)x=linspace(-4,4,100);%给定输入:y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);f

32、ori=1:100NETi=x(i).*Wij+b*Wb;NETk=0;fort=1:qoi(t)=1/(1+exp(-NETi(t);NETk=NETk+Wki(t)*oi(t);endok(i)=NETk;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 20 页 - - - - - - - - - 20end% 显示图形;figureplot(x,ok,r)holdony=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);

33、plot(x,y,b)title(Hermit多项式曲线与 BP网络输出曲线 )legend(BP 曲线,Hermit曲线)holdofffigureplot(x,ok,or)holdonx=8.*rand(1,100)-4;y=1.1.*(1-x+2.*x.2).*exp(-x.2/2)+0.1*rand(1,100);plot(x,y,*k)title(训练样本与测试样本 )xlabel(inputx)ylabel(outputy)legend( 测试样本 ,训练样本 )figureplot(1:length(Ez),Ez)title(收敛曲线 )clc名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 20 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁