找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2806|回复: 1

请教一个bp神经网络的问题

[复制链接]
tangning0617 发表于 2007-5-28 17:21:00 | 显示全部楼层 |阅读模式

有6乘200的一个矩阵数据作为输入,输出200个数,如何编程(bp网络)实现数据拟合。数据如下:

u=[4 0.1 5 1.25 40 200;4 0.2 5 1.25 40 200;4 0.3 5 1.25 40 200;4 0.4 5 1.25 40 200;4 0.5 5 1.25 40 200;
   4 0.6 5 1.25 40 200;4 0.7 5 1.25 40 200;4 0.8 5 1.25 40 200;4 0.9 5 1.25 40 200;4 1.0 5 1.25 40 200;
   4 1.1 5 1.25 40 200;4 1.2 5 1.25 40 200;4 1.3 5 1.25 40 200;4 1.4 5 1.25 40 200;4 1.5 5 1.25 40 200;
   4 1.6 5 1.25 40 200;4 1.7 5 1.25 40 200;4 1.8 5 1.25 40 200;4 1.9 5 1.25 40 200;4 2.0 5 1.25 40 200;
   4 2.1 5 1.25 40 200;4 2.2 5 1.25 40 200;4 2.3 5 1.25 40 200;4 2.4 5 1.25 40 200;4 2.5 5 1.25 40 200;
   4 2.6 5 1.25 40 200;4 2.7 5 1.25 40 200;4 2.8 5 1.25 40 200;4 2.9 5 1.25 40 200;4 3.0 5 1.25 40 200;
   4 3.1 5 1.25 40 200;4 3.2 5 1.25 40 200;4 3.3 5 1.25 40 200;4 3.4 5 1.25 40 200;4 3.5 5 1.25 40 200;
   4 3.6 5 1.25 40 200;4 3.7 5 1.25 40 200;4 3.8 5 1.25 40 200;4 3.9 5 1.25 40 200;4 4.0 5 1.25 40 200;
   4 4.1 5 1.25 40 200;4 4.2 5 1.25 40 200;4 4.3 5 1.25 40 200;4 4.4 5 1.25 40 200;4 4.5 5 1.25 40 200;
   4 4.6 5 1.25 40 200;4 4.7 5 1.25 40 200;4 4.8 5 1.25 40 200;4 4.9 5 1.25 40 200;4 5.0 5 1.25 40 200;
   4 5.1 5 1.25 40 200;4 5.2 5 1.25 40 200;4 5.3 5 1.25 40 200;4 5.4 5 1.25 40 200;4 5.5 5 1.25 40 200;
   4 5.6 5 1.25 40 200;4 5.7 5 1.25 40 200;4 5.8 5 1.25 40 200;4 5.9 5 1.25 40 200;4 6.0 5 1.25 40 200;
   4 6.1 5 1.25 40 200;4 6.2 5 1.25 40 200;4 6.3 5 1.25 40 200;4 6.4 5 1.25 40 200;4 6.5 5 1.25 40 200;
   4 6.6 5 1.25 40 200;4 6.7 5 1.25 40 200;4 6.8 5 1.25 40 200;4 6.9 5 1.25 40 200;4 7.0 5 1.25 40 200;
   4 7.1 5 1.25 40 200;4 7.2 5 1.25 40 200;4 7.3 5 1.25 40 200;4 7.4 5 1.25 40 200;4 7.5 5 1.25 40 200;
   4 7.6 5 1.25 40 200;4 7.7 5 1.25 40 200;4 7.8 5 1.25 40 200;4 7.9 5 1.25 40 200;4 8.0 5 1.25 40 200;
   4 8.1 5 1.25 40 200;4 8.2 5 1.25 40 200;4 8.3 5 1.25 40 200;4 8.4 5 1.25 40 200;4 8.5 5 1.25 40 200;
   4 8.6 5 1.25 40 200;4 8.7 5 1.25 40 200;4 8.8 5 1.25 40 200;4 8.9 5 1.25 40 200;4 9.0 5 1.25 40 200;
   4 9.1 5 1.25 40 200;4 9.2 5 1.25 40 200;4 9.3 5 1.25 40 200;4 9.4 5 1.25 40 200;4 9.5 5 1.25 40 200;
   4 9.6 5 1.25 40 200;4 9.7 5 1.25 40 200;4 9.8 5 1.25 40 200;4 9.9 5 1.25 40 200;4 10.0 5 1.25 40 200;
   4 10.1 5 1.25 40 200;4 10.2 5 1.25 40 200;4 10.3 5 1.25 40 200;4 10.4 5 1.25 40 200;4 10.5 5 1.25 40 200;
   4 10.6 5 1.25 40 200;4 10.7 5 1.25 40 200;4 10.8 5 1.25 40 200;4 10.9 5 1.25 40 200;4 11.0 5 1.25 40 200;
   4 11.1 5 1.25 40 200;4 11.2 5 1.25 40 200;4 11.3 5 1.25 40 200;4 11.4 5 1.25 40 200;4 11.5 5 1.25 40 200;
   4 11.6 5 1.25 40 200;4 11.7 5 1.25 40 200;4 11.8 5 1.25 40 200;4 11.9 5 1.25 40 200;4 12.0 5 1.25 40 200;
   4 12.1 5 1.25 40 200;4 12.2 5 1.25 40 200;4 12.3 5 1.25 40 200;4 12.4 5 1.25 40 200;4 12.5 5 1.25 40 200;
   4 12.6 5 1.25 40 200;4 12.7 5 1.25 40 200;4 12.8 5 1.25 40 200;4 12.9 5 1.25 40 200;4 13.0 5 1.25 40 200;
   4 13.1 5 1.25 40 200;4 13.2 5 1.25 40 200;4 13.3 5 1.25 40 200;4 13.4 5 1.25 40 200;4 13.5 5 1.25 40 200;
   4 13.6 5 1.25 40 200;4 13.7 5 1.25 40 200;4 13.8 5 1.25 40 200;4 13.9 5 1.25 40 200;4 14.0 5 1.25 40 200;
   4 14.1 5 1.25 40 200;4 14.2 5 1.25 40 200;4 14.3 5 1.25 40 200;4 14.4 5 1.25 40 200;4 14.5 5 1.25 40 200;
   4 14.6 5 1.25 40 200;4 14.7 5 1.25 40 200;4 14.8 5 1.25 40 200;4 14.9 5 1.25 40 200;4 15.0 5 1.25 40 200;
   4 15.1 5 1.25 40 200;4 15.2 5 1.25 40 200;4 15.3 5 1.25 40 200;4 15.4 5 1.25 40 200;4 15.5 5 1.25 40 200;
   4 15.6 5 1.25 40 200;4 15.7 5 1.25 40 200;4 15.8 5 1.25 40 200;4 15.9 5 1.25 40 200;4 16.0 5 1.25 40 200;
   4 16.1 5 1.25 40 200;4 16.2 5 1.25 40 200;4 16.3 5 1.25 40 200;4 16.4 5 1.25 40 200;4 16.5 5 1.25 40 200;
   4 16.6 5 1.25 40 200;4 16.7 5 1.25 40 200;4 16.8 5 1.25 40 200;4 16.9 5 1.25 40 200;4 17.0 5 1.25 40 200;
   4 17.1 5 1.25 40 200;4 17.2 5 1.25 40 200;4 17.3 5 1.25 40 200;4 17.4 5 1.25 40 200;4 17.5 5 1.25 40 200;
   4 17.6 5 1.25 40 200;4 17.7 5 1.25 40 200;4 17.8 5 1.25 40 200;4 17.9 5 1.25 40 200;4 18.0 5 1.25 40 200;
   4 18.1 5 1.25 40 200;4 18.2 5 1.25 40 200;4 18.3 5 1.25 40 200;4 18.4 5 1.25 40 200;4 18.5 5 1.25 40 200;
   4 18.6 5 1.25 40 200;4 18.7 5 1.25 40 200;4 18.8 5 1.25 40 200;4 18.9 5 1.25 40 200;4 19.0 5 1.25 40 200;
   4 19.1 5 1.25 40 200;4 19.2 5 1.25 40 200;4 19.3 5 1.25 40 200;4 19.4 5 1.25 40 200;4 19.5 5 1.25 40 200;
   4 19.6 5 1.25 40 200;4 19.7 5 1.25 40 200;4 19.8 5 1.25 40 200;4 19.9 5 1.25 40 200;4 20.0 5 1.25 40 200];

