数学建模社区-数学中国

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

作者: deerli    时间: 2010-1-12 12:14
标题: bp神经网络原理简介及matlab程序
虽然水平有限,但还是想写出来,望大家给些建议。并对于其中参考的资料作者表示感谢。
4 {* L- k4 h/ F- J很多地方仍不是很清楚。请高人指点下,先谢了!9 }1 T) _4 P+ D6 U$ a: q
(1)编写出的很多系统都不是特别稳定,不知是数据问题、传递函数问题还是节点数量问题。有没有一定的规则?
) b6 K' F# _( m4 B2 v+ K$ N(2)怎样从matlab训练过程中观察net的结构和学习率设定是否合理?
4 I, r' p# s0 z: [1 ?3 D(3)net的结构中,隐层数量的增加(如从1层变为2层)会对网络产生什么样的影响?

bp神经网络.doc

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


作者: 彩虹天堂    时间: 2010-1-12 12:52
回复 1# deerli
; P! F# n: I( L% t2 C: Y9 j" S* L# \, D  ^5 E; {

& d8 n" @$ g9 d% Z    不知道
作者: 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 ' N1 T, N) F. R, _' {

2 J; @4 n/ ]% C' Z
; Q! W6 q# p0 w  V# q% b# q    我也在做这个,慢慢研究研究。
作者: 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
顶个先。谢谢楼主!0 _5 ]. L' z1 A0 j8 z

作者: 347196468    时间: 2010-8-14 21:16
%获得网络的输入样本P和目标样本T8 ~& w) C( K; Q/ g) e2 A' }
- ^) h: l: p! J$ ^8 MP=[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
4 l, |* G6 g$ l  @/ L1 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% r- g# R; T5 ~) q
1 0.6 0.1 0 0 0 0   0 0 0 0.4 1 0.6 0;0 N3 f' n3 ^) P6 Y
) 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  E. ?( V" w: t
0 0.6 0.6 0 0 0 0   1 0.5 0 0 0 0 0;; G6 ?) Q# P: @. f4 i& c
4 U. K% X/ e; {# U1 O) g$ ^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
1 M9 R/ r) W! Z) E/ N0 x; G: N0 0.6 0.6 0 0 0 0   0 0 0 0.4 1 0.6 0;. j+ t: Q% m* z) j8 R* t
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
, T# E5 D0 }) M$ _( x- u0 0 0.6 1 0 0 0    1 0.5 0 0 0 0 0;
2 f6 r# V& _$ O( i$ R& B7 y! z+ s/ }$ }2 u' J' O& Y0 0 0.6 1 0 0 0    0 0.5 1 0.4 0 0 0;. q! u6 W9 x0 N  {1 H6 v% @; h7 U* w
# 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
$ n9 Y* c" z3 }6 h4 `  N  p0 0 0.6 1 0 0 0    0 0 0 0 0 0 0.8;9 K8 H! y0 k, V; U! P2 I) K: F
- _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
% w# K8 B9 g# I4 E$ w# |2 [4 G6 t0 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
# ]2 b: ]+ T5 k1 D' u, [% \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
5 b* P6 W5 I+ H% [0 @- Q0 0 0 0 1 0.6 0    0 0 0 0 0 0 0.8]';/ Q' c' j* D1 Y9 w. a5 [% ~/ B7 i" g+ x! f( Z8 ]
T=[1 0.5 0 0 0 0 0 0;+ F, _7 y% q  B" Z4 _/ Q/ _' `. ^6 Q3 x6 _* |& C& k
0 0 0 0.2 0.6 1 0.6 0.2;
! w( j0 g# u  z; @) m; x9 H$ d' 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
+ e8 S8 R% y! E. {$ ]4 m0 0 0 0.2 0.6 1 0.6 0.2;* p5 T( B7 e6 y- c$ S; _3 _: Z
% D6 e/ B1 ^( h6 V) |0.4 0.8 1 0.8 0.4 0.2 0 0;
% s3 i4 i! q- q( j' {+ a/ b  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
9 ?* N+ L- t/ z; J5 `, P' Z0 0 0 0 0 0.2 0.5 0.8;& F0 W1 P+ d( c+ G
) a8 J+ Z, ~8 {1 q3 Y! `( g0 0 0 0.2 0.6 1 0.6 0.2;
0 r3 b! x' \2 ^0 C( @9 Q% N: L2 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
5 W! N9 ?) O% h$ A0 0 0 0.2 0.6 1 0.6 0.2;
/ H7 D( t' T2 [7 H" r' f4 m6 e3 Y* J! u( n. u3 U0 0 0 0 0 0.2 0.5 0.8;' o' T3 K: z4 E; y
. 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, Z3 e- h7 `$ d+ [$ T
0 0 0 0.2 0.6 1 0.6 0.2;, Q& Q; h+ \' @+ D9 W, _6 t& b* Y' [' w3 v4 ]2 ]0 A
0 0 0 0.2 0.6 1 0.6 0.2;% a& I% x. Y* b! S3 Z2 U+ Z9 B8 q( A% s5 _9 ]# N8 w% Y
0 0 0 0 0 0.2 0.5 0.8;9 F3 Q: Y+ ^1 H; j
; M+ J5 J' ?6 ?* Z0 k: e# x0 0 0 0 0 0.2 0.5 0.8]';
- V$ [0 E, L5 S1 R) E/ L; {$ V( x0 l- }8 I4 t* e%根据Kolmogorov定理,输入层有14个节点,所以中间层有29个节点$ f5 v3 N( Z/ H
; A8 n9 ~9 ^3 B" a8 v* h%中间层神经元的传递函数为'tansig'
3 ]' m$ P, f" r! I* C  b6 t; a4 F  _$ S% C' Z& c% }) G# y/ ~%输出层有8个节点,其神经元传递函数为logsig
1 e$ {3 p+ `. S+ p, \; `2 P* v% b( k0 h- u7 H6 H) `%训练函数采用traingdx
3 v% K7 V8 J; Y* c) ]" P0 C& m3 c0 \* Nnet=newff(minmax(P),[29,8],{'tansig','logsig'},'traingdx');- ?/ b# _# j0 f* p8 n" w/ h" V
- {( e+ V7 L7 H" s, T%训练步数为1000次" ?8 _& L' `% A% T; |1 ?6 e
# ~& {- n' b7 I' o$ O1 y%训练目标误差为0.001
0 j" ~" J1 @/ b% S$ ^( m  ]! [) p+ D+ cnet.trainParam.epochs=1000;* |  r9 y5 [5 H2 N5 i+ Q6 @3 h1 \2 x% O2 m/ S$ e8 c! z! D" R. H# o
net.trainParam.goal=0.001;
3 J5 v( w+ {/ U$ l+ U; H% t7 b: r8 W, G9 O+ i5 {* Lnet=train(net,P,T);; \7 P2 W, `. E+ h, o/ B# I1 l) M  g3 u9 L3 }; v8 b8 g' D) U
Y=sim(net,P);
  l  z, d4 Q9 Y% E: ]' a& `$ b' K& z& a%求训练值在每一个点上的误差: \5 F' N/ k7 o( m& E2 @; t8 V' k8 q
for i=1:16+ B% F  [0 U" ^: o' k5 H% A/ v
8 B* m8 \- W: _! N/ j    x(i)=norm(Y(:,i));# u, M% _9 A8 |8 k4 {% x4 Q4 B1 l
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