数学建模社区-数学中国

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

作者: deerli    时间: 2010-1-12 12:14
标题: bp神经网络原理简介及matlab程序
虽然水平有限,但还是想写出来,望大家给些建议。并对于其中参考的资料作者表示感谢。5 P+ y* x2 E& N2 |' `- p
很多地方仍不是很清楚。请高人指点下,先谢了!) D& l* L! i2 Q/ ]& [3 `0 i
(1)编写出的很多系统都不是特别稳定,不知是数据问题、传递函数问题还是节点数量问题。有没有一定的规则?/ `' F; W0 m0 c* z
(2)怎样从matlab训练过程中观察net的结构和学习率设定是否合理?& l  W) p' U# e: k
(3)net的结构中,隐层数量的增加(如从1层变为2层)会对网络产生什么样的影响?

bp神经网络.doc

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


作者: 彩虹天堂    时间: 2010-1-12 12:52
回复 1# deerli 8 W% e  c9 k+ L7 C5 h

6 v4 a: K1 ~9 {' l" R4 e6 k/ ^5 N/ Z
: k# b- S+ o6 c6 {- y1 {! ]    不知道
作者: 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
. Y' Q/ ^1 _& x/ L
; o4 K. {% ~. E% u( F. h, T9 S9 J+ I1 a
    我也在做这个,慢慢研究研究。
作者: 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
顶个先。谢谢楼主!
+ P# i" U4 h( @& K
作者: 347196468    时间: 2010-8-14 21:16
%获得网络的输入样本P和目标样本T8 ~& w) C( K; Q/ g) e2 A' }
( r& j. k  [% F+ y0 BP=[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) z1 G5 p4 O: a
1 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
8 y. c% ^& ^/ z1 0.6 0.1 0 0 0 0   0 0 0 0.4 1 0.6 0;
! q6 R6 {' P9 K/ b: ^! E) 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
+ d" J2 N/ e) p6 t0 0.6 0.6 0 0 0 0   1 0.5 0 0 0 0 0;; G6 ?) Q# P: @. f4 i& c3 m- `0 ^0 H- L. }. R, N
0 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# X; S4 C' `/ N6 q8 r/ q
0 0.6 0.6 0 0 0 0   0 0 0 0.4 1 0.6 0;
7 Q  p- X6 N# Z' B# T& h" j6 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 ^& D8 O. }6 Y; Y% a' u1 X
0 0 0.6 1 0 0 0    1 0.5 0 0 0 0 0;
+ q% |' ~4 Q+ [' j& X6 \+ s/ }$ }2 u' J' O& Y0 0 0.6 1 0 0 0    0 0.5 1 0.4 0 0 0;# B' g( S! H# ?0 o: K
# 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' t; w/ `& y0 `. A* H
0 0 0.6 1 0 0 0    0 0 0 0 0 0 0.8;
# o' ]) c* l* }+ j' o' u- _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) U/ e# D8 H. F/ {. r8 b! B
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
/ E* b# p. Q" T0 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, ?& _9 c+ h" u, m. h# B' R
0 0 0 0 1 0.6 0    0 0 0 0 0 0 0.8]';/ Q' c' j* D1 Y9 w. a5 [0 s+ K, q" s) J9 H
T=[1 0.5 0 0 0 0 0 0;+ F, _7 y% q  B" Z
0 j1 a1 m  `8 `; o# V0 0 0 0.2 0.6 1 0.6 0.2;% R5 B' a$ V; Y, k& ?1 V
' 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$ e7 l5 ]+ L3 O: N$ B
0 0 0 0.2 0.6 1 0.6 0.2;2 d' x! L5 ?. {
% D6 e/ B1 ^( h6 V) |0.4 0.8 1 0.8 0.4 0.2 0 0;( g" S+ e3 K% Y- P! W
  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
' M* B$ M: K  f2 m% f# d" O- {0 0 0 0 0 0.2 0.5 0.8;
* ~# v2 r  q  g* z* v$ [$ @4 p) Y) a8 J+ Z, ~8 {1 q3 Y! `( g0 0 0 0.2 0.6 1 0.6 0.2;
- p- k# E& ~( X; g2 w+ f2 r2 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
2 O8 P5 b* Q/ w0 P* U0 0 0 0.2 0.6 1 0.6 0.2;
$ o; G  P1 f! o; x6 E. G4 m6 e3 Y* J! u( n. u3 U0 0 0 0 0 0.2 0.5 0.8;0 Z1 x6 d0 v: A9 W0 O
. 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- V7 k" W8 e0 M( j+ Z7 Y
0 0 0 0.2 0.6 1 0.6 0.2;, Q& Q; h+ \' @+ D9 W, _6 t3 w' {# E' t& K( Z9 X8 ]. i/ }
0 0 0 0.2 0.6 1 0.6 0.2;% a& I% x. Y* b! S3 Z
1 B, d. B' I+ e% @9 B0 0 0 0 0 0.2 0.5 0.8;
6 f( B  s# ?- m! t; M+ J5 J' ?6 ?* Z0 k: e# x0 0 0 0 0 0.2 0.5 0.8]';$ p" j( L5 `1 g( u, G. ^' Y( t* w
( x0 l- }8 I4 t* e%根据Kolmogorov定理,输入层有14个节点,所以中间层有29个节点$ f5 v3 N( Z/ H
! \  B7 A4 w, a: Q! U%中间层神经元的传递函数为'tansig'
) e. Q6 p1 N2 ^) s4 F  _$ S% C' Z& c% }) G# y/ ~%输出层有8个节点,其神经元传递函数为logsig8 ?5 D  i/ p7 o* V
, \; `2 P* v% b( k0 h- u7 H6 H) `%训练函数采用traingdx2 m9 y; C$ x, c, ^; \' M
0 C& m3 c0 \* Nnet=newff(minmax(P),[29,8],{'tansig','logsig'},'traingdx');- ?/ b# _# j0 f* p8 n" w/ h" V  E/ r, ]9 e3 G/ @
%训练步数为1000次" ?8 _& L' `% A% T; |1 ?6 e* ]5 D" R6 G6 Q! w1 X& B! i2 X
%训练目标误差为0.001
& ^% I8 A+ j1 ?  ]! [) p+ D+ cnet.trainParam.epochs=1000;* |  r9 y5 [5 H2 N5 i+ Q6 @) C* t" F* _, B1 x! w' p% v
net.trainParam.goal=0.001;
) L5 k- y( E0 ?4 j" n; H% t7 b: r8 W, G9 O+ i5 {* Lnet=train(net,P,T);; \7 P2 W, `. E+ h, o/ B# I1 l) M; w; C# z) F" K
Y=sim(net,P);/ F4 V/ e" u, I2 E' ?  K6 X
: ]' a& `$ b' K& z& a%求训练值在每一个点上的误差: \5 F' N/ k7 o
) p' \% s, ^6 p7 pfor i=1:16
1 f5 V) V6 p+ z. ^/ c, F* Z8 B* m8 \- W: _! N/ j    x(i)=norm(Y(:,i));7 R- ?$ Q9 ^) 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