工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1065|回复: 0

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

[复制链接]
发表于 2010-5-27 10:06 | 显示全部楼层 |阅读模式
我建立了rbf神经网络,并用来预测数据,但是预测曲线和原始的目标数据一模一样,一点误差都没有。经别人看看过后说是,我没有定义预测的数据,而且是把所有的数据都用来训练啦。我的要求是用以下数据的t_data数据中的前七组用来训练,最后两组用来做预测。本人是用来做毕业设计的。希望高手帮个忙,万分感激!
) f9 X/ T  @3 V. E& k
* Q4 |1 e: L9 T" [7 u%  聚丙烯/蒙脱土纳米复合材料的双指标性能的RBF预测模型0 @* Q( r/ y1 y4 f/ z: p6 r, Z1 n
%t_data为原始数据,其中前三列是输入向量,后两列是输出的目标向量& D5 J7 k/ I' E% @
t_data=[
9 ?7 t  s- i$ X# C1 10 80 33.92 69.3
- b. U' \5 r' B0 p; o9 l1 20 100 34.49 34.7
5 u$ c/ }( T# B# h4 j1 30 50 34.38 18.7
. Z& n/ ~- h: E" s* J3 10 50 33.44 21.3
2 o& J8 J* X, [9 f0 A3 20 80 33.23 21.39 o& b4 Z+ O0 l  C2 {$ ]
3 30 100 33.58 20.0. B1 c* ~8 _  e/ U' n" w
5 10 100 31.89 20.0
) k! w3 v5 j" E/ O$ Z5 20 50 29.51 25.36 ~. B  f$ G2 h0 e/ T" u9 }; N1 J
5 30 80 31.59 25.3];2 B- x1 Q6 W) |& t
t_data=t_data';
$ [, t% e2 z  _* V0 K  Ptt1=t_data(4:5,:);) p  [9 y- {7 R8 B* [( O5 b
%t_data分别表示归一化后的向量" r, L% u. J* B4 v; G6 M
for i=1:5) n- ^0 @/ {9 T) O+ z% S8 }
    t_data(i,:)=(t_data(i,:)-min(t_data(i,:)))/(max(t_data(i,:))-min(t_data(i,:)));
/ \( a/ H5 {1 A; q0 k- Jend: D) H% B% U  G, q7 J$ \
t_data=t_data';
+ D6 Q: Y% T* A/ B%初始化数据,tt为目标向量,x为输入向量2 g( P, B: ~& W, k. y* M
tt=t_data(:,4:5);x=t_data(:,1:3);tt=tt';0 I1 E  X& t6 ?6 Q4 ~! a
%随机选取中心. d- h4 P  }: L' ]: S) p
c=x;9 e& K: D  p5 s( l* G! W3 M: {
%定义delta平方为样本各点的协方差之和
+ l1 x. Z8 n* ~0 O9 W' |. fdelta=cov(x');
& s+ [! s# ]% g/ q* D  ?5 Y7 F  sdelta=sum(delta);# s- a' O8 ]  h
%隐含层输出R
  I/ W- z0 H& B+ Jfor i=1:1:90 Q6 o8 Z5 _$ o; N) a: N3 l; s; J/ Y
  for j=1:1:91 a+ X4 G5 o; r) Y* e5 G
     R(i,j)=((x(i,:)-c(j,:)))*((x(i,:)-c(j,:))');
% {# K* w% a: s% p% f8 d     R(i,j)=exp(-R(i,j)./delta(j));+ q7 R( s$ Z5 ~9 x. ^6 D
  end# ^- i3 y# A7 r; W9 C
end
; ^" a4 o6 p5 M! ^%输入向量p, C: x) [6 }/ }7 S) w
p=R;
$ e' D# P; Q- j# q5 z: T%建立神经网络模型0 y& M$ l  O+ l# g  ^
r=radbas(p);6 S5 ]+ d$ V6 }3 D, l+ f6 Y
err_goal=0.001;
9 P! R+ U5 N7 v4 F, \, y: \& [sc=3;
$ K2 d6 b5 V- @" _" lnet=newrb(p,tt,err_goal,sc,1000,1);
" A6 ^! f: ^# l: b3 q2 d, D! j%测试" E  E. ^2 _& W* M1 n+ P& a
ty=sim(net,p);/ n5 B+ n" k4 Y$ S# k, b0 a
tE=tt-ty;
  p  R- q0 N' D: h: ltSSE=sse(tE);
7 K4 P: x8 p0 V: `8 Y1 btMSE=mse(tE);
2 g9 |% [. ]$ a6 Mtt=tt1;
  z2 W. X% C: {5 u7 J7 @) yty1=ty(1,:)*(max(tt(1,:))-min(tt(1,:)))+min(tt(1,:));
1 J. S6 A9 `( z& O  o. \ty2=ty(2,:)*(max(tt(2,:))-min(tt(2,:)))+min(tt(2,:));
; B: |3 ~  ^5 k* x1 K%预测(测试)曲线/ {2 W, y! N! p" w7 I/ Y
figure;
* d3 A$ F' I* l) y2 ^0 f$ B plot(tt(1,:),'-+');/ ^% a. R7 h4 w$ Z  d
hold on;* j8 y0 c2 ~+ j2 U9 [
plot(ty1,'r:*');
" n  q9 U, N% n$ S legend('原始目标值','预测值');$ ]$ _- b+ }% {% @* G
title('拉伸强度的RBF网络模型预测结果输出曲线');
1 v7 q5 Z) I$ R xlabel('输入样本点');7 T- d! b4 ?  O8 W" J" M5 f/ n$ ?
ylabel('拉伸强度/Mpa');9 M2 F% Y/ j$ g" q" O
hold off;! W% s2 o- }& G! \
figure;
: L: ^2 _6 O+ ^8 Q plot(tt(2,:),'-+');
% Z8 j1 G" _3 m% F: r hold on;& ~# M6 ~3 B1 n, q# k# g- _+ Q* e( X
plot(ty2,'r:o');
  z1 h9 X& d* z9 s legend('原始目标值','预测值');1 _3 G6 ?; r, V, C( ?5 i1 P
title('断裂伸长率的RBF网络模型预测结果输出曲线');
) |; E% Q; s' y6 } xlabel('输入样本点');
' S$ Z4 t& r2 _! l* | ylabel('断裂伸长率/%');
9 d* U( {% i; x+ d1 o6 S hold off
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2025-5-20 22:49

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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