付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BP神经网络的构建与使用一、函数逼近:1. 实验内容:选取d二sin(2二x)sin(2二y)为测试函数,其中x 0,1 , y 0,1。构造独立的训练样本集和检验样本集,实验在不同的网络规模、样本集大小、学 习速率等条件下,网络的学习能力、推广能力和性能上的差异。2. 实验过程:用MATLAB构建并使用BP神经网络,这里网络训练采用Leve nberg-Marquardt 算法。具体程序:k=0.05;%随机数据的选取精度m=1.0/k;%矩阵的行或列的数据个数X=k:k:1;Y=k:k:1;%输入矩阵2*400p=zeros(2,m*m);for i=1:m,for j=1:m,p(1,(
2、i-1)*m+j)=X(i);p(2,(i-1)*m+j)=Y(j);endend%输出矩阵1*400Z1=zeros(1,m*m);for i=1:m,for j=1:m,Z1(1,(i-1)*m+j)=si n(2*pi*X(i)*s in (2*pi*Y(j);endend%BP神经网络n=10;%隐层神经元数目%建立BP网络结构,选择隐层和输出层神经元传递函数分别为%tansig函数和purelin 函数%网络训练采用 Levenberg-Marquardt 算法 trainlmnet=n ewff( minm ax(p), n,1,'ta nsig','pur
3、eli n','tra ini m');%网络训练n et.tra in Param.epochs=50;%训练时间n et.trai nParam.goal=0.01;%训练精度n et.trai nParam.lr=0.001;%学习速率n et=trai n(n et,p,Z1);Z2=sim(net,p);%将 Z1 和 Z2 转换成 ZZ1(20*20),ZZ2(20*20)ZZ仁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)*
4、m+j);endend%期望输出的曲面图subplot(1,2,1)surf(X,Y,ZZ1)title(' 期望输出');%实际输出的曲面图subplot(1,2,2)surf(X,Y,ZZ2)title(' 实际输出);3. 实验结果及分析:运行后,我们得到期望输出和实际输出的曲面图(图1),经过比较,原曲面图和非线性函数的曲面图很接近,这说明,经过训练,BP网络对非线性函数的逼近效果相当好。下面对网络规模、样本集大小、学习速率等条件进行修改并观察结果,分析这些因素对网络的学习能力、推广能力和性能上的影响。1) 神经元数目n变化n=5 (图 2)图2n=10 (图
5、3)图3比较图2和图3,可以看出,隐层神经元的数目对于网络逼近效果有一定的影响,一般来说,隐层神经元数目越多,则BP网络逼近非线性函数的能力越强,而同时网络训练所用的时间相对来说更长一些。2)样本集大小40*40 (图 4)图420*20 (图 5)图5比较图4和图5,可以看出,样本集的数目对于网络逼近效果有一定的影响,一般来说,样本集的数目越多,网络逼近效果越好。3)学习速率lr=0.001 (图 6)图6lr=0.01 (图 7)图7比较图6和图7,可以看出,学习速率对于网络逼近效果有一定的影响,一般来说,学 习速率越小,网络逼近效果越好,但是学习速率过小会造成训练时间过长。4. BP算法
6、的改进拟牛顿算法图8Levenberg-Marquardt 算法图9在前馈反向传播网络应用中, 对某一特定的问题, 很难确定哪种训练算法最好, 因为这 取决于问题的复杂性、训练样本数、网络权重和阈值个数以及期望误差等许多因素。一般来说,网络具有几百个权值时, 采用Levenberg-Marquardt 算法收敛速度最快。 如果要求正确 训练时,该算法的优点更明显。分类1.实验内容:进行Iris数据分类实验,通过实验选择具有最佳性能的网络结构和训练参数,并与最近邻分类器进行性能对比。2.实验过程:具体程序:K=3;%类别N=50;%每类的样本数目M=4;%样本的维数Q=zeros(M,N*K);
7、%定义样本矩阵%读入数据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);Q(2,i)=b(i);Q(3,i)=c(i);Q(4,i)=d(i);end%将数据分成两部分,一部分用于训练,一部分用于测试%等间距的方式抽取数据xn_test=zeros(M,N*K/2);xn_trai n=zeros(M,N*K/2);for i=1:K*N/2,for j=1:M
8、,xn_test(j,i)=Q(j,i*2-1);xn_train (j,i)=Q(j,i*2);endend%训练目标,测试目标,三类,分别是1 0 0,0 1 0,0 0 1dn_test=zeros(K,N*K/2);dn_trai n=zeros(K,N*K/2);for j=1:K,for i=1:N/2,dn_trai n(j,(j-1)*N/2+i)=1; dn_test(j,(j-1)*N/2+i)=1;endend%隐层节点数%输出维数%训练输入%训练输出%训练次数%函数接口赋值NodeNum = 20;TypeNum = 3; pl = xn_train; t1 = dn
9、_trai n;Epochs = 1000;P = xn test;%测试输入T = dn _test;%真实分类%设置网络参数%隐层的传递函数采用tan-sigmoid输出层采用线性传递函数TF1 = 'tan sig'TF2 = 'pureli n'%构造BP神经网络,网络训练采用Levenberg-Marquardt算法trainlm%最大训练次数%最小均方误差%最小梯度%训练显示间隔net = newff(mi nmax(p1),NodeNum TypeNum,TF1 TF2,'trai nlm');n et.tra in Param.e
10、pochs = Epochs;n et.tra in Param.goal = 1e-8;n et.tra in Param. min _grad = 1e-20;n et.tra in Param.show = 200;%训练与测试net = train(n et,p1,t1);X = sim( net,P);X = full(compet(X)%训练%测试-输出为预测值%竞争输出%compet:Competitive tran sfer function %full:C onvert sparse matrix to full matrix%正确分类显示为1%正确分类率%结果统计Resul
11、t = sum(abs(X-T)Percent = sum(Result)/le ngth(Result)3.实验结果及分析:Result1 throuEh 1416thriguchCo Juuis29throwhCflllTBlTLSi'hTflTIgh5?Colunns57七肛口 ugh1.Colunns71thrauzhPercent =0.9333图10对75组测试样本进行分类, 其中结果1表示分类正确,0表示分类错误。如图10所示, 正确率达到93.33%,说明BP神经网络对数据集分类是可行的。4.最近邻分类器这里采用了 K均值算法对数据集iris.txt进行分类1) K-M
12、eans算法描述2) SAA类:包装了 KMeans聚类、聚类结果输出、正确率统计等class SAA<public:struct DataType</对样本数据董新包装 double;int Father;dnuble *uncle;/到两个类中心的距离 ;struct Clui5terType</.中心double *center; int sonnum;;int DataNun; int Dimension; int K: int HALT; DATA data;SAA(DATA data);void KMeans();/K均値聚类 讪(1 Display后魁輙据鞭蚩d
13、ouble Cor»pare_right() 7"统计正碩率 void GetUalue(double *str1.double *str2,int dim);/M值 int FindFather(doutole *p,int 10:"指定更离最近的Father double SquareOistancfdouble *str! .double *str2 ,int dim) ;/丿计算距离 int Compare(double *p1 .double *p2,int din);"比较是否是同一个祥末藪据 uoid GetDatasetfDataTpe
14、*p1.DATA p2,int datanun,int din);"添加新类时,新类中心改变uoid NewCenterReduce(ClusterType *pi jint trouble *p2rint din);void NewCenterPlus(ClusterType *p1,int tfdoubl& *p2fint dim); bool judge(int i,double *pos);/判断该样本是不是类中心"从原类中删除时,原类中心改变protected: double Temp; DataType *DataMenber, *KResultF*Cu
15、rrentstatus,*NewSttus; ClusterType * Clusterllember,*NewClustert*Currentcluster;4)部分代码:聚类部分代码:"开始耒类.直到黍类申丄环再发主支化逐个修改,uhileONALT)"衣影日S坷、仁宣新归無 沢修坝卖中心黑;昭翳杲否完Hwg类if (CDnpdre(DldClu5tfr j center iClusterHciiiber j .匸entrr ,Diiwesi(jn”"各十类的类中心是否岌牛改变hrpAli:HfllT=1;殳龙则聚类完咸Far(i-G;i<DataNun
16、i;i+ + ) for(j-0;j<K;j*)DataHembpri J,unclej J=SquareDistance(DataMeraberi.data匕丄ustEFMpntiEFL j J.centerinensian); fo-DatdHenberi,father;=FindFatheir(DataMenber| i .uncle,K£KClii5terMeinterfa | ,onnuin>1)papDatateniberfl | .Fattier;CluEtPrMDiTiberpa .sonnuiT>-=1从原夬中刪観该庄pb=Ddtahtemiibe
17、t'i «Fatlier=FLndFather (DtaMmber i « uncle f K|; Liusternenit)errpDi.sQnnui=i;/jo§lii¥7T 的新类中黃CetUaLue(01dCLusterj.center,Cl(JsterHenberj.center+Oinension);修改聚类中心的代码:"添加到新决时,新类中心改变uoid Sfifl:NewCenterPlus(ClusterType *p1Rint t,double *p2,int dim)int 1;For(l=0;i<dim;:
18、i+ + pl t J .centerii=pl t J .center 1 + (pzl j-pl t .centeriJ)/(pi t J .sDnnumj ;>void SAfi: NeviCen ter Reduce (Cluster Tipe *p1 ,int ttdouble *p2 f int diin)"从原类巾删除时,原类中心改变int i;for(i=0;i<dim;i+)p1t.centeri = p1t.centeri + (p1t.centeri-p2i)/(p1t .sonnun);5)统计正确率:(因为初始的聚类中心是随机选取的,所以每次运行 的结果不一样): E:M' B P km ea n & De b u g k m ea n s. exe1 .叵 1"正确率;眄/蹣師7Press anv kev to continue图11如图11所示,用K均值进行分类的正确率达到90.67%。5. BP神经网络与最近邻分类器的性能对比这里的BP神经网络,隐层的传递函数采用tan-sigmoid ,输出层采用线性传递函数,网络训练采用 Levenberg-Marquardt算法trainlm ,隐层节点20,最小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 童年情绪障碍的护理挑战
- 金太阳2026届高三联考313C政治试题(含答案)
- 物业事业部运营管理拓展方案
- 2026年芯片封装材料供应商信越化成日东电工竞争力对比
- 2026年叉车行业智能化转型:软件 硬件 平台发展路径
- 管网改造工程施工方案
- 医美皮肤护理的术后护理要点解析
- 护理专业的社会影响与发展趋势
- 2026年数字化智能化供应链转型提升韧性实施方案
- 2026年江浙地区乡村“整村运营”标杆模式深度解析
- JCT 535-2023 硅灰石 (正式版)
- 文创产品设计-课件
- 2020南方出版社六年级信息技术下册教案
- 2024年高考物理复习研讨《二轮复习策略讲座》
- 国内外新型肥料研究进展和发展趋势
- 《机械制图与CAD》教案
- GB/T 28627-2023抹灰石膏
- GB/T 19092-2003煤粉浮沉试验方法
- 古诗词诵读《江城子 乙卯正月二十日夜记梦》课件(19张PPT)
- 20世纪世界文学思潮 外国文学史
- 施工安全风险告知牌
评论
0/150
提交评论