- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BP神经网络的构建与使用
BP神经网络的构建与使用
函数逼近:
实验内容:选取为测试函数,其中,。构造独立的训练样本集和检验样本集,实验在不同的网络规模、样本集大小、学习速率等条件下,网络的学习能力、推广能力和性能上的差异。
实验过程:用MATLAB构建并使用BP神经网络, 这里网络训练采用Levenberg-Marquardt算法。
具体程序:
k=0.05;%随机数据的选取精度
m=1.0/k;%矩阵的行或列的数据个数
X=[k:k:1];
Y=[k:k:1];
%输入矩阵2*400
p=zeros(2,m*m);
for i=1:m,
for j=1:m,
p(1,(i-1)*m+j)=X(i);
p(2,(i-1)*m+j)=Y(j);
end
end
%输出矩阵1*400
Z1=zeros(1,m*m);
for i=1:m,
for j=1:m,
Z1(1,(i-1)*m+j)=sin(2*pi*X(i))*sin(2*pi*Y(j));
end
end
%BP神经网络
n=10;%隐层神经元数目
%建立BP网络结构,选择隐层和输出层神经元传递函数分别为
%tansig函数和purelin函数
%网络训练采用Levenberg-Marquardt算法trainlm
net=newff(minmax(p),[n,1],{tansig,purelin},trainlm);
%网络训练
net.trainParam.epochs=50;%训练时间
net.trainParam.goal=0.01;%训练精度
net.trainParam.lr=0.001;%学习速率
net=train(net,p,Z1);
Z2=sim(net,p);
%将Z1和Z2转换成ZZ1(20*20),ZZ2(20*20)
ZZ1=zeros(m,m);
ZZ2=zeros(m,m);
for i=1:m,
for j=1:m,
ZZ1(i,j)=Z1(1,(i-1)*m+j);
ZZ2(i,j)=Z2(1,(i-1)*m+j);
end
end
%期望输出的曲面图
subplot(1,2,1)
surf(X,Y,ZZ1)
title(期望输出);
%实际输出的曲面图
subplot(1,2,2)
surf(X,Y,ZZ2)
title(实际输出); 实验结果及分析:
运行后,我们得到期望输出和实际输出的曲面图(图1),经过比较,原曲面图和非线性函数的曲面图很接近,这说明,经过训练,BP网络对非线性函数的逼近效果相当好。
图1
下面对网络规模、样本集大小、学习速率等条件进行修改并观察结果,分析这些因素对网络的学习能力、推广能力和性能上的影响。
神经元数目n变化
n=5(图2)
图2
n=10(图3)
图3
比较图2和图3,可以看出,隐层神经元的数目对于网络逼近效果有一定的影响,一般来说,隐层神经元数目越多,则BP网络逼近非线性函数的能力越强,而同时网络训练所用的时间相对来说更长一些。
样本集大小
40*40(图4)
图4
20*20(图5)
图5
比较图4和图5,可以看出,样本集的数目对于网络逼近效果有一定的影响,一般来说,样本集的数目越多,网络逼近效果越好。
学习速率
lr=0.001(图6)
图6
lr=0.01(图7)
图7
比较图6和图7,可以看出,学习速率对于网络逼近效果有一定的影响,一般来说,学习速率越小,网络逼近效果越好,但是学习速率过小会造成训练时间过长。
BP算法的改进
拟牛顿算法
图8
Levenberg-Marquardt算法
图9
在前馈反向传播网络应用中,对某一特定的问题,很难确定哪种训练算法最好,因为这取决于问题的复杂性、训练样本数、网络权重和阈值个数以及期望误差等许多因素。一般来说,网络具有几百个权值时,采用Levenberg-Marquardt算法收敛速度最快。如果要求正确训练时,该算法的优点更明显。
分类
实验内容:进行Iris数据分类实验,通过实验选择具有最佳性能的网络结构和训练参数,并与最近邻分类器进行性能对比。
实验过程:
具体程序:
K=3;%类别
N=50;%每类的样本数目
M=4;%样本的维数
Q=zeros(M,N*K);%定义样本矩阵
%---------------读入数据--------------------------
[a,b,c,d]=textread(iris.txt,%f %f %f %f %*s, delimiter, , );
%放入4*150的矩阵中,每一列为一个样本
for i=1:N*K,
Q(1,i)=a(i
您可能关注的文档
最近下载
- 小学、初中、高中、大学英语词汇合集.pdf
- 《宿曜经》汉译版本之汉化痕迹考证.pdf
- 《珍爱生命-远离毒品》PPT【精品课件】.pptx
- 标准图集-16G519-多高层民用钢节点详图.pdf VIP
- FG5-X绝对重力仪-劳雷LAUREL.PDF
- 湖北省武汉市2023-2024学年高二上学期期中考试英语试卷(含答案).docx VIP
- 第7课 难忘的岁月(课件)(共26张ppt)赣美版初中美术八年级上册.pptx VIP
- 第一节-金属的化学性质公开课一等奖优质课大赛微课获奖课件.pptx
- 儿童绘本故事《龟兔赛跑》PPT课件(可编辑带动画).ppt
- 新北师大版五年级上册数学第四单元《多边形的面积》知识点总结(全).docx VIP
文档评论(0)