QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

27

积分

升级  23.16%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2009-9-10 00:20 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
神经网络预测% g( Q( l" V2 e# I, Y
% 数据为1986年到2000年的交通量 ,网络为3输入,1输出8 j% R) l; G& Q) m, L
% 15组数据,其中9组为正常训练数据,3组为变量数据,3组为测试数据- e0 k' S/ \( t
%by akjuan4 [1 u- D0 d. j( }4 v
%all rights preserved by www.4math.cn
. j, o' e# ^. MAll_error=[];%所有误差存储
7 F  X3 _  Y/ g% ^1 f$ Yyear=1986:2000;%数据是从1986到2000年的. D4 m7 L' U5 X4 a* F  n, G
p=[493 372 445;372 445 176;445 176 235;176 235 378;235 378 429;...* B+ _$ t3 o( v, Z( L1 E( `
   378 429 561;429 561 651;561 651 467;651 467 527;467 527 668;...
& L7 g$ n' I9 K# N3 D+ u7 u   527 668 841; 668 841 526;841 526 480;526 480 567;480 567 685]';%输入数据,共15组,每组3个输入+ P# m5 f. w, d2 ]9 P& ^
t=[176 235 378 429 561 651 467 527 668 841 526 480 567 685 507];%输出数据,共15组,每组1个输出
! _$ s3 @0 k2 [8 A6 ~8 j1 e, O[normInput,ps] = mapminmax(p);2 V0 m: `" S$ i" y- ?6 O
[normTarget,ts] = mapminmax(t);
7 o$ A- o6 e+ s% ttestPercent = 0.20;  % Adjust as desired
: [& [3 ~9 b2 T1 m7 kvalidatePercent = 0.20;  % Adust as desired5 i' r8 h' g9 {# @1 z% ]  @# }/ y
[trainSamples,validateSamples,testSamples] = dividevec(normInput,normTarget,validatePercent,testPercent);3 A  }$ l6 I& `3 N) d+ f- Z7 @
for j=1:200" W  }- y2 ?/ m! G3 T# f% [% ?
NodeNum1 = 20; % 隐层第一层节点数
- ?7 d. @  }% ~NodeNum2=40;   % 隐层第二层节点数, P* O' x0 u0 S" X8 b7 k
TypeNum = 1;   % 输出维数% C, z0 i+ Y$ g
TF1 = 'tansig';TF2 = 'tansig'; TF3 = 'tansig';
: ?* c/ y2 S5 mnet=newff(minmax(normInput),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx');%网络创建net.trainParam.epochs=10000;%训练次数设置; f, m; m" r$ r# ]
net.trainParam.goal=1e-6;%训练目标设置7 k! {* C: ?/ B
PL.lr=0.01;net.trainfcn='traingdm';
8 w+ ^7 e; l  t8 O[net,tr] = train(net,trainSamples.P,trainSamples.T,[],[],validateSamples,testSamples);- I$ C& @7 h0 o
[normTrainOutput,Pf,Af,E,trainPerf] = sim(net,trainSamples.P,[],[],trainSamples.T);%正常输入的9组p数据,BP得到的结果t4 ^( ?- |: |0 U
[normValidateOutput,Pf,Af,E,validatePerf] = sim(net,validateSamples.P,[],[],validateSamples.T);%用作变量3的数据p,BP得到的结果t8 }# `8 j' ?$ L' g
[normTestOutput,Pf,Af,E,testPerf] = sim(net,testSamples.P,[],[],testSamples.T);%用作测试的3组数据p,BP得到的结果t) ]; B8 e; P: A9 q
trainOutput = mapminmax('reverse',normTrainOutput,ts);%正常输入的9组p数据,BP得到的归一化后的结果t; A1 B+ X9 d+ X6 ?3 K
trainInsect = mapminmax('reverse',trainSamples.T,ts);%正常输入的9组数据t% {0 y% M9 K0 ?' o" g4 Z
validateOutput = mapminmax('reverse',normValidateOutput,ts);%用作变量3的数据p,BP得到的归一化的结果t$ {2 n8 Z/ S: Q5 ]8 ~2 Q( {
validateInsect = mapminmax('reverse',validateSamples.T,ts);%用作变量3的数据t" P! H% Y/ g0 U) z) j
testOutput = mapminmax('reverse',normTestOutput,ts);%用作变量3组数据p,BP得到的归一化的结果t! r. P; E) ~5 L# b! L$ Q' L
testInsect = mapminmax('reverse',testSamples.T,ts);%用作变量3组数据t# q# ]2 f- b* E/ H# h0 u/ \
%绝对误差计算
: E' _9 Y9 F* r# X/ H8 fabsTrainError = trainOutput-trainInsect;  r& [- p; {* C5 E5 z7 P* `
absTestError = testOutput-testInsect;9 F8 \; S8 L1 v; K
error_sum=sqrt(absTestError(1).^2+absTestError(2).^2+absTestError(3).^2);+ M( _: n3 e) F' I5 _  e
All_error=[All_error error_sum];
+ r5 D' y$ v* z  p: E$ `( O7 ~eps=90;%其为3组测试数据的标准差,或者每个数据偏差在一定范围内而判别. {' g3 T4 i- k2 H; h
if ((abs(absTestError(1))<=30 )&(abs(absTestError(2))<=30)&(abs(absTestError(3))<=30)|(error_sum<=eps))
7 I8 f- {- |; |' `* `save mynetdata net) k8 b% W5 Q; [2 s
     break
9 }7 V5 f$ _6 b  {: j( K' }+ Jend1 i2 A& I0 V0 G) ~
j
  d2 q6 B, J0 t6 l+ Pend
/ G% b- `% G7 D+ q: j问题是:4 J0 z1 s9 D, `0 d( A
if ((abs(absTestError(1))<=30 )&(abs(absTestError(2))<=30)&(abs(absTestError(3))<=30)|(error_sum<=eps))
- B9 H3 ?8 E( p. H- }# _: 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, 2026-4-10 14:34 , Processed in 0.431776 second(s), 63 queries .

回顶部