版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品好资料学习推荐三个输入一个输出的人工神经网络编程,隐含层为单隐层,为BP算法MATLAB写的:(输入输出隐层节点数都可以改的)clear allinputnums=3;%输入层节点outputnums=1;%输出层节点hidenums=7;%隐层节点maxcount=50000;%最大迭代次数samplenum=19;%一个计数器,无意义precision=0.00001;%预设精度yyy=1.3;%yyy是帮助网络加速走出平坦区alpha=0.02;%学习率设定值a=0.9;%BP优化算法的一个设定值,对上组训练的调整值按比例修改error=zeros(1,maxcount+1);%er
2、ror数组初始化;目的是预分配内存空间errorp=zeros(1,samplenum);%同上v=rand(inputnums,hidenums);%1*10;v初始化为一个1*10的随机归一矩阵;v表输入层到隐层的权值deltv=zeros(inputnums,hidenums);%1*10;内存空间预分配dv=zeros(inputnums,hidenums);%1*10;w=rand(hidenums,outputnums);%10*1deltw=zeros(hidenums,outputnums);%10*1dw=zeros(hidenums,outputnums);%10*1sam
3、plelist=1:0.5:10;%样本输入值expectlist=samplelist.(-1);%期望输出值%expectlist=exp(-samplelist);samplelist,minp,maxp=premnmx(samplelist);%expectlist,mint,maxt=premnmx(expectlist);count=1;while(count=maxcount)%结束条件1迭代20000次 c=1; while(c=2&error(count)-error(count-1)=0.0001 o(k)=1/(1+exp(-net)/yyy);%平坦区加大学习率 %o(
4、k)=1/(net/yyy);%平坦区加大学习率 else o(k)=1/(1+exp(-net);%同上 %else o(k)=1/net;%同上 end end %BpError(c)反馈/修改 errortmp=0.0; for k=1:outputnums errortmp=errortmp+(d(k)-o(k)2;%第一组训练后的误差计算 end errorp(c)=0.5*errortmp;%误差E=(d(k)-o(k)2 * 1/2 %end %backward(); for k=1:outputnums yitao(k)=(d(k)-o(k)*o(k)*(1-o(k);%输出层
5、误差偏导 end for j=1:hidenums tem=0.0; for k=1:outputnums tem=tem+yitao(k)*w(j,k);%为了求隐层偏导,而计算的求和 end yitay(j)=tem*y(j)*(1-y(j);%隐层偏导 end %调整各层权值 for j=1:hidenums for k=1:outputnums deltw(j,k)=alpha*yitao(k)*y(j);%权值w的调整量deltw(已乘学习率) w(j,k)=w(j,k)+deltw(j,k)+a*dw(j,k);%权值调整,这里的dw=deltw(t-1),实际是对BP算法的一个改
6、进措施-增加动量项目的是提高训练速度 dw(j,k)=deltw(j,k); end end for i=1:inputnums for j=1:hidenums deltv(i,j)=alpha*yitay(j)*x(i);%同上deltw v(i,j)=v(i,j)+deltv(i,j)+a*dv(i,j); dv(i,j)=deltv(i,j); end end c=c+1; end%第二个while结束;表示一次BP训练结束 double tmp; tmp=0.0; for i=1:samplenum tmp=tmp+errorp(i)*errorp(i);%误差求和 end tmp=
7、tmp/c; error(count)=sqrt(tmp);%误差求均方根,即精度 if(error(count)precision)%求另一个结束条件 break; end count=count+1;%训练次数加1end%第一个while结束error(maxcount+1)=error(maxcount);p=1:count-1;plot(p,error(p),-);%显示误差p=1:1:10;t=p.(-1);%t=exp(-p);pn,minpn,maxpn=premnmx(p);simt=zeros(1,10);%while(a=9) for i=1:10 x=pn(i);%获得输
8、入的向量数据 for j=1:hidenums net=0.0; net=net+x*v(1,j);%输入层到隐层的加权和 y(j)=1/(1+exp(-net);%输出层处理f(x)=1/(1+exp(-x),单极性sigmiod函数 %y(j)=1/net;%输出层处理f(x)=1/(1+exp(-x),单极性sigmiod函数 end net=0.0; for k=1:hidenums net=net+y(k)*w(k,1); end o=1/(1+exp(-net); simt(i)=o; end % simt=postmnmx(simt,mint,maxt);figure;plot(
9、p,t,*,p,simt,-);clcclear all% FFT采样fs=3200;N=64; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=0.8*sin(4.5*2*pi*50*t+pi/4)+0.3*sin(2*2*pi*50*t+pi/5); %信号y=fft(x,N); %对信号进行快速Fourier变换f=fs*(0:length(y)/2)/length(y);z=angle(y)*180/pi;mag=abs(y); fz=mag(1:length(y)/2+1)*2/N; %求得Fourier变换后的振幅figure(1)plot(f,fz); %绘出N
10、yquist频率之前随频率变化的振幅xlabel(频率/Hz);ylabel(振幅);title(FFT采样);grid on;% BP神经网络初始化inputNums=1;%输入层节点outputNums=1;%输出层节点hideNums=4;%隐层节点maxcount=3000;%最大迭代次数sampleNums=N;precision=1e-9;%预设精度xxl1=0.02;xxl2=250;count=1;error=zeros(1,count);errorp=zeros(1,sampleNums);w1=rand(inputNums,hideNums/2); w2=rand(inpu
11、tNums,hideNums/2); b=1*pi*200,1*pi*120;% BP神经网络训练while (count=maxcount) c=1;while (c=sampleNums)for j=1:hideNums/2 net1(j)=cos(b(j)*t(c); net2(j)=sin(b(j)*t(c);endfor j=1:hideNums/2 out(j)=net1(j)*w1(j)+net2(j)*w2(j);end sc(c)=sum(out); errortmp=0.0; errortmp=errortmp+(x(c)-sc(c)2; e(c)=x(c)-sc(c);
12、errorp(c)=0.5*errortmp;for i=1:hideNums/2 dw1(i)=xxl1*e(c)*net1(i); dw2(i)=xxl1*e(c)*net2(i); db(i)=xxl2*e(c)*t(c)*(-w1(i)*net2(i)+w2(i)*net1(i);endfor k=1:hideNums/2 w1(k)=w1(k)+dw1(k); w2(k)=w2(k)+dw2(k); b(k)=b(k)+db(k);end c=c+1;end double tmp; tmp=0.0;for i=1:sampleNums tmp=tmp+errorp(i)*errorp(i);end tmp=tmp/c; error(count)=sqrt(tmp);if (error(count)precision)break;end count=count+1;end% 误差精度曲线figure(2)p=1:c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁学院《体育课篮球》2021-2022学年第一学期期末试卷
- 生产文员工作总结
- 安全生产常识 第3版 课件 第三章 作业现场安全管理
- 二零二四年度文化艺术活动合作合同2篇
- 2024年小学六年级班主任工作总结年度范本
- 二零二四年智能城市安防系统建设合同2篇
- 翻译三级笔译综合能力模拟38
- 护理职业发展演讲
- 2024年度版权转让合同标的价款支付和权益变更3篇
- 贸易销售培训
- 地震课件教学课件
- 药学部主任竞聘述职报告
- DB3205-T 1126-2024非物质文化遗产档案建设与管理规范
- 2024年天然气管道维护与输送合同
- 【人教】第三次月考卷01【U1-U9】
- 24.2.1 点和圆的位置关系 课件 2024-2025学年人教版数学九年级
- 天津市红桥区2024-2025学年八年级上学期期中英语试题(带答案)
- 2024-2025年全国《保安员》岗位工作职责资格知识考试题库与答案
- 学生自主管理班级制度
- 浙江省宁波市2023-2024学年高一上学期期末考试政治试卷(含答案)
- 学校文艺汇演舞台设备方案
评论
0/150
提交评论