QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2119|回复: 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
    + a1 t5 K" E& Q+ M4 E2 m求高手解答!!!
    + [2 v+ x% O, D- n; T4 g我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。" r/ G, |6 Q' f1 @/ h
    但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~- m9 B/ W& M% q7 E. d
    clc
    ; K: M7 u& _. wclear
    + N! _2 ~5 x, V1 M" T: f; m* X6 N! }k=[1,2,3,4,5];%输入
    ' w1 z- y8 \+ I% X# U4 ~for i=1:length(k)% x1 x. k% d3 X( x1 ~4 ]
        T(i)=sum(k(1:i)); %输出
    + P4 l8 k2 ~/ s$ Mend
    ' u: R3 y' G% A; perror_goal=0.01;%目标误差) Y$ t' Y1 W7 I! Z) M9 o. K
    max_epoch=200;%最大训练次数
    ( A; o) B; y% M( ]( I. e! _5 Ilr=0.5;%学习速率, P: c; s/ M9 @) O$ L* H4 C! P
    %% 权值阀值初始化2 X& m+ }! q) n8 L  g. j
    E=zeros(length(k),max_epoch);%误差矩阵,便于查看误差$ Y5 j$ g' ~9 ~) o& K9 O6 o
    W11=rands(1);%权值初始化/ ^! i6 H  J, D9 X) \. `
    W2=rands(2,1);! o! ~1 G0 @! B. d/ g
    [W3,theta]=rands(1,2)
    6 J* o9 R4 H) Y$ V, W# d; dW21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
    + v" p$ L* x3 ]& n- `" |/ ^8 V/ R    DW110=0;
    ' k9 [: P- Q, y8 U( W! }. g0 f1 m3 X    DW210=0;
    ( k0 Z* g; v9 f4 P. t. h    DW220=0;5 _% T1 G( d  g
        DW310=0;' C+ E  N6 Z4 s# {2 v. F: g4 g
        DW320=0;  ]. q( n4 l/ M6 C! S
        Dtheta0=0;
    * @3 [8 G  X. M    mc=0.5;8 o8 ~7 ?8 b+ n8 r8 }1 `
    %% 循环迭代
    % l0 }. ^4 y, ]5 o) F. | for j=1:max_epoch
    5 F. ]2 X+ ^# H& g! ?* D- I    lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    ) t& e& G% ^) Yfor i=1:length(k)1 N6 n/ h2 P1 f- D& y, j/ v
       1 s/ D+ p9 {- m0 ^/ B% g3 Y
       %% 网络输出计算
    6 ^. u8 e' I  C" I" @    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数0 q, O) Y0 T& B0 D/ E* x
        LC1=LB*W21          %LC层输出 线性函数( V; W% l; u/ h4 k. S
        LC2=LB*W22    %LC层输出  线性函数
    ) f# x7 C# W8 N, v+ v    LD=W31*LC1+W32*LC2  %LD层输出  线性函数( y/ B! ]! s* }& y
        ym=LD-theta   %网络输出值
    4 G7 H6 g6 Y5 Z9 _        
    - c; Z( o; L9 T1 }' l    , J$ l& R( n' K2 `
        %% 权值修正2 M( @* f' m. c: n3 i
        error=T(i)-ym  %计算误差4 O0 S; m9 X( K8 \# f
        E(i,j)=error;    %误差统计  
    - i1 ^* x: j8 u8 M    delta3=error6 X/ c9 w8 i# D+ z7 c/ ~
        delta21=error*W31
    4 [6 E: ]/ i4 I6 [0 e/ X    delta22=error*W325 M  U5 z) M$ \, Q( ]4 i
        delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))
    7 {2 W9 \! x8 _% t) f    %修改权值9 ]# ]8 B; K& U  c9 v5 g: o- I
        DW11=lr*delta1*k(i)3 R( M6 O) l2 A8 L  i. s
        DW21=lr*delta21*LB' u$ T1 L2 ]7 I; K5 t  S
        DW22=lr*delta22*LB
    8 @. `" z9 I+ H! {% m: s* ]    DW31=lr*delta3*LC16 x) L* F! G/ u" ^" N
        DW32=lr*delta3*LC2  U& h6 l  @7 E  R. r- D
        Dtheta=lr*delta3;
    * g3 F2 G! v  S6 y* K; Y/ t    W11=W11+DW11+mc*DW110; j; m( G% a8 u, x' a
        W21=W21+DW21+mc*DW210; J6 }' A1 j% M
        W22=W22+DW22+mc*DW220; j( v% Z% B3 {( L9 S  H
        W31=W31+DW31+mc*DW310
    + p1 a$ ^7 I) l% h5 O# O% |# u    W32=W32+DW32+mc*DW320
      V6 [1 Y3 j7 b5 Y    theta=theta+Dtheta+mc*Dtheta0( Z2 c( B* m$ n3 W6 ^- u" B
        DW110=DW11
    / T: J7 R6 W! D8 V5 Q    DW210=DW21
    ' K6 @. k) m8 @- I# d( N5 {    DW220=DW226 s* b: h- R! f4 v5 W6 t) l
        DW310=DW31+ Y  S: s* a8 N3 `) g3 r+ i- |
        DW320=DW32
    * a2 m( s' o* M  |  H# h1 N! Y1 l# U    Dtheta0=Dtheta
    6 m: G0 |9 [" nend$ @# }9 d+ v7 V7 d  B
    if sumsqr(E(:,j))<error_goal) e$ t6 h6 x" g: n# K
        disp('good')
    ' b6 c& O" V+ {# A( N4 [    x=input('x=')( I. V* V7 X1 m7 @
        LB=1/(1+exp(-W11*x));   %LB层输出& @' s3 @- m, d5 N
        LC1=LB*W21;           %LC层输出
    ( a& z0 }6 \; f: T6 U, I0 w1 o    LC2=LB*W22;    %LC层输出
    & |, W- t; r" z/ Z   
    1 K" K) v. d. z; C2 R    LD=W31*LC1+W32*LC2  %LD层输出
    ( s& ?5 l; Y) Q5 x    ym=LD-theta %网络输出值2 L/ O: G2 h8 U4 X2 _; p/ x
    break;( u6 T! v" |7 T* p4 y6 O3 Y/ d* Z' v
    end
    6 d; O$ B) j% c- }" S9 mend  
    * \6 W$ A7 m9 u" o3 E$ b0 vYY=0;) j7 M/ b9 _( {$ S1 {
        for i=1:length(k); y  E" O  H' r6 C
        LB=1/(1+exp(-W11*k(i)));   %LB层输出
    ( K" `! ~! L, B( [    LC1=LB*W21;           %LC层输出
    1 M# G* f% K% ~! g    LC2=LB*W22;    %LC层输出
    6 O7 v, U: E6 Q& Y' \' O1 Q. e4 c* T    LD=W31*LC1+W32*LC2;  %LD层输出/ _5 ?1 B* D: c  _6 \$ p
        ym=LD-theta;   %网络输出值
    3 R% q9 m2 N7 i% g$ v    YY=[YY,ym];5 p7 V( }' e+ t' Z
       % i/ r% I$ q' |9 u
        end
    0 J( g1 q) X( `0 [3 W     YY=YY(2:end);
    $ l2 P8 `" {6 N    YY
    5 G7 f5 ?: J( S/ |  f/ F, j1 r
    . r( S: v+ B6 H7 t" @
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!
    % f0 m3 g3 g! k5 N2 Y数学中国社区分享快乐!6 f3 n* d# |: C
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-13 17:28 , Processed in 0.466942 second(s), 58 queries .

    回顶部