t=[2.6372    2.8467    3.1490    3.3995    3.7623    4.1091    4.4977    4.8825    5.2687    5.6809 6.0931    6.5085    6.9442    7.3835    7.8353    8.2999    8.7923    9.2815    9.8090   10.3593 10.9804   11.6496   12.3713   13.1762   14.1197   15.2549   16.4080   17.6590   18.9093   19.9938 21.0869   21.9598   22.8081   23.4770   24.2121   24.7631   25.3286   25.8747   26.2714   26.6086 27.0518   27.2257   27.4139   27.7021   27.5654   27.8435   27.9109   27.7410   27.5918   27.7181 27.7634   27.0908   27.2266   27.1421   27.2592   26.8949   26.3199   26.3119   26.2720   26.2564 25.9605   25.1672   24.9130   24.9388   24.9425   24.8134   24.2203   23.7465   23.0381   22.9946 22.9544   22.9177   22.3180   21.9836   21.6915   21.3443   20.9865   20.3266   20.3029   19.6188 19.2614   18.9843   18.7743   18.3935   18.1425   18.0979   17.8535   17.0749   15.9958   15.5072 15.2379   15.1652   14.8517   14.6960   14.4571   14.3743   14.0610   13.1790   12.7911   12.3904 12.0232   11.5828   10.9472   10.3226   10.1531    9.9281    9.8494    8.8880    8.5485    8.0307 7.6674    7.3725    7.1125    6.8634    6.6798    6.3836    6.2835    5.8510    5.7780    4.8875 4.2355    3.4926    3.3488    2.4667    1.9355    1.3969    1.0559    0.8561    0.7397    0.1522 -0.0316   -0.3069   -0.4605   -1.0044   -1.9885   -2.3472   -2.9457  -3.0994   -3.3405   -3.7446 -3.8858   -4.1135   -4.6154   -4.9053   -5.0300   -5.2256   -5.7344   -6.1634   -6.4819   -6.6733 -7.3286   -8.3338   -8.9338   -9.5108  -10.0012  -10.5911  -11.0197  -12.0588  -12.6144  -12.9710 -13.0808  -13.4356  -13.8963  -14.1470  -14.4688  -14.5931  -14.7479  -15.0760  -15.3250  -15.8641 -16.0861  -16.5562  -17.4437  -18.0445  -18.5478  -18.8505  -19.3883  -19.8356  -20.2569  -20.5721 -20.9452  -21.4803  -21.8208  -22.0285  -22.3807  -22.7002  -23.0397  -23.3599  -23.8567  -24.0863 -24.4450  -24.9250  -25.0750  -25.2388  -25.5787  -25.9589  -26.9276  -27.4837  -28.1350  -28.7885];

