数学建模社区-数学中国

标题: bp神经网络原理简介及matlab程序 [打印本页]

作者: deerli    时间: 2010-1-12 12:14
标题: bp神经网络原理简介及matlab程序
虽然水平有限,但还是想写出来,望大家给些建议。并对于其中参考的资料作者表示感谢。6 E$ Z$ A9 u% H7 j
很多地方仍不是很清楚。请高人指点下,先谢了!
" Y! a7 D' H( S7 j% w6 A% s& ~(1)编写出的很多系统都不是特别稳定,不知是数据问题、传递函数问题还是节点数量问题。有没有一定的规则?, ?7 H1 y  Q; c+ T7 G2 ~
(2)怎样从matlab训练过程中观察net的结构和学习率设定是否合理?
1 U3 z2 r6 i; m4 f(3)net的结构中,隐层数量的增加(如从1层变为2层)会对网络产生什么样的影响?

bp神经网络.doc

356 KB, 下载次数: 305, 下载积分: 体力 -2 点


作者: 彩虹天堂    时间: 2010-1-12 12:52
回复 1# deerli / r; g; k1 h7 G' L

( G1 o* P5 v2 |( r1 n" J: l+ ?$ o; Y  r8 r
    不知道
作者: hanshaoping    时间: 2010-1-28 09:53
为了矩阵币让我刷下 !!!!!!!!!!!!!!!!!!
作者: hanshaoping    时间: 2010-1-28 09:53
不错的东西,下来慢慢研究!!!!!
作者: 王迪_88    时间: 2010-1-28 11:25
这个东西貌似很难,放弃了~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: Evam    时间: 2010-1-29 23:54
好难啊6^^^^^^^^^^^^^^^^^^…………………………
作者: hupanfeng    时间: 2010-2-18 15:48
谢谢楼主~~~~~~~~~~~~~~~~~~~~~~~~~
作者: tears2010    时间: 2010-4-26 17:41
回复 1# deerli 1 \/ |) R3 X# j2 S& H  `
2 k* V) |% ?6 y" O4 P; H

% K4 L3 O1 ^+ @    我也在做这个,慢慢研究研究。
作者: viayy    时间: 2010-5-5 12:46
什么时候我才是小学生呢,这个我也研究神经网络模式识别的
作者: 轻舞飞shy    时间: 2010-5-17 14:28
谢谢楼主分享啊,不错,学习中…………
作者: w117950089    时间: 2010-5-20 12:30
rqw rwrq wr wqr qwrwqr wrw qrwqrwqrwqrwqr
作者: nicefall    时间: 2010-6-7 13:50
顶个先。谢谢楼主!2 P+ D) B/ C( I  s! j) r# o

