数学建模社区-数学中国
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
[打印本页]
作者:
Heavenright
时间:
2014-8-10 09:47
标题:
为甚么我用神经网络进行曲线拟合,拟合出来的结果都是1,与原函数相差太大啊,代码...
clc
; ~8 \ R( I" ?8 j
clear all
# ^, A' \7 A6 k, f5 t- g- Y
a=[0 1.7219 5.026946
# @& ^" q% F4 B; v
1 1.2257 5.092308
' `9 h* _( R% T1 D
2 1.776 4.48
/ P' ?% u8 _4 q/ c$ Q0 x4 V1 J
3 2.7555 3.078846
5 K9 k! k( Y, D! K7 b
4 2.667 3.248899
; E& k2 C; t+ d2 u9 ?& A
5 2.5951 3.078333
( ^7 K7 @& M, A+ _7 |& y, L
6 2.4764 3.03
7 M( a; |& H' W; l4 D
7 2.9587 3.11
7 _) C( ^1 W s& h, z" g0 _& r
8 3.0508 2.959113
+ I4 _5 h3 g+ k
9 3.4656 2.609524
( G h7 @6 `7 h0 A# G5 H/ m
10 3.144 3.3125
. Y4 R; F( g7 S" H
11 1.875 3.333333
" J7 Q' {5 a9 C* F3 x% a
12 1.152 3.86
( [" }. E% p' y5 n( r
14 1.03 5.25
7 R" ^: D; q {/ B }0 J' f! C6 K
16 0.18 4.4
+ A4 r) A. ^9 m! h8 A2 s
20 5.28 1.7
3 b7 H, o: _* E) ?
21 2.84 3.8
' R, i! W1 S* c7 c/ a
22 3.3663 3.0625
. F6 z( X9 q4 } F) \
23 4.0619 2.832787
0 {- ~" j+ M/ l/ m4 K4 M! C
24 3.5945 2.82963
* f! _0 l- g4 {" F# @
25 3.3912 2.518966
1 Q4 x. W! y1 b. z6 _
26 3.2431 3.354167
4 [: d, z) D) }5 `! A2 ?! z
27 2.46 2.9
7 {, @1 w$ B6 p) G* L7 M
28 2.76 4.2
6 V( @4 X _0 P$ C! I8 F
29 2.508 3.94
, L/ K2 K1 Z7 x( o
37 7.825 3.325
* e6 J0 U( {" j% h
38 3.14 2.964286
/ I J: s l6 `8 h2 \* d. A
39 4.2731 2.710204
7 }2 b7 Z m+ u- c% o
40 3.9198 2.739286
- f8 u+ V7 A" _# P. i
41 3.4965 3.062963
# I+ r" P o6 h0 b
42 1.78 3.327273
6 l' E& {! V1 q+ ]6 f
43 2.6033 4.4
. S: i: H8 H5 c/ y+ }7 N( H; K
44 2.68 2.7
0 k# ~% o% d5 t/ [8 i1 x* G
45 3.2 4.3
6 U7 E& D; ~( _7 g7 T% Y. J
46 2.804 4.266667]
4 |# r' _+ \6 L4 [% b
4 O7 S; L8 E4 p! m
x=a(:,1);
/ c7 I5 x, b$ j
y1=a(:,2);
) w: H, b1 _( F2 ]: n. v& Z
y2=a(:,3);
7 r& E& h. {+ F
%预测47-50周的浓度
8 v, F$ \# P* s
%数据预处理
( ?5 e0 T7 E# ~/ P% Y/ y
x=x';
& I! W; J( [4 z/ D( p
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;
2 y# `/ [+ Q. L8 r t( K0 b
net=newff([0,50],[6,1],{'tansig','logsig'});
- Y* L h4 C) t9 ?7 F [
net.trainParam.epochs=1000;
3 ?# M* q1 c, o8 a6 h: i
net=train(net,x,y3);
% P8 p# c" B& B t6 W9 D
x0=x;
- ~& d3 Z/ t% U3 {$ V
figure(1)
' V. G9 {) `" b' e( }
y4=sim(net,x0);
7 b0 U9 s! F/ d7 i1 r, b1 F
plot(x,y3,'o', x0,y4,'r')
9 o5 L" |" k+ H& @$ m; `
%为甚么神经网络拟合出来的结果都是1
. G* a- ], c2 M, ^+ [% l: A
作者:
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