陈颖频的科学网博客分享 http://blog.sciencenet.cn/u/s110500617

博文

求助:按照BP神经网络原理编写的代码,为什么拟合效果完全不对?

已有 5143 次阅读 2015-6-27 16:10 |系统分类:科研笔记| BP神经网络

 按照《神经网络与机器学习》一书的原理自己编写BP神经网络拟合正弦曲线的代码,可是拟合结果完全不是一条正弦曲线,自己找不出原因,希望科学网的老师不吝赐教,看看以下代码为什么没能做出正确的拟合?代码如下:

%功能:BP神经网络对正弦信号做1-35-1网络训练,训练样本25点,测试样本250点

%日期:6.26

%作者:陈颖频

clc;

clear all;

%测试样本为25点

t=-0.8:1.6/25:0.8-1.6/25;

y_t=sin(2*pi*125/256.0*t);

figure(1);

plot(y_t);  %25点是训练样本

title('训练样本');

Hide_N=35;  %隐层为35层

%w_in_1为输入层阈值,w_in_2为输入层到隐层的权重,w_hide_out为隐层到输出层权重

w_in_1=zeros(Hide_N,1)+0.1*rand(Hide_N,1);

w_in_2=zeros(Hide_N,1)+0.1*rand(Hide_N,1);

w_hide_out=zeros(Hide_N+1,1)+0.01*rand(Hide_N+1,1);  

theta1=1;   %输入层的阈值1

theta2=1;   %隐层到输出层的阈值2

c=zeros(Hide_N+1,1);c(1)=theta2;

for i=1:200  %训练次

   for j=1:25   %对每个训练样本做BP训练

       hide=tanh( theta1*w_in_1+t(j)*w_in_2 );    %隐层输出

       c(2:end)=hide;                             %隐层输出加隐层到输出的阈值1,所以c是20行一列,这样编程的好处是后面调整权w_hide_out的同时就调整了阈值

       out=tanh( w_hide_out.'*c );           %输出层输出

       e=y_t(j)-out;             %误差

       deta_o=e*(1+out)*(1-out);  %反向回传梯度

       dw_hide_out=0.02*deta_o*out;  %0.02是学习率1

       w_hide_out=w_hide_out+dw_hide_out;

   end

   for k=1:Hide_N            %调整输入到隐层的权重和阈值

       deta_in_hide(k)=(1+hide(k))*(1-hide(k))*deta_o*(w_hide_out(k));     %这里面的(1+hide(k))*(1-hide(k))表示对双曲正切函数的求导结果

       w_in_2(k)= w_in_2(k)+0.01*deta_in_hide(k)*hide(k);       %调整输入层权重  

       w_in_1(k)= w_in_1(k)+0.01*deta_in_hide(k)*hide(k);       %调整输入层阈值

   end  

end

%测试用250点,上面的程序已经训练200次,以w_in_1为输入层阈值,w_in_2为输入层到隐层的权重,w_hide_out为隐层到输出层权重

d=zeros(Hide_N+1,1);d(1)=theta2;

t2=-0.8:1.6/250:0.8-1.6/250;

for j=1:250

   d(2:end)=tanh(  theta1*w_in_1+t2(j)*w_in_2 );

   out2(j)=tanh( w_hide_out.'*d );

end

figure(2);

plot(out2);

title('拟合曲线');

仿真结果如下,实在不忍直视,但是代码我自己找不出问题所在。






https://wap.sciencenet.cn/blog-684084-900975.html

上一篇:无线传感器之平面路由与层次路由
下一篇:1-6-1学习神经网络编程
收藏 IP: 125.79.45.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-15 15:53

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部