作者: 347196468    时间: 2010-8-14 21:16
%获得网络的输入样本P和目标样本T8 ~& w) C( K; Q/ g) e2 A' }
: {1 z. n/ p4 E/ x: h* D, t& |P=[1 0.6 0.1 0 0 0 0   1 0.5 0 0 0 0 0;4 K3 v* b+ @: I" G2 C& ?2 S& z
& Q" @; z& w# v1 0.6 0.1 0 0 0 0   0 0.5 1 0.4 0 0 0;9 |( R: l2 i; {7 p. o2 J% m
! i4 u; ~/ a6 X/ `" G1 0.6 0.1 0 0 0 0   0 0 0 0.4 1 0.6 0;3 q6 X6 U( ~+ v9 K$ j  I
) A, ^* Z% o  j1 0.6 0.1 0 0 0 0   0 0 0 0 0 0 0.8;) W( b  h! d6 V3 J9 O& b$ l0 \  H& s  A5 A$ ~
0 0.6 0.6 0 0 0 0   1 0.5 0 0 0 0 0;; G6 ?) Q# P: @. f4 i& c
- e; s7 d  h& H) ?7 J2 \" W0 0.6 0.6 0 0 0 0   0 0.5 1 0.4 0 0 0;$ N  F( j  A$ |- d1 k$ G/ K+ k" Y; Q! p# T8 s3 H* u' t+ B! L% S
0 0.6 0.6 0 0 0 0   0 0 0 0.4 1 0.6 0;( u/ C; h4 `# Y6 E! v
6 Q* |! h# _4 H2 z2 U6 _0 0.6 0.6 0 0 0 0   0 0 0 0 0 0 0.8;% V, f5 |% e2 r3 ^& D
" Z6 [$ q3 L9 N2 t9 y6 I; A# I& K0 0 0.6 1 0 0 0    1 0.5 0 0 0 0 0;
* m8 g$ w* F9 K; }1 i. ?6 {+ s/ }$ }2 u' J' O& Y0 0 0.6 1 0 0 0    0 0.5 1 0.4 0 0 0;
5 V  _+ \: a0 P$ t/ i# V' y- F! J/ [, B* f0 0 0.6 1 0 0 0    0 0 0 0.4 1 0.6 0;" h( s# ?% u' g$ h* X
& z9 m" N) U  U( |+ b0 0 0.6 1 0 0 0    0 0 0 0 0 0 0.8;
- O0 y2 e& n2 `* ?9 Y) ]/ m) b% l- _7 x- i' b" f* G5 P- G0 0 0 0 1 0.6 0    1 0.5 0 0 0 0 0;! p$ q8 S1 V+ @9 t7 i. o+ c1 K% w: V* q( R
0 0 0 0 1 0.6 0    0 0.5 1 0.4 0 0 0;5 e* _9 w. i: p' ]; U. H+ K# f- N. \' Z: d9 A) I! h+ ~
0 0 0 0 1 0.6 0    0 0 0 0.4 1 0.6 0;  ^9 S7 i) L" N1 r+ {0 g& I& i! L# u+ J2 W
0 0 0 0 1 0.6 0    0 0 0 0 0 0 0.8]';/ Q' c' j* D1 Y9 w. a5 [1 v5 u& W0 J2 h& x1 o5 p
T=[1 0.5 0 0 0 0 0 0;+ F, _7 y% q  B" Z+ f3 C& ]3 ^) Y9 n* A$ r& x
0 0 0 0.2 0.6 1 0.6 0.2;4 r4 C$ G0 a0 f) [9 O! P- Y' F
' M5 N0 I, R/ x! D0 |1 g0 0 0 0.2 0.6 1 0.6 0.2;2 F- g1 H, Q6 j1 {  Y
" }6 B  \; R) F% C; b1 p, q+ i( O0 0 0 0.2 0.6 1 0.6 0.2;
* r' S3 }2 ^7 I% D6 e/ B1 ^( h6 V) |0.4 0.8 1 0.8 0.4 0.2 0 0;
. J3 N7 B: k5 H: Z' d7 \5 T3 a2 B) k  h1 k7 Z/ Y! w( R  I* }0 0 0 0.2 0.6 1 0.6 0.2;/ y8 U  A! f( O( H( m" Q! Y5 C* a4 G' h7 }" g6 E# K2 t# ^9 n
0 0 0 0 0 0.2 0.5 0.8;( r5 Z: Y8 ?  A: M- W
) a8 J+ Z, ~8 {1 q3 Y! `( g0 0 0 0.2 0.6 1 0.6 0.2;
3 P9 Y2 x7 r! f" D6 s2 P- E1 M8 K8 Y) ?/ M- m0 0 0 0.2 0.6 1 0.6 0.2;( K1 W& p9 b7 r6 a7 [; a' S* {( O7 W9 G' V' U( K$ H
0 0 0 0.2 0.6 1 0.6 0.2;
. y) l. H) ]7 \0 A" D: _4 m6 e3 Y* J! u( n. u3 U0 0 0 0 0 0.2 0.5 0.8;5 ], @8 L; t& S! S8 d3 g  Z
. e2 {, q! g& u! D* o) @! t( l4 Z0 0 0 0 0 0.2 0.5 0.8;5 }/ y1 N  S, m# m, Z
; S4 _( @! r9 k3 d8 }( ^0 0 0 0.2 0.6 1 0.6 0.2;, Q& Q; h+ \' @+ D9 W, _6 t1 }7 d) ~2 f. ~+ a% g
0 0 0 0.2 0.6 1 0.6 0.2;% a& I% x. Y* b! S3 Z+ P8 `( R$ ?: E2 W
0 0 0 0 0 0.2 0.5 0.8;
  }4 I" |  T3 a+ P/ p/ E8 m; M+ J5 J' ?6 ?* Z0 k: e# x0 0 0 0 0 0.2 0.5 0.8]';- t6 e5 B+ g& }' U% h
( x0 l- }8 I4 t* e%根据Kolmogorov定理,输入层有14个节点,所以中间层有29个节点$ f5 v3 N( Z/ H
+ H4 X$ y$ P7 J  C/ S7 g%中间层神经元的传递函数为'tansig'% u3 O5 }9 \2 p9 V+ t! [6 v. F  [1 d
4 F  _$ S% C' Z& c% }) G# y/ ~%输出层有8个节点,其神经元传递函数为logsig' @7 u: k+ A- Y/ I
, \; `2 P* v% b( k0 h- u7 H6 H) `%训练函数采用traingdx
- Q0 }' B( G# f* I/ ~0 C& m3 c0 \* Nnet=newff(minmax(P),[29,8],{'tansig','logsig'},'traingdx');- ?/ b# _# j0 f* p8 n" w/ h" V7 B) p0 Z* v( D' g
%训练步数为1000次" ?8 _& L' `% A% T; |1 ?6 e2 y) u  o: `  P: B
%训练目标误差为0.001
& f5 h% T2 u' t* T0 U( @5 t  ]! [) p+ D+ cnet.trainParam.epochs=1000;* |  r9 y5 [5 H2 N5 i+ Q6 @
0 c- p" W9 }; Z7 h8 ~7 L& h( anet.trainParam.goal=0.001;
0 e1 |/ x8 m8 u; H% t7 b: r8 W, G9 O+ i5 {* Lnet=train(net,P,T);; \7 P2 W, `. E+ h, o/ B# I1 l) M) L- a1 t" p* ~+ k: o! e
Y=sim(net,P);+ ?$ J1 h0 ~% l3 g5 n& n, i( e$ L
: ]' a& `$ b' K& z& a%求训练值在每一个点上的误差: \5 F' N/ k7 o
' O3 s5 v3 |1 t- X+ X; ~1 d' ^for i=1:16
3 b6 ^$ g% K. {& N3 o3 K1 ?7 O: ~- Z8 B* m8 \- W: _! N/ j    x(i)=norm(Y(:,i));
9 A; ?, @* |- l- {4 I5 o( Z9 A; [  n* ^* P% e
作者: zeta    时间: 2010-9-9 17:09
谢谢楼主~~~~~~~~~~~~~~~~~~~~~~~~~
作者: camel888    时间: 2010-10-28 09:32
  我也在做这个,慢慢研究研究。
作者: dingsw    时间: 2010-11-11 09:05
刚开始学,非常需要,谢谢
作者: qbx123    时间: 2010-12-12 18:48
我也在做这个,慢慢研究研究。
作者: mutou1991    时间: 2010-12-14 18:49
谢谢楼主了
作者: 星空☆_畅想    时间: 2011-3-17 15:13
太不厚道了,还要扣分。哎
作者: 筱之之园    时间: 2011-3-26 13:00
分享,研究中
作者: 谁丶渲染年华    时间: 2011-3-28 13:51

作者: ohyeszq    时间: 2011-5-5 16:39
zhengzaizhao xiexiefenxiang
作者: studyzfr    时间: 2013-7-2 19:33
试看看~~~~~~~
作者: 追梦狮者    时间: 2013-8-29 16:31
一起研究研究啊,初级a
作者: 狼之魂汪洋    时间: 2014-8-5 09:33
不知道,,,,,,,,,,,
作者: charles.Liao    时间: 2014-8-5 16:31
看看  顶楼主




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5