数学建模社区-数学中国
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是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 U
a=[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.078846
8 }" ^* 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; G
9 3.4656 2.609524
: U5 ?1 \: W# l7 `. k' V& I9 g
10 3.144 3.3125
- g( S$ K* l1 A3 p" x
11 1.875 3.333333
5 T/ ~/ ]2 _, V0 K8 ~
12 1.152 3.86
# d* G" w' \. h# f/ I0 D7 k, h
14 1.03 5.25
4 c3 c% Y5 R/ ?: i
16 0.18 4.4
- x9 v, @3 r k* Z% ^
20 5.28 1.7
5 U1 p+ W) \ u0 U- G% [4 ^9 U
21 2.84 3.8
; a4 J4 ^# _. O( \3 ]& m
22 3.3663 3.0625
5 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 G
25 3.3912 2.518966
: c, `; P) g& J$ V5 b3 S6 k }
26 3.2431 3.354167
' s7 c: u) n: D( l' Z
27 2.46 2.9
7 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 c
37 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 T
40 3.9198 2.739286
- Z1 C% V4 N2 w' k; p
41 3.4965 3.062963
* w6 [2 T( X0 ~6 r: t+ r$ ?
42 1.78 3.327273
1 F2 i# g2 P' F& i' O+ Y4 x
43 2.6033 4.4
3 d& f) V8 C% c6 U
44 2.68 2.7
. T0 U# J3 D; J/ b
45 3.2 4.3
$ {$ i& N; ~! s. w$ L2 y2 l
46 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% O
y2=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# g
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;
$ 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 L
x0=x;
, E( G; Z% r; P% F) y: X, D
figure(1)
; ]2 a# [- @1 H1 q q
y4=sim(net,x0);
0 g- m& P [7 }2 V; m
plot(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