数学建模社区-数学中国
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
[打印本页]
作者:
Heavenright
时间:
2014-8-10 09:47
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
clc
" W8 W" y* I- C) j1 k* G. g& J+ ^
clear all
. X8 `5 r# [# k- o% d' r" g" a9 k2 D
a=[0 1.7219 5.026946
1 R# ]4 Y |3 S/ F; {& a6 I5 x
1 1.2257 5.092308
# B. I. w# k1 u' v
2 1.776 4.48
( z: O, h9 @$ A
3 2.7555 3.078846
0 a$ w* q2 ?5 l5 H; `
4 2.667 3.248899
) r, f% i# A% l7 Z2 ^/ j
5 2.5951 3.078333
9 p' B- }( e8 b. d" C
6 2.4764 3.03
# o) q0 ~' h6 i
7 2.9587 3.11
0 ^& G9 k& M' H: Z1 n3 B( G
8 3.0508 2.959113
: u) F+ i+ T/ Q' T. L5 d
9 3.4656 2.609524
3 r; J& \$ Z4 ]3 W$ s
10 3.144 3.3125
( Z% ~2 _0 q* }' ]# p4 e" n
11 1.875 3.333333
" ? ]8 B, s8 Z7 e- P: R' T
12 1.152 3.86
3 f3 `4 n$ w( H6 J R2 }. O- B
14 1.03 5.25
$ Y& `2 b* y8 K2 ?- g: Y
16 0.18 4.4
2 t R+ j$ {( T; O* ~0 P
20 5.28 1.7
) k, l7 ~5 S3 z( a
21 2.84 3.8
5 g! `; V1 M: W+ H4 r
22 3.3663 3.0625
" [' a) E) X! _9 b
23 4.0619 2.832787
3 [* L5 W; q7 N1 q* a# S* G' [3 U
24 3.5945 2.82963
- ~- G7 I; V% _5 K
25 3.3912 2.518966
* o/ o0 j: L3 M6 s6 E
26 3.2431 3.354167
0 S) d$ o: E8 Z' f+ ? l
27 2.46 2.9
9 g% `: U+ y. {( ~
28 2.76 4.2
, p6 }4 w* w( ^. Q
29 2.508 3.94
4 p. I3 O; D+ Y% _/ N k
37 7.825 3.325
. y' W- V# q+ b
38 3.14 2.964286
7 m8 ?7 k4 B. i6 O) X$ T
39 4.2731 2.710204
% i$ Z* j6 |# {3 S, T
40 3.9198 2.739286
% R% V' ]6 |+ f- _2 o
41 3.4965 3.062963
U# e: N* p: c/ t; B% p
42 1.78 3.327273
7 N, c D' X% H2 u& l4 U! Y2 ~
43 2.6033 4.4
0 S& T2 e. ~( q2 D0 n9 C# u& o8 e) A
44 2.68 2.7
. ^ o: ~. @$ F! l9 T5 X
45 3.2 4.3
, ?3 }4 X6 A" S0 [$ C
46 2.804 4.266667]
$ ~9 `) |/ T9 d( O
. Y) F1 H$ p0 i4 r1 L; k5 ]$ a
x=a(:,1);
4 V% A3 ^9 |; w. B' Z
y1=a(:,2);
7 q1 G0 W6 o# P" t. A7 [. T
y2=a(:,3);
# D% S0 @+ s0 B
%预测47-50周的浓度
% f' h! |% u/ B
%数据预处理
& T5 r& z f! t. j0 g
x=x';
0 {1 U! }+ u+ Y( w% J5 w* d9 t
y3=1.7415+0.4041.*x-0.0637.*x.*x +0.0037.*x.*x.*x-(8.36*10^(-5)).*x.*x.*x.*x + (6.39*10^(-7)).*x.*x.*x.*x.*x;
: _& |$ n/ S9 b0 L$ ] z* v1 w
net=newff([0,50],[6,1],{'tansig','logsig'});
2 M( _" T: B( w9 D
net.trainParam.epochs=1000;
2 j$ N d0 C# H9 N9 g
net=train(net,x,y3);
# W5 G2 B8 N" ^ w8 b; B8 P! s
x0=x;
: \/ g) p; ~, H, p
figure(1)
4 S+ ^+ b, y7 t8 s% n3 [* [, r! l1 R
y4=sim(net,x0);
# _ l9 _/ @& {2 J3 d2 K. D
plot(x,y3,'o', x0,y4,'r')
* O: J- X n( h$ G) X3 A
%为甚么神经网络拟合出来的结果都是1
+ x; B8 I1 ]: }/ E. N
作者:
Heavenright
时间:
2014-8-10 09:49
求帮忙解答下,谢谢啊
作者:
MCR董事长
时间:
2014-8-10 10:32
输出层如果为logsig,输出的最大范围就是[-1,1],改为purelin试试
作者:
狼之魂汪洋
时间:
2014-8-11 08:38
好东西,大家分享
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5