数学建模社区-数学中国
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
[打印本页]
作者:
Heavenright
时间:
2014-8-10 09:47
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
clc
6 y, p) k$ _) j, h2 k6 O
clear all
- c( q1 H+ Q* Q' I7 f
a=[0 1.7219 5.026946
0 g4 A+ v/ v* X3 z: x( F
1 1.2257 5.092308
6 {7 r8 [0 F. m6 Z, D% K+ }5 ]7 C
2 1.776 4.48
8 a- w6 \" v2 W! R7 ~0 D! C; D
3 2.7555 3.078846
" K7 w. J( k+ I( o; r& H
4 2.667 3.248899
* n' h9 e: n" Y; W4 I1 Q
5 2.5951 3.078333
: c' |! I% x& z% b
6 2.4764 3.03
! C- M. E$ I3 w* E8 m, z
7 2.9587 3.11
; P: S9 d/ z4 t( o* \7 s' Y) V9 Z
8 3.0508 2.959113
8 w! J2 b! H' O6 _4 }
9 3.4656 2.609524
' r0 f( _2 c% F* f3 @; U2 G0 z
10 3.144 3.3125
0 i% Y0 C- M* [# Z' K) [* q$ Q# T
11 1.875 3.333333
8 ~+ K w: ]. C( Z C
12 1.152 3.86
* B, O/ |$ ~9 `, R
14 1.03 5.25
3 V# m( r2 T' I) T5 J
16 0.18 4.4
* g- y; c" @: c" i5 p/ Y8 J
20 5.28 1.7
' U5 c$ I3 `; {6 B- A Z% [
21 2.84 3.8
, x) f+ @! w( N1 T7 @ [1 K9 k
22 3.3663 3.0625
. [7 [8 T6 W" H2 z+ P5 ]
23 4.0619 2.832787
, i8 d% e+ W1 |& ^5 l v" c+ r+ A
24 3.5945 2.82963
, L% a7 u ~* _! M0 X) Y
25 3.3912 2.518966
2 Y. f S+ Z% x) L2 g4 d$ E
26 3.2431 3.354167
" m8 t4 l+ Z) v% v
27 2.46 2.9
& Z$ F2 I J! s8 _$ c
28 2.76 4.2
1 `$ v5 I/ w- y/ b9 f
29 2.508 3.94
8 O% ~- I- y' k& ?
37 7.825 3.325
: s) ?2 O; ~* Z2 t* p1 M' M+ B. v/ A
38 3.14 2.964286
~& k& r3 S9 L, @" e' L
39 4.2731 2.710204
! u3 e$ ^) e5 q ^2 N: c
40 3.9198 2.739286
0 j* E3 \! f$ ~/ Q
41 3.4965 3.062963
: a3 E* D1 l6 `: W' A
42 1.78 3.327273
, G% ~( b4 }: y& ?
43 2.6033 4.4
. o7 I& S" k0 m2 V/ n8 o4 ~
44 2.68 2.7
, t5 q! e* D4 ]) J' r$ r. c
45 3.2 4.3
# K, X. X; c: O( l6 p
46 2.804 4.266667]
' Z% y6 Q& H1 C+ M8 W2 a0 B9 ^
% i& r0 ^8 }8 g6 R2 K( Y
x=a(:,1);
9 U: \& ~1 t$ `$ a# G! |9 h* W
y1=a(:,2);
0 h1 {4 a6 d- Q# u& y9 [
y2=a(:,3);
' d R* w$ y' e
%预测47-50周的浓度
# I( j8 b$ Y; ^7 O0 f4 A7 z) O# w
%数据预处理
; z' S7 D) j% p7 T0 Y; F6 S
x=x';
+ y' a& T6 f9 ] C% ]" m
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;
" `' m: I/ w0 a* i7 C7 \ ~
net=newff([0,50],[6,1],{'tansig','logsig'});
2 I$ k I$ b' v$ Y% B# O
net.trainParam.epochs=1000;
7 v, I7 e2 b/ `# L
net=train(net,x,y3);
: n2 l1 |1 [2 b% N4 X
x0=x;
; ^/ U& |: s8 T! y8 @1 O( K0 O+ A& m
figure(1)
, Q: a9 K* h3 M3 ~3 U! N
y4=sim(net,x0);
: W# J" _7 y; W6 M
plot(x,y3,'o', x0,y4,'r')
( T$ L4 x7 R# \7 ~4 d, `" K
%为甚么神经网络拟合出来的结果都是1
7 f5 y3 M7 p( u3 D+ d. {
作者:
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