QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3069|回复: 1
打印 上一主题 下一主题

[代码资源] 一matlab程序中一点点的小问题

[复制链接]
字体大小: 正常 放大
yychanaz        

1

主题

0

听众

27

积分

升级  23.16%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2009-9-10 00:20 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
神经网络预测
) X3 }. ?$ a6 X) D- t% 数据为1986年到2000年的交通量 ,网络为3输入,1输出7 H3 P7 Q5 R% p" n4 G) [; ?% B
% 15组数据,其中9组为正常训练数据,3组为变量数据,3组为测试数据
/ c/ }7 ?) v$ G3 J9 K3 D5 ~. x6 K%by akjuan$ E% a4 j3 h: X" v2 \# O2 v
%all rights preserved by www.4math.cn5 u+ y$ d6 `4 I% F5 ~  Q/ t
All_error=[];%所有误差存储  s. a! s4 P( t2 [
year=1986:2000;%数据是从1986到2000年的
2 }, [( G) S# C: f$ Z# M! kp=[493 372 445;372 445 176;445 176 235;176 235 378;235 378 429;...; t- ]: R# }4 J! h# s
   378 429 561;429 561 651;561 651 467;651 467 527;467 527 668;...# X" |' o- W" x  o
   527 668 841; 668 841 526;841 526 480;526 480 567;480 567 685]';%输入数据,共15组,每组3个输入/ U, c7 b! _! ^4 e
t=[176 235 378 429 561 651 467 527 668 841 526 480 567 685 507];%输出数据,共15组,每组1个输出! b- V9 D; U3 g( v; ~7 l' m
[normInput,ps] = mapminmax(p);3 g$ I# {/ r; ^5 \
[normTarget,ts] = mapminmax(t);
4 B9 l5 W/ W. AtestPercent = 0.20;  % Adjust as desired5 z" r  ~0 k  v3 n* g7 H
validatePercent = 0.20;  % Adust as desired: ]+ j6 u+ W& ^
[trainSamples,validateSamples,testSamples] = dividevec(normInput,normTarget,validatePercent,testPercent);. I" p$ M3 E3 b
for j=1:200
4 l/ e. }( h: d2 i0 XNodeNum1 = 20; % 隐层第一层节点数2 r( H& J" W, G* H" \
NodeNum2=40;   % 隐层第二层节点数
& _- h- `: A# w, }& DTypeNum = 1;   % 输出维数
% Q' V) F, Q4 z  zTF1 = 'tansig';TF2 = 'tansig'; TF3 = 'tansig';
: D& h7 l3 _! M2 Unet=newff(minmax(normInput),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx');%网络创建net.trainParam.epochs=10000;%训练次数设置
5 W! b/ T7 b, P* Z6 Pnet.trainParam.goal=1e-6;%训练目标设置& S/ M4 f9 P& H  J( T
PL.lr=0.01;net.trainfcn='traingdm';
% b5 ?# U/ Z) V2 [) r- H9 z[net,tr] = train(net,trainSamples.P,trainSamples.T,[],[],validateSamples,testSamples);
- F+ X9 [7 {2 Z9 n[normTrainOutput,Pf,Af,E,trainPerf] = sim(net,trainSamples.P,[],[],trainSamples.T);%正常输入的9组p数据,BP得到的结果t  A* Z1 y! M6 z4 Y
[normValidateOutput,Pf,Af,E,validatePerf] = sim(net,validateSamples.P,[],[],validateSamples.T);%用作变量3的数据p,BP得到的结果t
5 G6 c) ^0 b; n4 G) X! j[normTestOutput,Pf,Af,E,testPerf] = sim(net,testSamples.P,[],[],testSamples.T);%用作测试的3组数据p,BP得到的结果t8 C  P# i4 ]; G0 X( r' I5 u
trainOutput = mapminmax('reverse',normTrainOutput,ts);%正常输入的9组p数据,BP得到的归一化后的结果t  A7 O: X, Y) F5 @
trainInsect = mapminmax('reverse',trainSamples.T,ts);%正常输入的9组数据t
: |  c6 c( r, @/ p: N" F  @validateOutput = mapminmax('reverse',normValidateOutput,ts);%用作变量3的数据p,BP得到的归一化的结果t- l3 c9 u& s; l# T/ {$ P% a
validateInsect = mapminmax('reverse',validateSamples.T,ts);%用作变量3的数据t: q8 u( i6 E" Q7 P& d& n
testOutput = mapminmax('reverse',normTestOutput,ts);%用作变量3组数据p,BP得到的归一化的结果t
1 _/ [4 l: v) `8 {testInsect = mapminmax('reverse',testSamples.T,ts);%用作变量3组数据t4 h. J; x  i8 Y. L2 g# ^3 q) p
%绝对误差计算8 s4 Y; q$ E: X! A/ Y6 R
absTrainError = trainOutput-trainInsect;, j- I- F8 ?1 b: {3 H# A5 j, v
absTestError = testOutput-testInsect;" Y( y+ m$ z5 O7 o: S
error_sum=sqrt(absTestError(1).^2+absTestError(2).^2+absTestError(3).^2);% U' i( Z# w( ~
All_error=[All_error error_sum];! ~/ {% m& j* {6 F
eps=90;%其为3组测试数据的标准差,或者每个数据偏差在一定范围内而判别
0 F" @! @- b6 `* Jif ((abs(absTestError(1))<=30 )&(abs(absTestError(2))<=30)&(abs(absTestError(3))<=30)|(error_sum<=eps))0 q7 Y4 X2 B1 q5 W6 |( j4 \
save mynetdata net4 @) }; ], R, @5 [/ l, W
     break$ {8 A1 v4 z( n( n' n  \
end
0 x% l% E" |5 Y9 X! wj
  Z8 s& U7 a3 c6 \' t1 S+ zend" N# e7 t; N7 j+ [+ \" {" J% \
问题是:/ K* ~, F4 c- ^/ B# {
if ((abs(absTestError(1))<=30 )&(abs(absTestError(2))<=30)&(abs(absTestError(3))<=30)|(error_sum<=eps))
- Z3 `% b# U8 O5 _; W4 d' f中的30是怎么算出来的啊
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持1 反对反对0 微信微信

10

主题

4

听众

108

积分

升级  4%

该用户从未签到

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-10-31 04:51 , Processed in 2.046938 second(s), 63 queries .

回顶部