bp网络实现曲线逼近

bp网络实现曲线逼近

ID:9827511

大小:306.50 KB

页数:8页

时间:2018-05-11

bp网络实现曲线逼近_第1页
bp网络实现曲线逼近_第2页
bp网络实现曲线逼近_第3页
bp网络实现曲线逼近_第4页
bp网络实现曲线逼近_第5页
资源描述:

《bp网络实现曲线逼近》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、BP网络实现曲线逼近班级:自动化1班学号:S080305001姓名:陈洪霞一、BP网络学习原理多次前馈网络中,第一层为输入层,第Q层为输出层,中间各层为隐层,神经处理单元的特征函数是。BP网络的学习过程是由正向传播和误差反向传播组成,把输入样本从输入层传到隐含层单元,经隐含层单元逐层处理后产生一个输出,至输出层,这个过程为正向传播,如果输出层没有得到所期望的输入值,把期望值和输出值的误差信号按原路径返回,并通过修改各层神经元的连接权值,使误差信号为最小。这个过程为反向传播。第一层为输入层,第Q层为输出层,中

2、间为隐含层,如图1.1。设第q层的神经元个数为nq,输入到第q层的第i个神经元的连接权系数为(i=1,2,…,nq-1),该网络的输入输出变换关系为(,)图1.1神经元网络设给定P组输入输出样本,8设定拟合误差的代价函数为采用一阶梯度法调节连接权系数E最小。最后归纳出BP网络的学习算法如下:,二、用BP算法拟合正弦曲线在本实验中选取的学习曲线为,学习的样本点为21个,输入的样本点:,样本点的输出为,输入层为单输入x,输出层为单输出y,中间隐含层为一层,十个神经元。输入层的权值是不可调节,所以在这里不做考虑。

3、隐含层权值变量设为w1,输出层权值变量设为w2。在编程时设定网络的学习结束可以通过限定学习的次数,在学习的次数达到后停止学习,也可以根据学习后的输入和理想值的误差实现网络想学习的结束。这两种方法各有各的优缺点,前者可以要网络在一定的时间内学习结束,但是有可能学习次数相对太少,学习的效果不是最佳,既是没有学习好,输出的误差有可能很大。也有可能学习的次数相对太多了,最后的学习几乎没什么变化,只是循环。输入几乎没变化。后者根据学习输出和理想值输出的误差来8实现循环。优点是它能够在学习达到一定的要求后自动跳出循环,

4、这样可以达到规定的要求。也节省学习的时间,但是当误差或者学习率设定的不合理时会出现死循环。需要增添其他代码使之跳出。本文编程采用第一种方法,限定学习次数1000。学习1000后自动跳出停止学习。学习率设定为0.1。代码编写简要流程如图1.2。图1.2BP算法程序框图代码如下:c=1;d=1;sample=zeros(21,1);forp=0:0.001:1y(c)=(sin(p*pi*2)+1)/2;ifmod(p,0.05)==0sample(d,1)=y(c);d=d+1;end8c=c+1;endw1

5、=rand(21,10);w2=rand(21,10);out1=zeros(21,10);out2=zeros(21,1);s1=zeros(21,10);s2=zeros(21,1);vv2=zeros(21,1);vv1=zeros(21,10);dd2=zeros(21,10);dd1=zeros(21,10);d=1;sum=zeros(1001,1);e=1;foru=1:1000holdoffd=1;fori=0:0.05:1forj=1:10s1(d,j)=i*w1(d,j);out1(d,

6、j)=1/(exp((-1)*s1(d,j))+1);%第一层第j个神经元输出endtemp=0;fork=1:10temp=temp+out1(d,k)*w2(d,k);ends2(d,1)=temp;out2(d,1)=1/(exp((-1)*s2(d,1))+1);%第二层神经元输出8vv2(d,1)=out2(d,1)*(1-out2(d,1))*(sample(d,1)-out2(d,1));%输出层的dforb=1:10dd2(d,b)=0.1*vv2(d,1)*out1(d,b);%输出层的修

7、正wvv1(d,b)=vv2(d,1)*w2(d,b)*out1(d,b)*(1.00-out1(d,b));dd1(d,b)=0.1*vv1(d,b)*i;%隐含层的修正wendforj=1:10w2(d,j)=w2(d,j)+dd2(d,j);%修正权值w1(d,j)=w1(d,j)+dd1(d,j);endd=d+1;endd=1;error=0;fori=0:0.05:1forj=1:10s1(d,j)=i*w1(d,j);out1(d,j)=1/(exp((-1)*s1(d,j))+1);%第一层

8、第j个神经元输出endT1=0;fork=1:10T1=out1(d,k)*w2(d,k)+T1;ends2(d,1)=T1;out2(d,1)=1/(exp((-1)*s2(d,1))+1);error=error+(sample(d,1)-out2(d,1))*(sample(d,1)-out2(d,1));plot(i,out2(d,1),'*g');holdond=d+1;end8sum(e,1)=err

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。