版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏常州市溧阳市卫生健康系统部分事业单位招聘高层次人才38人备考题库(长期)含答案详解(典型题)
- 2026福建福州市志愿者联合会专职工作人员(劳务派遣)招聘3人备考题库带答案详解(预热题)
- 2026江苏省人民医院神经内科医师助理岗位招聘2人备考题库附答案详解(满分必刷)
- 2026江苏省卫生健康委员会所属事业单位长期招聘101人备考题库(一)及答案详解(典优)
- 2026福建南安市霞美镇中心幼儿园钟育分园春季招聘备考题库附答案详解(模拟题)
- 2026年路面维修合同(1篇)
- 所有权保留制度深度剖析与研究报告
- 2026四川自贡市第一人民医院招聘医疗辅助岗人员18人备考题库含答案详解(达标题)
- 2026上半年安徽事业单位联考合肥新站高新区管委会招聘40人备考题库含答案详解(精练)
- 2026广东佛山市顺德区龙潭小学招聘语文、心理临聘教师3人备考题库完整答案详解
- 西安民宿管理办法
- 【基于PLC的地铁屏蔽门控制系统设计8900字(论文)】
- 企业人力资源管理制度
- 医学诊断证明书规范与管理体系
- 《肝性脑病》课件
- 经内镜逆行胰胆管造影(ERCP)护理业务学习
- 养老院老人档案管理制度
- 《摩擦磨损试验》课件
- 粮油食材配送投标方案(大米食用油食材配送服务投标方案)(技术方案)
- 超声波治疗仪的生物力学效应研究
- 耳膜穿孔伤残鉴定
评论
0/150
提交评论