QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2141|回复: 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
    ( Y, R3 h5 L$ X( d1 L求高手解答!!!$ f( J; v% u, A
    我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。
    * P0 I9 ^! t& o% c% c- u但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~% v: ^- \- ]0 \- G# x' _
    clc
    # q  j9 C) E  }) ^+ |2 zclear1 i: B4 J2 f& R4 ~
    k=[1,2,3,4,5];%输入
    4 e: L7 e; G" I: I/ }) ffor i=1:length(k)
    0 M0 l$ R( t$ b4 s    T(i)=sum(k(1:i)); %输出
    7 @' x( T$ ?8 t; J! A  _9 a5 i  m! `end1 d6 f8 c; k3 b7 {; _0 W) C' W
    error_goal=0.01;%目标误差
    " G8 y- _; C9 cmax_epoch=200;%最大训练次数( Y/ o9 l; a8 Y+ {9 r% W
    lr=0.5;%学习速率1 Y9 j6 o- d' p. o( U" O- F6 o1 ?
    %% 权值阀值初始化
    ; n" Q2 h1 J' N( R& q. F9 dE=zeros(length(k),max_epoch);%误差矩阵,便于查看误差. `% r7 M" R% E) m' k
    W11=rands(1);%权值初始化
    ! E5 P: \' s+ uW2=rands(2,1);8 z3 A) ]3 z' ~, C  b
    [W3,theta]=rands(1,2)
    # c4 s) ?( t& z3 jW21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;3 X' e( K4 Y9 L9 @
        DW110=0;
      b1 B; h. {1 D' C+ ?    DW210=0;6 T# `7 T7 z' i0 t* I) G
        DW220=0;. s' n6 U5 ^/ R$ m5 K
        DW310=0;
    4 p( ~6 S0 }, F/ I; ?    DW320=0;
    $ H# m% F0 z! y/ r    Dtheta0=0;% |5 k* ~! P) v% t6 \3 t: `7 y! _( j
        mc=0.5;4 u' ]$ S: N5 [6 @6 h; g6 y
    %% 循环迭代" D; h, x" O3 r) |9 M
    for j=1:max_epoch
    : J  N) l% P  d4 p9 `# o    lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    - A" F- f9 O/ a2 D# B! L3 wfor i=1:length(k)5 A) ^9 Z3 S  N) Y2 R/ s
       0 j" R7 Q. @4 i8 i3 R0 R2 _/ b
       %% 网络输出计算
    ( q' J) M- Z: E' y    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数7 j7 m6 t9 L8 z
        LC1=LB*W21          %LC层输出 线性函数
    5 Z+ @  ^2 a  p, _/ U    LC2=LB*W22    %LC层输出  线性函数; J& u% `: {( u4 a9 Z; Q, Z$ Z- J
        LD=W31*LC1+W32*LC2  %LD层输出  线性函数; u! Z, d4 R6 H: `% p
        ym=LD-theta   %网络输出值
    4 d6 U4 ], @+ u5 s) G  c        2 w+ e+ k6 ~; J  K
        2 {; E- [0 N) J. N4 A& z( X7 L. k" r& x
        %% 权值修正6 m% M+ _9 n& J3 d6 f! X
        error=T(i)-ym  %计算误差
    / q) c0 v( f9 ?- U  D    E(i,j)=error;    %误差统计  ; H) I# T! d3 j, ~9 C7 V
        delta3=error- `! Y2 A/ W- ?5 d; s  J
        delta21=error*W31
    & f" ]0 f4 `9 U3 E1 e7 {    delta22=error*W32$ q, `; O4 q4 ?: F" A# R
        delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))
    ' E* O" q9 K8 z8 |2 {1 |# H    %修改权值3 @9 v2 V! i4 `  _- \9 X
        DW11=lr*delta1*k(i)
    ) C( Q0 J# X! c% y    DW21=lr*delta21*LB
    $ c7 T( U8 b1 U    DW22=lr*delta22*LB
    7 j, Y# E/ B: o- X    DW31=lr*delta3*LC1& o% t5 k3 j) j* H. r
        DW32=lr*delta3*LC28 _( F+ A  A& y* k
        Dtheta=lr*delta3;
    7 G' N9 Z& n+ n0 |    W11=W11+DW11+mc*DW110' {9 H. r% i2 B& Z% _# a
        W21=W21+DW21+mc*DW2106 \/ L8 O3 [7 k# o4 z
        W22=W22+DW22+mc*DW220% O0 g% d+ J5 |% y7 t* H# T
        W31=W31+DW31+mc*DW310
    : @0 U* H$ @, B: _1 B* z; @    W32=W32+DW32+mc*DW320; k; b9 J) H' A  U5 Y! r
        theta=theta+Dtheta+mc*Dtheta0
    9 e  ~0 y3 z4 Z" K$ o    DW110=DW11, S3 |: q/ _; s3 [# J/ x2 p9 e( B) j" |
        DW210=DW21& G5 D: x& {' g+ m4 r4 ^. b  I/ F* m
        DW220=DW222 n2 B; i, L+ p' U' b& U! F# a
        DW310=DW31
    , z2 v$ O8 |/ ?+ j, W1 ]    DW320=DW32 5 ?; \6 i3 D/ F# G- y
        Dtheta0=Dtheta# _9 M7 z3 b- A9 E( C! q" L
    end
    0 O. X+ K3 P3 `+ {0 v$ jif sumsqr(E(:,j))<error_goal# h5 _0 l: s: H3 }, H
        disp('good')
    " k% e  X  }9 a2 l7 ~    x=input('x=')0 ?1 @" u1 m4 ]4 K5 ?& K% t3 F
        LB=1/(1+exp(-W11*x));   %LB层输出0 O- F8 T( C. m, F- t9 q
        LC1=LB*W21;           %LC层输出4 m+ A8 R. N$ q" K
        LC2=LB*W22;    %LC层输出' q% e' @; z1 k; H: T
       
    ; A; j$ I' b$ [. e/ M* e) U    LD=W31*LC1+W32*LC2  %LD层输出6 V5 k4 r, g: b) z" \
        ym=LD-theta %网络输出值2 x$ w' G. N+ X/ x" M
    break;
    6 v& z8 U$ r# oend
    - ^; E# t: {: o% }/ Pend  1 r' Z) {9 {% T. ^5 V& T
    YY=0;
    $ O5 k8 t2 Z$ k3 `+ f6 P9 N    for i=1:length(k)
      B* G: i- U2 n. N4 T4 h    LB=1/(1+exp(-W11*k(i)));   %LB层输出
    . I) T; p) e# {7 A/ M    LC1=LB*W21;           %LC层输出0 J  K4 F% z; t3 O0 g
        LC2=LB*W22;    %LC层输出( h; i9 I3 f* q5 H, P9 r' L) N
        LD=W31*LC1+W32*LC2;  %LD层输出. o+ m4 l; ?) G' |
        ym=LD-theta;   %网络输出值% A) y0 G( G% J) F- r. i
        YY=[YY,ym];
    1 ~" R8 a9 b/ B   
    ) l  R6 x/ U# r. a- ~9 [    end
    , }/ B* L' k$ D% u     YY=YY(2:end);5 K, O7 M  ~7 `  Y
        YY0 C8 ]3 z* Y0 ~' h% f. d) }- @

    : L  M7 z  j, h
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!
    # |4 {* v3 X/ j  c, c2 t数学中国社区分享快乐!
    ! g4 T. ]; Z2 q: d4 o
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-5-27 11:12 , Processed in 0.434148 second(s), 58 queries .

    回顶部