[此贴子已经被作者于2007-7-11 10:26:23编辑过]
 楼主| tangning0617 发表于 2007-7-11 10:30:00 | 显示全部楼层

我用下面的程序试过了,但是误差非常大,好像陷入了局部极小值。

[R,Q]=size(p)
[s2,Q]=size(t);   %输出矢量
   s1=11 ;   %隐层
   [w1,b1]=rands(s1,R)   %权重初始化
   [w2,b2]=rands(s2,s1)
        A2=purelin(w2*tansig(w1*p,b1),b2)        
      disp=10;         %显示间隔次数
      epoch=5000;   %最大的训练次数5000
      err=0.01;       %误差0.01
      lr=0.01;       %学习速率0.01
      mc=0.6
             tp=[disp epoch err lr]      
      [w1,b1,w2,b2,epochs,errors]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)  %利用BP算法训练前向网络
            figure(2)
      ploterr(errors)  %画误差曲线图
      Y=simuff(p,w1,b1,'tansig',w2,b2,'purelin')  %simuff前向网络仿真
      figure(3)   
      plot(t)     %画目标矢量图
      hold on
      plot(Y,'r:')   %画输出矢量图,也就是神经网络输出矢量图
请问有没有高手给指点一下呢?

[此贴子已经被作者于2007-7-11 18:28:46编辑过]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|生物行[生物导航网] ( 沪ICP备05001519号 )

GMT+8, 2025-6-29 17:56 , Processed in 0.032978 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表