QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2165|回复: 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
    6 R- g' N, d( @6 |求高手解答!!!
      v* T1 j6 _) ]/ C$ u, u) c( }& Q我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。
    + ?) a  _6 `/ k' B但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~
    - E8 q0 B* v2 q7 ^% ~* N4 U# jclc
      l% Z, ?# I& t3 J4 s: @. V1 y6 ~- ]8 o* Tclear
    9 w* ?' J0 J3 g$ p" N5 [k=[1,2,3,4,5];%输入
    ; [9 w; r2 |9 A8 \for i=1:length(k): J: [' W* s+ D# q
        T(i)=sum(k(1:i)); %输出: g5 @0 m1 c  H) y6 }% r
    end
    2 p# O) m6 `8 N6 _$ }: yerror_goal=0.01;%目标误差
    6 ^4 i8 J" s5 M* d: `max_epoch=200;%最大训练次数
    2 x2 |: k+ S0 _lr=0.5;%学习速率
    8 G% H* y" o. Z( O%% 权值阀值初始化4 b) L- K) ?. F- G
    E=zeros(length(k),max_epoch);%误差矩阵,便于查看误差( T* [* z- g, r. ^3 d5 T
    W11=rands(1);%权值初始化$ Z! |, b) A; _2 b2 Z8 y: N' |! [2 ^
    W2=rands(2,1);& d3 @( u4 \( U; i5 h7 a& z4 h
    [W3,theta]=rands(1,2)0 v5 q4 ]4 W, ^$ u! H8 d, c
    W21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
    ' b# v7 a+ w6 Q8 L! K" |    DW110=0;
    : g* ^, }0 m  n( t8 g    DW210=0;
    ! Q8 X8 W; g) J3 U    DW220=0;' U9 D# a. Y, _* ^- h
        DW310=0;8 j$ T7 h% p& z
        DW320=0;
    " x& `0 D- R( X' h' Z    Dtheta0=0;
    ! F2 d. E' L" j) o  C, B' U1 d3 \    mc=0.5;7 W. S  ?. |: V# o2 f
    %% 循环迭代
    ' f$ Y8 r) z4 W% A+ H1 H- { for j=1:max_epoch
    ' Q2 n% [, x/ D& K  Q2 n    lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    4 C# F) f) H- c2 v. j9 mfor i=1:length(k)
    / j1 ]' E/ ?4 x" S   ' g; w$ G! y+ N$ I1 `1 {" o7 o
       %% 网络输出计算
    - F( R. b( k' _* s) I( b6 h' P' H    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数) v: Z' M8 p3 x* b% a8 z
        LC1=LB*W21          %LC层输出 线性函数
    - }: |" Y$ H0 u    LC2=LB*W22    %LC层输出  线性函数& @5 F7 v0 u: `% X2 x
        LD=W31*LC1+W32*LC2  %LD层输出  线性函数/ w% Q. B  q% X7 E" u1 T: f! c
        ym=LD-theta   %网络输出值, u" @8 Y( h+ K* U
            ' D& M  P0 g8 }+ C0 n# o( Z
        % @5 A$ |# u9 ~+ z* I* F  B6 d3 F1 n) s
        %% 权值修正
    ( P* S+ @* I/ p  c7 T    error=T(i)-ym  %计算误差
    $ ^. n$ \1 N$ t6 |. X    E(i,j)=error;    %误差统计  
    0 _$ R9 ~+ b( V: J    delta3=error
    . \( J" \0 q) A& f$ H, e    delta21=error*W31# q! h8 D% F# I" Y6 m, `
        delta22=error*W32
    + t! S: q+ y. \4 M7 K; r' T' f% [    delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))
    , W4 y$ ~. a. u% v: A" }$ n    %修改权值
    / J2 H+ o; N+ h7 z3 B  v$ f4 U$ b    DW11=lr*delta1*k(i)5 o2 S+ @+ K3 I) H7 m5 u
        DW21=lr*delta21*LB
    1 Z' Z$ r/ q5 `" U' k) y) [8 p' g    DW22=lr*delta22*LB2 Q$ l, ]7 B) t" U& s9 f
        DW31=lr*delta3*LC1
    , }) {( b7 I$ z, Z    DW32=lr*delta3*LC26 I" ?. w% ?/ F' }) ^$ M5 Z
        Dtheta=lr*delta3;
    * V" F# `& F0 N: c4 h% T3 `0 a    W11=W11+DW11+mc*DW1109 b2 K( A1 h  U. ]
        W21=W21+DW21+mc*DW210
    . G+ }/ ?# A, Q- h; E1 e+ P# e0 X    W22=W22+DW22+mc*DW2203 d0 ]- V8 }; j
        W31=W31+DW31+mc*DW310
    6 P( J4 r: j. y2 w1 I, E) V) e    W32=W32+DW32+mc*DW3201 e! ?1 {# p4 m5 i* ]. n2 ^8 W
        theta=theta+Dtheta+mc*Dtheta01 L6 {" B6 s9 O4 m& s$ Y8 y3 H
        DW110=DW11
    ) W% h* V" M2 ?4 h7 C2 s5 W    DW210=DW213 Y* I2 @, J3 c& d$ O; i& Z1 k3 i3 g& H
        DW220=DW22
    ' A+ b: G& j' o- b( Q    DW310=DW31/ T2 ^! J5 i) P$ i
        DW320=DW32
    1 X$ q6 S- ^- p) s! S& k    Dtheta0=Dtheta
    - X+ Y( W2 }9 e2 gend
    ' [2 a: i2 \9 b+ Y8 Aif sumsqr(E(:,j))<error_goal
    4 ]( _( {  s! ^( a    disp('good')" D/ z/ L, X$ N1 G8 j) m( o( _7 A' ^
        x=input('x=')
    9 ^: ?4 Q* P9 |3 v& F    LB=1/(1+exp(-W11*x));   %LB层输出
    $ m, u. s( y# K+ y, Q    LC1=LB*W21;           %LC层输出, t$ r3 y9 J3 J
        LC2=LB*W22;    %LC层输出
    6 X- q. F( w3 E3 n6 z    , G- [! g1 I$ ?) Q6 F4 e" S3 T
        LD=W31*LC1+W32*LC2  %LD层输出( n# n9 J& \" ~  g. M; m- [: T
        ym=LD-theta %网络输出值% }( F" y3 r. l- V  Y
    break;8 {3 ]8 P" E& H5 o4 o4 v; K" ^$ t6 ^
    end
    0 M# a' p+ F, b' Y( n* |! @end  
    / ^3 b6 Q2 R$ o0 NYY=0;0 v: f9 e! i0 r
        for i=1:length(k)
    5 b: Y3 E) ?5 q/ _    LB=1/(1+exp(-W11*k(i)));   %LB层输出
    7 {. D3 A# B: b( z    LC1=LB*W21;           %LC层输出3 h" l" k9 L- w5 A
        LC2=LB*W22;    %LC层输出
    ( {. ~' _- r0 O( q0 T9 e    LD=W31*LC1+W32*LC2;  %LD层输出
    ; b: J( a0 k; F) n& l6 ~. m    ym=LD-theta;   %网络输出值
    8 c, _8 x8 w9 q! S9 |0 s& @    YY=[YY,ym];. U& X" {% a( Q6 f
       6 E4 o8 T3 }* U
        end6 e  W0 P/ {$ C* [# J: X; E
         YY=YY(2:end);5 J9 Y* ]" w0 P0 W- S+ W1 O
        YY8 }* F: m# p( d( C1 z8 r& v. Q+ }7 X

    . }. L5 a$ M% k
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!
    8 O. O# A/ f& Y数学中国社区分享快乐!
    7 @& R9 E2 \6 x% e% T: Q
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-11 20:12 , Processed in 0.361946 second(s), 58 queries .

    回顶部