QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2170|回复: 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
    ) |. }% `9 w5 P! j, q+ ?; Y求高手解答!!!
    ! t# y9 @- i! d* V3 g. z我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。0 E3 f6 f9 U4 e% H3 I$ p8 A2 T
    但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~
    3 m4 o; Z/ b5 w+ V: [- Aclc9 c1 n1 s- x& H
    clear; f" R- I/ R- O- |9 a  q8 M
    k=[1,2,3,4,5];%输入3 t* w! s- b; I
    for i=1:length(k)* n" Q- D- m) {: D+ e  G* S
        T(i)=sum(k(1:i)); %输出4 I3 m+ z1 e6 s# |2 i
    end$ ]3 N* o* D# X0 T9 a6 J0 S! Y
    error_goal=0.01;%目标误差
    . |1 U4 n- a- p/ N7 Mmax_epoch=200;%最大训练次数5 _" ?  n. H( O& p( g" |- i
    lr=0.5;%学习速率
      r: m6 `( }: C; v) m%% 权值阀值初始化
    " G: }" h! G* U# U+ A" t5 HE=zeros(length(k),max_epoch);%误差矩阵,便于查看误差% q8 Q  T4 o7 ^4 j- h# p
    W11=rands(1);%权值初始化
    # ?. X" V/ N9 ^+ |# J* OW2=rands(2,1);
    4 D* b. I7 \) W% }( C9 q2 ]% L[W3,theta]=rands(1,2)
    / }0 g, A! q/ Q% DW21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
    # S; g4 S  F% Z7 H    DW110=0;
    $ G1 c3 k* z. @; ?. _    DW210=0;
    : q7 H( r3 `1 J  p. |; p  {6 c    DW220=0;. D; J2 B* O# T/ J+ `
        DW310=0;+ }$ u/ p: R* O+ l0 K
        DW320=0;& h! l6 j5 N; T4 m
        Dtheta0=0;
    4 N3 `- z! C0 M, |" W    mc=0.5;
    6 `3 B" Q5 D+ x/ O, ^. ]%% 循环迭代
    - c! W* _/ N$ p* m* d for j=1:max_epoch
    * a3 P4 e2 x5 {$ r! ^# y, I0 [: [    lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    $ P: ^* s# ~1 U  j9 r4 u8 Tfor i=1:length(k)& o( G* D; g3 X* r& k  B3 I5 n
       
    7 c+ m( t1 `8 z* I   %% 网络输出计算
    ) b. n7 D3 k  F; ?    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数
    4 w% C9 q+ B9 m+ H0 @' K    LC1=LB*W21          %LC层输出 线性函数( i* T' i) n8 S
        LC2=LB*W22    %LC层输出  线性函数
    1 X! u! ]$ Y; ~, z; y5 l4 d+ E+ g    LD=W31*LC1+W32*LC2  %LD层输出  线性函数' O% T9 }$ K( v. C( J' i' b* @2 q
        ym=LD-theta   %网络输出值
    - {2 d/ A* E( q5 X2 w        ) D6 Z0 w" b8 |
        / e: Y( G# f8 m' P4 t( Y
        %% 权值修正" A8 Q3 ?! `* y6 Q0 z' v' w( M# x
        error=T(i)-ym  %计算误差% |) m1 y9 D9 |+ k7 `7 {, r
        E(i,j)=error;    %误差统计  . k# [  }$ \; c+ Y$ R/ n8 ]
        delta3=error
    ' {1 k) u: \6 L( b% M. v4 N+ G    delta21=error*W31
    . d! S/ P2 w9 b% P4 Z    delta22=error*W32& o$ l! h' E9 y6 A. q* o' A
        delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))+ C2 f" {: z. L5 ^7 Y* k8 u
        %修改权值; v4 q5 Z% v  I
        DW11=lr*delta1*k(i)
    / k7 U: P' c) o    DW21=lr*delta21*LB7 w5 e2 X; u% X9 D7 u
        DW22=lr*delta22*LB
    # H% |3 `5 L4 @. _8 W    DW31=lr*delta3*LC10 U$ j! x5 l7 ?" ]& y: M# @* d
        DW32=lr*delta3*LC2/ N8 t& J5 C+ _6 c* p" l
        Dtheta=lr*delta3;
    2 |* x% z0 K( g  j3 }8 N6 W$ X( K    W11=W11+DW11+mc*DW110$ n3 e. Q- B& f: J6 L' g8 V
        W21=W21+DW21+mc*DW2107 M5 e& F$ t5 D' U
        W22=W22+DW22+mc*DW220: o- I' i5 u0 _- `4 c
        W31=W31+DW31+mc*DW310, S" _- ~. [5 t, n
        W32=W32+DW32+mc*DW320& q* G( q5 _7 O
        theta=theta+Dtheta+mc*Dtheta0: C- |% Q7 @3 l  L$ K4 J0 t
        DW110=DW11
    ; {6 G! V# _7 a" C# P    DW210=DW21
    2 _! b8 }- O' t+ S) {; M) g- p    DW220=DW22
    & o0 v; j' k* M8 F; F* c) U    DW310=DW31
    " l. R! o. U6 u    DW320=DW32 # J  A# P" s/ n" f% V! _2 {, v
        Dtheta0=Dtheta
    8 j7 K; h6 p9 S  a  _end
    6 m; l7 y- u  h. b. J) e0 ~if sumsqr(E(:,j))<error_goal
    9 @' G. x) Y) P    disp('good')
    4 B  y# }1 F' P: d# i* p: h    x=input('x=')3 s7 w1 u3 |4 b% q' n
        LB=1/(1+exp(-W11*x));   %LB层输出
      Q* k- L1 I1 b% `# h4 }    LC1=LB*W21;           %LC层输出
    ; Z2 ]" K' \) s- n: B/ o    LC2=LB*W22;    %LC层输出
    5 i8 O  E7 `* V    / @1 p8 O0 ^8 [4 {4 [# f
        LD=W31*LC1+W32*LC2  %LD层输出
    & ~+ ^: z+ b! e* K# p    ym=LD-theta %网络输出值
    & S8 I: ?' U! ?! G7 Fbreak;* t/ U& k: |# D
    end5 A( }. n' U  S+ j6 x
    end  
    % z2 v! {# Z& B3 X# wYY=0;  Q& A9 ?! q; a( {3 c
        for i=1:length(k)
    ! H+ [: A' G0 R' Z) w" y0 k    LB=1/(1+exp(-W11*k(i)));   %LB层输出
    $ o: [+ ^0 o4 e; [! F' m    LC1=LB*W21;           %LC层输出
      T+ m" J& ]- T    LC2=LB*W22;    %LC层输出" ?4 Q" i$ E# s) g
        LD=W31*LC1+W32*LC2;  %LD层输出
    + S& E+ ^! d+ }# I2 O; P# E# ?8 V    ym=LD-theta;   %网络输出值" s: V% I& P. {$ ~( d; [
        YY=[YY,ym];, i) o5 j) ?5 j! }4 N0 s1 u% o( r
       
    / _8 R- q: Z) ^5 S+ `    end
    + f3 T* [3 ^& a/ s, z( ?     YY=YY(2:end);
    # E7 `' X' i( L: V    YY) I$ U3 S, D3 q/ K
    % V5 A" F1 h/ u$ _3 D
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!' |- ]+ |& V. V* {8 L4 `5 k
    数学中国社区分享快乐!
    4 E& N: `8 f) z) e/ Z' u; b
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-12 08:12 , Processed in 0.459454 second(s), 58 queries .

    回顶部