数学建模社区-数学中国

标题: 为甚么我用神经网络进行曲线拟合,拟合出来的结果都是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.0269461 R# ]4 Y  |3 S/ F; {& a6 I5 x
1        1.2257        5.092308
# B. I. w# k1 u' v2        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.0783339 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( G8        3.0508        2.959113: u) F+ i+ T/ Q' T. L5 d
9        3.4656        2.609524
3 r; J& \$ Z4 ]3 W$ s10        3.144        3.3125
( Z% ~2 _0 q* }' ]# p4 e" n11        1.875        3.333333
" ?  ]8 B, s8 Z7 e- P: R' T12        1.152        3.863 f3 `4 n$ w( H6 J  R2 }. O- B
14        1.03        5.25
$ Y& `2 b* y8 K2 ?- g: Y16        0.18        4.4
2 t  R+ j$ {( T; O* ~0 P20        5.28        1.7) k, l7 ~5 S3 z( a
21        2.84        3.85 g! `; V1 M: W+ H4 r
22        3.3663        3.0625
" [' a) E) X! _9 b23        4.0619        2.8327873 [* 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 E26        3.2431        3.354167
0 S) d$ o: E8 Z' f+ ?  l27        2.46        2.99 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  k37        7.825        3.325. y' W- V# q+ b
38        3.14        2.9642867 m8 ?7 k4 B. i6 O) X$ T
39        4.2731        2.710204
% i$ Z* j6 |# {3 S, T40        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.3272737 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) A44        2.68        2.7. ^  o: ~. @$ F! l9 T5 X
45        3.2        4.3
, ?3 }4 X6 A" S0 [$ C46        2.804        4.266667]
$ ~9 `) |/ T9 d( O
. Y) F1 H$ p0 i4 r1 L; k5 ]$ ax=a(:,1);
4 V% A3 ^9 |; w. B' Zy1=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 Dnet.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 Ry4=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