QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2195|回复: 1
打印 上一主题 下一主题

BP网络底层程序,求高手解答~~~~~

[复制链接]
字体大小: 正常 放大
yqxxqy        

21

主题

4

听众

321

积分

升级  7%

  • TA的每日心情
    难过
    2016-4-16 21:09
  • 签到天数: 1 天

    [LV.1]初来乍到

    新人进步奖

    跳转到指定楼层
    1#
    发表于 2011-3-22 18:34 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    网络结构神经元数为输入:1,隐1层:1,隐二层:2,输出:1+ I( I  L1 ?. e  o$ K7 G/ H6 z
    求高手解答!!!9 j7 v! Z0 \3 W( B% A4 b
    我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。
    5 z, I( S6 S6 e* W+ w但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~
    4 x; ]9 e' @6 v9 b  Vclc
    2 a6 q! n/ o% C! g9 I7 ]clear
    $ y( S; h+ ?% _) c4 o+ }* ^k=[1,2,3,4,5];%输入
      K, F3 z1 `# Vfor i=1:length(k)5 H* E- w) T3 F& p; N$ L8 S* k2 W- o
        T(i)=sum(k(1:i)); %输出
    # y( H! D! `5 V  h% kend8 ^1 c; V/ x6 |) u% g! T- k( R
    error_goal=0.01;%目标误差
    4 r3 B9 D9 Z8 U: {max_epoch=200;%最大训练次数8 k8 Z2 t) j) j0 l
    lr=0.5;%学习速率0 K- r) \+ u$ a' @
    %% 权值阀值初始化
    , z& J" e# ]! ~5 z9 k# BE=zeros(length(k),max_epoch);%误差矩阵,便于查看误差& P+ c- N9 c* N- ]
    W11=rands(1);%权值初始化
    , P- q& N* V: p  ?; y! s& S9 A5 tW2=rands(2,1);" K9 e7 c9 ^1 R- j" b$ O
    [W3,theta]=rands(1,2)4 A  B" s# @+ x  ~& d
    W21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
      n2 h, u5 k2 Q    DW110=0;
    ) S3 l8 X4 h$ U7 M0 x# D    DW210=0;4 W2 z+ z7 A7 r5 |- k* l' {
        DW220=0;8 y+ r1 u1 v8 R  ^1 f/ E
        DW310=0;  E% @4 B& M& z  y* j
        DW320=0;
    / q) \3 A# L5 K/ j% n2 x. u3 o$ p    Dtheta0=0;
    * S4 i7 \  j) N; Y' j    mc=0.5;7 S0 J) f: y7 L  @+ B$ O( K
    %% 循环迭代
    ( K  u1 z6 d- b# K for j=1:max_epoch
    $ D" b+ E7 M3 g9 u7 q    lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    - h9 X; o% o, g5 Afor i=1:length(k)0 x8 _0 q0 v4 g  _( F% E& r
       5 Y) j$ ~6 ]4 u# K0 e
       %% 网络输出计算
    + F! Q" t+ g1 g9 \' [/ j# U    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数' J7 H  `  H% x, S
        LC1=LB*W21          %LC层输出 线性函数
    1 `9 |; o) I+ B    LC2=LB*W22    %LC层输出  线性函数) R9 o+ _1 }! u: t8 e4 }
        LD=W31*LC1+W32*LC2  %LD层输出  线性函数
    - f3 a8 f$ e% \# O% E0 }    ym=LD-theta   %网络输出值( V1 b. Y( n6 K% N  n
            % Q- V7 H5 ]+ l, ~: K; w  I* ]
        : i% F5 G4 N7 w) D
        %% 权值修正
    # v5 j1 p- Y: l9 f% Z    error=T(i)-ym  %计算误差
    ) G; C( R! l7 d" d    E(i,j)=error;    %误差统计  
    ( i, Q+ _- `- z3 I    delta3=error
    4 @# u7 x% \( l: b! z9 T1 _    delta21=error*W31/ b& P" r, E& {: j2 v
        delta22=error*W32
    2 E& p; q" `/ |7 f    delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))6 O+ `+ W# o( W* g9 P( f
        %修改权值7 d+ x1 y% z1 |/ I/ |& c
        DW11=lr*delta1*k(i)
    & j5 i! L) e1 K! A2 n6 V    DW21=lr*delta21*LB; c1 [! D7 ~( t+ B0 ^
        DW22=lr*delta22*LB
    9 I: o9 Q! J6 @- x3 B    DW31=lr*delta3*LC1
    ; t+ U* h2 I7 f  o* p    DW32=lr*delta3*LC2# |1 h/ V0 |. |* }
        Dtheta=lr*delta3;0 g/ A% f: a1 o8 n* ^
        W11=W11+DW11+mc*DW110* O" T$ ~7 X! A. b9 P# y
        W21=W21+DW21+mc*DW210
    , M/ G+ G! Q+ |0 E9 }. Q; M    W22=W22+DW22+mc*DW220& p: `- D9 w3 ?7 O
        W31=W31+DW31+mc*DW310
    ; x1 z8 E  o8 G& q, r; Q  z  }    W32=W32+DW32+mc*DW3200 X* {  r1 E: k- C( j) U8 ~/ K
        theta=theta+Dtheta+mc*Dtheta01 ?" w, O( J) F" D5 d
        DW110=DW112 e& e" ?8 b6 z! c/ i
        DW210=DW21- e' o. J, h9 d6 K
        DW220=DW22& j, m& B. [% F) b. L2 k/ h
        DW310=DW31) p7 X. |# {8 V  ?2 Q/ J  T3 u: R# ?$ }
        DW320=DW32 : P. P; F. \  ~2 D/ y1 H
        Dtheta0=Dtheta
    $ x- d: v+ X; u' C+ r- rend" Y5 F9 g- m( a4 D9 o! a
    if sumsqr(E(:,j))<error_goal4 J/ P3 ^& k% y7 S8 e
        disp('good')& X+ j" s8 E( l
        x=input('x=')
    : R% _" R. D, x    LB=1/(1+exp(-W11*x));   %LB层输出3 a( c  M: _# r6 b1 K* Z" t5 X  G
        LC1=LB*W21;           %LC层输出
    # r, ?' Q& S+ n$ e& u    LC2=LB*W22;    %LC层输出
    % `2 W0 U6 g4 O2 H' K) z8 l5 p; F   
    / w4 U* u% _9 ~    LD=W31*LC1+W32*LC2  %LD层输出" [, J! u, A4 ^1 s
        ym=LD-theta %网络输出值9 [3 K) S  b8 O2 G; ?6 E
    break;3 N/ [! e0 C4 l3 v3 S" j
    end
    , r5 Q( u0 p/ V! C/ \! wend  
    , D' P3 S1 t# W, y) cYY=0;5 P4 }  e: X* Y: T# p
        for i=1:length(k)* z$ Y  s9 a$ d; G1 O
        LB=1/(1+exp(-W11*k(i)));   %LB层输出# V: J. a% P% }" Z/ d
        LC1=LB*W21;           %LC层输出' u! a. S7 q2 ^1 q  \
        LC2=LB*W22;    %LC层输出7 n4 H# Q0 C( S6 `2 r# ^6 d
        LD=W31*LC1+W32*LC2;  %LD层输出8 [, l( t. q; q' f- z( L
        ym=LD-theta;   %网络输出值; a/ ~  `# y. }  J9 m1 H
        YY=[YY,ym];  O% p# l9 w2 R. S) T
       / _3 s1 |' s' y8 p9 ~+ M5 }! D
        end& _: }4 k& B2 D
         YY=YY(2:end);
    ! j& o1 ~( d9 `- B8 @    YY: W) {5 a2 }# d& T

    / @( {. }& i' \) I6 U7 H7 F
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

  • TA的每日心情
    奋斗
    2012-12-4 13:38
  • 签到天数: 314 天

    [LV.8]以坛为家I

    新人进步奖 最具活力勋章 发帖功臣

    群组数学趣味、游戏、IQ等

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!7 [2 z6 h" a) O% E/ `
    数学中国社区分享快乐!# A3 z1 X. `0 O/ N
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-8-31 17:39 , Processed in 0.444095 second(s), 57 queries .

    回顶部