工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1038|回复: 0

[提问] 急救:rbf神经网络预测模型,请高手帮忙修改程序

[复制链接]
发表于 2010-5-27 10:06 | 显示全部楼层 |阅读模式
我建立了rbf神经网络,并用来预测数据,但是预测曲线和原始的目标数据一模一样,一点误差都没有。经别人看看过后说是,我没有定义预测的数据,而且是把所有的数据都用来训练啦。我的要求是用以下数据的t_data数据中的前七组用来训练,最后两组用来做预测。本人是用来做毕业设计的。希望高手帮个忙,万分感激!$ l$ o1 E1 G7 y3 g7 g! Q

3 t, l: q3 @* p2 E%  聚丙烯/蒙脱土纳米复合材料的双指标性能的RBF预测模型$ d2 V, u5 I# c+ s! w
%t_data为原始数据,其中前三列是输入向量,后两列是输出的目标向量  j0 s$ M6 B6 ~  C' g: ?
t_data=[
/ ]8 s- n! D/ D$ T  |3 }6 `2 A1 10 80 33.92 69.3
1 f1 Y7 Q4 b1 o0 S2 Y1 [( F0 |1 20 100 34.49 34.7
& k2 P  W5 ?; _: \& v1 30 50 34.38 18.7: r6 u% U7 B7 T3 q0 k; m3 C: D
3 10 50 33.44 21.3* ]( F" h7 b. t4 P1 m- O+ y
3 20 80 33.23 21.3
3 N. b1 l6 [3 z- `  q) f3 30 100 33.58 20.0
* G0 N; a5 N$ N- Q2 N3 o5 10 100 31.89 20.0
6 _$ U$ M! n  C  ^& L9 [" K5 20 50 29.51 25.3
% J! P2 h7 {5 R5 N0 L5 30 80 31.59 25.3];  ^& p/ y  Y6 z6 l1 ?7 I4 K
t_data=t_data';
2 f: V: @, u1 Rtt1=t_data(4:5,:);
: Y! w! a; k+ ^7 Z  ^%t_data分别表示归一化后的向量4 P! S" c- H# ~
for i=1:55 P# e# h6 w# d, T/ ]1 \$ d3 _5 x
    t_data(i,:)=(t_data(i,:)-min(t_data(i,:)))/(max(t_data(i,:))-min(t_data(i,:)));
0 y3 H3 Z$ [2 Hend3 d( h: ~- V* _; X" y' _) w
t_data=t_data';
+ h+ R* X: L$ H0 x%初始化数据,tt为目标向量,x为输入向量. J/ Y& X, U8 g! k9 z8 m# b4 D
tt=t_data(:,4:5);x=t_data(:,1:3);tt=tt';
% w+ T8 D, Q! j  C%随机选取中心! R7 Y, Y+ W$ |0 O& `
c=x;
4 }- p) j5 ~& [+ \5 n7 A' s$ F%定义delta平方为样本各点的协方差之和4 C, r$ Y" @2 n. k- e
delta=cov(x');
$ E+ K4 b# y" C' ?delta=sum(delta);
# X$ p# J4 M, q/ e6 F( Z%隐含层输出R
; K( Z7 X5 c5 tfor i=1:1:9, D; N1 I4 Q6 l& G9 Y+ ]8 d* n
  for j=1:1:9' a, w( c/ h$ @& H( R6 ]
     R(i,j)=((x(i,:)-c(j,:)))*((x(i,:)-c(j,:))');
8 X* u) @: \! v$ O% v9 S     R(i,j)=exp(-R(i,j)./delta(j));- P4 I: J, Y6 X0 i/ [  z9 x
  end% r9 N, ^' T* F8 ^
end- W( f; D  T( e  }
%输入向量p
7 X* L, q) g: C; p/ up=R;
0 |# r( T' X6 P6 `3 t2 ^%建立神经网络模型
  M! J5 B: I8 ]8 y+ P, e4 ~& ]5 sr=radbas(p);
' U0 m4 d, R+ ], b: ^  v" {err_goal=0.001;
  e( j: l. q* y: H* Ysc=3;
7 T7 _: g/ H7 n8 k! |: j, tnet=newrb(p,tt,err_goal,sc,1000,1);( n: ?5 ?8 ~) a! A
%测试! |, ?7 A2 ~! ?. v
ty=sim(net,p);( ^; @" D1 J, `5 `( t* s2 }0 o
tE=tt-ty;2 E7 a0 K* s4 I% k1 v) i
tSSE=sse(tE);
% U* {% M! O2 \1 L6 V* C; s9 ttMSE=mse(tE);
7 f, O  H4 P2 mtt=tt1;
" o0 [1 s8 g5 {ty1=ty(1,:)*(max(tt(1,:))-min(tt(1,:)))+min(tt(1,:));! M; T; c' I' q; h8 L5 Y
ty2=ty(2,:)*(max(tt(2,:))-min(tt(2,:)))+min(tt(2,:));# G# Y5 k, Z! J5 O& X
%预测(测试)曲线; \7 o6 E7 ]. Z1 h* _( ^
figure;/ s" I5 n6 B- X" e2 s" L+ X5 _& S
plot(tt(1,:),'-+');6 P0 Z7 A! E/ g9 D4 l
hold on;" s6 r" A3 Z2 T! p& l1 f  o
plot(ty1,'r:*');' t: s- l7 n' L# E, X5 O) H6 k: ?& e& y
legend('原始目标值','预测值');5 T+ r) ~, j2 r2 ^6 l
title('拉伸强度的RBF网络模型预测结果输出曲线');
' n& M* f) G" x0 @1 n% Q xlabel('输入样本点');
# m. f5 c: {' S( S' N  O, W* X9 G( {$ f ylabel('拉伸强度/Mpa');
0 {; o& b$ H3 B1 l hold off;/ r2 S9 a- q. l( l$ U& ~
figure;* F# T  M& z9 }' V+ D
plot(tt(2,:),'-+');( d$ g; S# N1 B# V$ g
hold on;  S* }' i$ w( V2 ^
plot(ty2,'r:o');
) F( s1 n. ^% H% N4 {2 K3 } legend('原始目标值','预测值');
2 u7 k" ^2 X, k1 n( d title('断裂伸长率的RBF网络模型预测结果输出曲线');' _. a0 @1 T, T( \
xlabel('输入样本点');" p8 n) g5 l- J) z
ylabel('断裂伸长率/%');9 u; V4 s' C% E# K
hold off
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-5-26 08:30

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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