数学建模社区-数学中国

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

作者: deerli    时间: 2010-1-12 12:14
标题: bp神经网络原理简介及matlab程序
虽然水平有限,但还是想写出来,望大家给些建议。并对于其中参考的资料作者表示感谢。
& m1 F) J$ m  n" h( }! Q很多地方仍不是很清楚。请高人指点下,先谢了!
; E9 ^$ G, v# v9 L9 A* \(1)编写出的很多系统都不是特别稳定,不知是数据问题、传递函数问题还是节点数量问题。有没有一定的规则?! [. U: L' V% m) K; I, q! p) n1 F
(2)怎样从matlab训练过程中观察net的结构和学习率设定是否合理?
. [( ~! v8 E' {+ n# d% o(3)net的结构中,隐层数量的增加(如从1层变为2层)会对网络产生什么样的影响?

bp神经网络.doc

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


作者: 彩虹天堂    时间: 2010-1-12 12:52
回复 1# deerli
+ I! q- Q2 ^+ b7 R* F/ B- u  S! t, ?; q

& Y! u. q  o1 _6 l, u    不知道
作者: 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 + H6 C# V1 N1 ?
1 H8 K) d% a0 j- E$ Y5 d
. `! G2 J3 s4 L+ y; l
    我也在做这个,慢慢研究研究。
作者: 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
顶个先。谢谢楼主!
" |. |; i3 B1 C
作者: 347196468    时间: 2010-8-14 21:16
%获得网络的输入样本P和目标样本T8 ~& w) C( K; Q/ g) e2 A' }( j0 h# z5 h, e7 ]8 b- E" E) 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
( g8 t! T; J0 J% \$ A1 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% m2 J) d. b3 S0 m$ c: h
1 0.6 0.1 0 0 0 0   0 0 0 0.4 1 0.6 0;
8 G& H4 f7 B) I+ W, f1 h( K! k) 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
- ^6 |9 R1 z; x  [) Y3 N# N0 0.6 0.6 0 0 0 0   1 0.5 0 0 0 0 0;; G6 ?) Q# P: @. f4 i& c
5 V/ B! K4 B5 B% P7 J: O/ F% R4 w3 z* i0 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; Q2 I9 o9 X  ?) e1 p( J: U3 k9 L
0 0.6 0.6 0 0 0 0   0 0 0 0.4 1 0.6 0;% r4 u9 v  U3 B
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; e9 j6 I& X$ w: b$ r5 l/ q. C) G
0 0 0.6 1 0 0 0    1 0.5 0 0 0 0 0;
; H+ D$ x+ K, s9 w1 m, k% w+ s/ }$ }2 u' J' O& Y0 0 0.6 1 0 0 0    0 0.5 1 0.4 0 0 0;: @. K  ?  t, x6 C
# 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. E$ t; S7 @" {* W
0 0 0.6 1 0 0 0    0 0 0 0 0 0 0.8;
' x+ M, v6 x( x5 u/ ?8 E. Z- _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+ c
9 g. v0 l, j) O2 u0 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
6 W0 m( Z8 r3 j0 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
' y6 i3 n3 }+ G0 0 0 0 1 0.6 0    0 0 0 0 0 0 0.8]';/ Q' c' j* D1 Y9 w. a5 [
4 t+ p+ B; J! L. i. I$ t2 F6 P0 X$ KT=[1 0.5 0 0 0 0 0 0;+ F, _7 y% q  B" Z
6 ]; K" {6 i1 A% m/ N0 0 0 0.2 0.6 1 0.6 0.2;) o8 I6 b4 a3 L5 `' ^9 K
' 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  b- m7 ]" ]4 l: D) S
0 0 0 0.2 0.6 1 0.6 0.2;$ Z/ P* }' i5 H2 s
% D6 e/ B1 ^( h6 V) |0.4 0.8 1 0.8 0.4 0.2 0 0;
% V! G! v. Y  _! P8 R* u6 S4 G, F  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( m9 A0 V) d% X8 H. S. ]
0 0 0 0 0 0.2 0.5 0.8;
+ R+ ~0 O6 _: q, h4 }) a8 J+ Z, ~8 {1 q3 Y! `( g0 0 0 0.2 0.6 1 0.6 0.2;
( B- V5 H6 [% [# a2 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
# r* y" a: m2 M+ b9 e, a0 0 0 0.2 0.6 1 0.6 0.2;9 E0 R1 g; Y1 x5 o
4 m6 e3 Y* J! u( n. u3 U0 0 0 0 0 0.2 0.5 0.8;
, U  }  h- T9 R! \7 O6 H) K. 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
1 Z1 g5 n+ c" i, t5 w( ~3 F0 0 0 0.2 0.6 1 0.6 0.2;, Q& Q; h+ \' @+ D9 W, _6 t9 X3 F. L) q2 t# b7 W7 j- `
0 0 0 0.2 0.6 1 0.6 0.2;% a& I% x. Y* b! S3 Z8 @7 @3 \5 g) e: o
0 0 0 0 0 0.2 0.5 0.8;
6 E* S6 y) B7 s6 A! ]5 w$ ]; M+ J5 J' ?6 ?* Z0 k: e# x0 0 0 0 0 0.2 0.5 0.8]';
- f$ _+ L6 `2 @( x0 l- }8 I4 t* e%根据Kolmogorov定理,输入层有14个节点,所以中间层有29个节点$ f5 v3 N( Z/ H. {& x* M* d0 ?* _' s
%中间层神经元的传递函数为'tansig'
  h% a$ A0 o4 F+ l4 F  _$ S% C' Z& c% }) G# y/ ~%输出层有8个节点,其神经元传递函数为logsig4 ]  `9 L/ j+ Z( q# ?) C
, \; `2 P* v% b( k0 h- u7 H6 H) `%训练函数采用traingdx( E# U( [% ?9 O* N. C6 E, b
0 C& m3 c0 \* Nnet=newff(minmax(P),[29,8],{'tansig','logsig'},'traingdx');- ?/ b# _# j0 f* p8 n" w/ h" V
$ w) M) y1 u% L. s/ F%训练步数为1000次" ?8 _& L' `% A% T; |1 ?6 e
; r: Y0 G; ]8 S7 Z. M; O  }& A) w3 ]%训练目标误差为0.0017 N- Z3 |, `. |) I. B" K1 c
  ]! [) p+ D+ cnet.trainParam.epochs=1000;* |  r9 y5 [5 H2 N5 i+ Q6 @3 @: \) W/ ]% j+ }
net.trainParam.goal=0.001;
0 d: i: Z' Y- A/ _6 @; H% t7 b: r8 W, G9 O+ i5 {* Lnet=train(net,P,T);; \7 P2 W, `. E+ h, o/ B# I1 l) M
7 D+ o) S4 `" P5 J; I2 cY=sim(net,P);
  T/ Y5 `6 M" H# l+ t. W: ]' a& `$ b' K& z& a%求训练值在每一个点上的误差: \5 F' N/ k7 o" r( C) ^1 F. C9 e% X8 p
for i=1:16
7 D  y, [; j9 {1 E3 t+ \8 B* m8 \- W: _! N/ j    x(i)=norm(Y(:,i));4 V, s) m4 ?) z% S% T1 |. W( V3 A
5 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