QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

27

积分

升级  23.16%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2009-9-10 00:20 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
神经网络预测1 T. A8 d0 p2 [+ f! {
% 数据为1986年到2000年的交通量 ,网络为3输入,1输出
% n( u7 ?3 X9 ]9 ^9 [3 X& w% 15组数据,其中9组为正常训练数据,3组为变量数据,3组为测试数据- x$ E0 ~( j3 }1 n' x( B2 V' X
%by akjuan6 |& U! ~, t( z# B9 ]( T2 U
%all rights preserved by www.4math.cn6 P$ Y# w9 R: D1 I+ T
All_error=[];%所有误差存储. u) `: K$ j/ A/ A3 k3 d- w6 d
year=1986:2000;%数据是从1986到2000年的. O5 ^1 |$ E2 C9 @5 }+ v8 ^
p=[493 372 445;372 445 176;445 176 235;176 235 378;235 378 429;...
$ f/ h4 q  k$ V3 Z$ r   378 429 561;429 561 651;561 651 467;651 467 527;467 527 668;...) M" p- u/ k* O6 ?/ q1 G
   527 668 841; 668 841 526;841 526 480;526 480 567;480 567 685]';%输入数据,共15组,每组3个输入( }1 z2 b3 \) a3 Q3 A; j/ R5 W8 a& q% D" Q
t=[176 235 378 429 561 651 467 527 668 841 526 480 567 685 507];%输出数据,共15组,每组1个输出$ |- q$ \3 T3 L$ X" T
[normInput,ps] = mapminmax(p);, ?) I( N! {: e9 c
[normTarget,ts] = mapminmax(t);
% y8 Z# L4 a9 ltestPercent = 0.20;  % Adjust as desired" R9 D7 Q) R; P8 \
validatePercent = 0.20;  % Adust as desired. e) T8 L3 z' d
[trainSamples,validateSamples,testSamples] = dividevec(normInput,normTarget,validatePercent,testPercent);
; z3 ?# r5 Q- Lfor j=1:200
& U* a1 r/ e% C+ D5 XNodeNum1 = 20; % 隐层第一层节点数
& x) [, Z2 K, T* Z2 t  aNodeNum2=40;   % 隐层第二层节点数
8 p1 U1 h# y# C+ \+ mTypeNum = 1;   % 输出维数
! I1 O- w% \! Y$ ~; l1 S. e  O/ Z* iTF1 = 'tansig';TF2 = 'tansig'; TF3 = 'tansig';
9 d, P9 w# B9 N0 Bnet=newff(minmax(normInput),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx');%网络创建net.trainParam.epochs=10000;%训练次数设置
/ H7 s+ I3 |0 I# T% Dnet.trainParam.goal=1e-6;%训练目标设置7 G0 A  m; P- V) S* G$ |
PL.lr=0.01;net.trainfcn='traingdm';
' f0 D: K! g; [/ Q[net,tr] = train(net,trainSamples.P,trainSamples.T,[],[],validateSamples,testSamples);
1 O& L6 ?5 G# F  E[normTrainOutput,Pf,Af,E,trainPerf] = sim(net,trainSamples.P,[],[],trainSamples.T);%正常输入的9组p数据,BP得到的结果t3 C  O* y$ {+ B$ n, J0 ?( P
[normValidateOutput,Pf,Af,E,validatePerf] = sim(net,validateSamples.P,[],[],validateSamples.T);%用作变量3的数据p,BP得到的结果t: p9 ?( H5 A5 Z$ q* }- i0 G
[normTestOutput,Pf,Af,E,testPerf] = sim(net,testSamples.P,[],[],testSamples.T);%用作测试的3组数据p,BP得到的结果t5 G/ G* }0 l% k/ h+ ]% B
trainOutput = mapminmax('reverse',normTrainOutput,ts);%正常输入的9组p数据,BP得到的归一化后的结果t* [: k4 n9 }: A% F* A( o6 _9 x
trainInsect = mapminmax('reverse',trainSamples.T,ts);%正常输入的9组数据t
: K& W, c5 G5 r5 u4 _$ L7 }7 RvalidateOutput = mapminmax('reverse',normValidateOutput,ts);%用作变量3的数据p,BP得到的归一化的结果t
- Q/ d# d* {" }( ^% n5 yvalidateInsect = mapminmax('reverse',validateSamples.T,ts);%用作变量3的数据t
4 _! i& q: Z; ?testOutput = mapminmax('reverse',normTestOutput,ts);%用作变量3组数据p,BP得到的归一化的结果t
& \( F7 ^6 E3 J# P# v* n' NtestInsect = mapminmax('reverse',testSamples.T,ts);%用作变量3组数据t  t: k& B4 P8 q2 Z
%绝对误差计算
+ Y5 l- w  h* C' L! X: ^0 a+ aabsTrainError = trainOutput-trainInsect;6 I; U$ J. Y% j
absTestError = testOutput-testInsect;: c4 D4 h2 G& T( y
error_sum=sqrt(absTestError(1).^2+absTestError(2).^2+absTestError(3).^2);& G3 t/ u; j, G  z% w; \- K* a& N
All_error=[All_error error_sum];
# j- O8 B9 a2 V% N# @eps=90;%其为3组测试数据的标准差,或者每个数据偏差在一定范围内而判别
- U9 p3 L: W( b( Cif ((abs(absTestError(1))<=30 )&(abs(absTestError(2))<=30)&(abs(absTestError(3))<=30)|(error_sum<=eps)), U* {$ h: j& c: F2 ?
save mynetdata net# t5 w5 F0 `6 X! R5 O( e+ a$ K
     break
3 h8 i, s$ N) M& s8 g9 Aend) U- R2 f+ {- q0 q& o8 x: x
j
6 J3 [% }/ Y' k4 A" Yend
% {' B- k  F% R/ g  y" O问题是:5 ^  n/ a. ?* ?
if ((abs(absTestError(1))<=30 )&(abs(absTestError(2))<=30)&(abs(absTestError(3))<=30)|(error_sum<=eps))9 P% q$ k- O; J
中的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-30 23:35 , Processed in 0.510195 second(s), 64 queries .

回顶部