数学建模社区-数学中国

标题: 为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码... [打印本页]

作者: Heavenright    时间: 2014-8-10 09:47
标题: 为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
clc+ z) }6 _+ n& S6 M* C4 {7 v
clear all
/ Z. @3 W6 Y& }8 W$ Z: ], F6 Ua=[0        1.7219        5.026946% N' s; c; X- D% v! \. `$ M
1        1.2257        5.092308, Y$ f0 n+ M& x" G+ y0 E4 Q5 g
2        1.776        4.48
0 P5 C8 {- y/ ~3        2.7555        3.0788468 }" ^* T7 X* c
4        2.667        3.248899
8 Y3 @) h0 @6 ?* A# x+ z& F& ^5        2.5951        3.078333+ M) w1 n6 O( w( s( f
6        2.4764        3.03( _% m% P' d) R- {8 T
7        2.9587        3.11, ~( F- d. c6 Y/ ?: K8 f
8        3.0508        2.959113
- B, E# W' R+ d3 i, p; G9        3.4656        2.609524: U5 ?1 \: W# l7 `. k' V& I9 g
10        3.144        3.3125
- g( S$ K* l1 A3 p" x11        1.875        3.333333
5 T/ ~/ ]2 _, V0 K8 ~12        1.152        3.86
# d* G" w' \. h# f/ I0 D7 k, h14        1.03        5.25
4 c3 c% Y5 R/ ?: i16        0.18        4.4- x9 v, @3 r  k* Z% ^
20        5.28        1.75 U1 p+ W) \  u0 U- G% [4 ^9 U
21        2.84        3.8; a4 J4 ^# _. O( \3 ]& m
22        3.3663        3.06255 g" P0 e) l1 W* e$ `+ x
23        4.0619        2.832787
7 W8 e& n. |, R4 o0 a4 `( t3 ~24        3.5945        2.82963
0 p; e) h* ^" M8 d! ^* l0 G25        3.3912        2.518966
: c, `; P) g& J$ V5 b3 S6 k  }26        3.2431        3.354167
' s7 c: u) n: D( l' Z27        2.46        2.97 b9 X: g5 |1 T0 c, Q
28        2.76        4.2& d- D6 y$ s# j2 \
29        2.508        3.94
. E; C% U" t8 c37        7.825        3.325& F: Z, U/ ~8 q* {+ N1 y! S
38        3.14        2.964286; C5 H9 o% u( k- m" O2 o# C
39        4.2731        2.710204
# |5 v$ L2 ]+ I9 E: Z, S" H0 j2 T40        3.9198        2.739286
- Z1 C% V4 N2 w' k; p41        3.4965        3.062963* w6 [2 T( X0 ~6 r: t+ r$ ?
42        1.78        3.3272731 F2 i# g2 P' F& i' O+ Y4 x
43        2.6033        4.43 d& f) V8 C% c6 U
44        2.68        2.7
. T0 U# J3 D; J/ b45        3.2        4.3
$ {$ i& N; ~! s. w$ L2 y2 l46        2.804        4.266667]
. i- |7 ~" T6 ^1 p. l* W4 d2 b& d: ?% v
x=a(:,1);$ d# j+ J' s/ {, u& M) M2 }0 ?4 H
y1=a(:,2);
& K# K9 F! U% _/ c/ G% Oy2=a(:,3);
: M, q& k' A: b) [2 d* `  e! Y%预测47-50周的浓度
5 L& t8 o# u  a- p# O%数据预处理8 }; N) O  W7 T1 a9 ^+ m, a. l
x=x';
& Y! P3 {+ x& H* Z# gy3=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; $ Q! _/ V: {# W* d' z
net=newff([0,50],[6,1],{'tansig','logsig'});6 B1 g4 U; s5 b9 g
net.trainParam.epochs=1000;$ w: H  I& y0 U' z7 ?$ _4 z6 K
net=train(net,x,y3);
4 d0 K# A2 B* a8 r8 C9 Lx0=x;, E( G; Z% r; P% F) y: X, D
figure(1)
; ]2 a# [- @1 H1 q  qy4=sim(net,x0);
0 g- m& P  [7 }2 V; mplot(x,y3,'o', x0,y4,'r')
  h! X. q+ c- J% y  @, g  _" `. r! g%为甚么神经网络拟合出来的结果都是1. p9 r3 P9 K2 B# i

作者: 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