QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2199|回复: 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
    4 p' S! B& ~: U0 C+ I( F求高手解答!!!
    / _8 O' o2 |+ A# L# D5 r6 c: o我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。' D8 ~$ T8 \! I9 |  D, |
    但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~
      x$ C, X: a# w& G" M4 F4 ?clc
    6 B+ k' f) h- K  N4 jclear$ W% P- G4 K+ m
    k=[1,2,3,4,5];%输入* W$ d' E: v1 J5 f2 ]
    for i=1:length(k)$ Y/ g* o9 E  q5 Q1 P. M+ n
        T(i)=sum(k(1:i)); %输出$ B2 O: X  |' p! C
    end
    - \, a* O3 n, G2 \% Verror_goal=0.01;%目标误差
    1 a  w, p: J/ Y/ m8 Z2 Mmax_epoch=200;%最大训练次数
    $ h. p6 ?. d' z( v5 _lr=0.5;%学习速率8 l- T6 j+ f$ J! ^* q7 I, _
    %% 权值阀值初始化- R0 A7 w, B( c6 f
    E=zeros(length(k),max_epoch);%误差矩阵,便于查看误差9 J0 r+ }% B# O  j2 T0 F" i: w
    W11=rands(1);%权值初始化6 k* ?5 i* ?2 c  p4 T; O) Q
    W2=rands(2,1);# M$ j+ U2 x: W) I6 v+ L1 R8 |9 |' A
    [W3,theta]=rands(1,2)
    3 m3 a# L8 A7 j' [- aW21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
    # h6 Z& n7 V; b9 d) M% Y. z    DW110=0;( T8 ~7 ~3 x* a& A0 X3 h! j
        DW210=0;2 G! C0 W7 |( b: x& _0 J
        DW220=0;$ O6 f$ i, n1 y. B" {
        DW310=0;( |/ Q8 `5 `) n. D; B
        DW320=0;
    $ z+ ~) i) j3 n& g    Dtheta0=0;5 f" ?4 u" R4 Q- e( M
        mc=0.5;
    6 W: z4 @3 c5 R- j, K# }3 f6 L8 j- _%% 循环迭代
      K% g' k8 K8 u( G! t for j=1:max_epoch0 G1 w) N( W/ I- W$ M. L
        lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    % k( B7 n$ J( R/ Vfor i=1:length(k)
    4 L' h3 e/ I5 ^   ! A" M$ h( v$ b* K& ]/ e
       %% 网络输出计算
    6 P! C4 D& Y% a2 m1 e: S8 `    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数
    ) E6 D! w. I& \- t2 S    LC1=LB*W21          %LC层输出 线性函数
    ; k# O0 T, L$ r' J+ M. `    LC2=LB*W22    %LC层输出  线性函数0 E: ^- s$ W/ O# ]" D. ~
        LD=W31*LC1+W32*LC2  %LD层输出  线性函数
    : \4 R& X1 R, j- [$ q4 B+ p$ i. n    ym=LD-theta   %网络输出值
    ( E/ B( F! J4 ^  e7 q9 G8 S        
    % i; N& f! `' v# r* @) k5 U   
    0 w9 K1 c& E% O: u4 z" q    %% 权值修正/ v  n( L/ @7 H# i
        error=T(i)-ym  %计算误差4 {9 `( q4 ?7 s5 d. {/ D
        E(i,j)=error;    %误差统计  
    ; k( \, E. o- \. y& y7 \; Q! E: E    delta3=error! I/ e) c2 ?. {6 r3 N# }3 z
        delta21=error*W318 l4 L7 c' ~5 Q  ~$ a$ C
        delta22=error*W32
    " h. a+ Q. V+ K" p    delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))9 b1 _$ O/ Q, S, U
        %修改权值
    6 I. f6 g# E% O: o9 k+ r6 B    DW11=lr*delta1*k(i)/ e! u+ z/ ]6 S$ X& f; k5 L" I4 a
        DW21=lr*delta21*LB, s7 c9 e5 ?- v  B
        DW22=lr*delta22*LB% ~# R$ ^4 ?2 V3 N% B
        DW31=lr*delta3*LC10 `, Q9 r3 {3 n) H+ K
        DW32=lr*delta3*LC23 h* p( j( @2 S, r3 x; I
        Dtheta=lr*delta3;" k3 }" r& j' k- E
        W11=W11+DW11+mc*DW110( Y& @: b8 w, v2 G* K8 X1 J
        W21=W21+DW21+mc*DW210
    " i- ~6 N( Z' Z1 f6 c    W22=W22+DW22+mc*DW220
    1 V5 k" R8 J4 m! I5 d. s4 V    W31=W31+DW31+mc*DW310$ x( ^, l# }  J1 n6 i
        W32=W32+DW32+mc*DW320
    0 C1 j% X, @5 O* N0 R    theta=theta+Dtheta+mc*Dtheta04 M8 V9 W7 Q5 m  {
        DW110=DW11
    ; E9 M% m. c5 a* N    DW210=DW21
    . x& m) \+ z4 a1 b$ J: s/ m" a    DW220=DW22
    : J: d5 T9 Q; C: M3 g) a% j    DW310=DW312 H6 m( I7 }) H# K  x7 ^
        DW320=DW32
    " B  B7 h6 Z: z7 z! ~( k% h    Dtheta0=Dtheta
    + y2 p8 x2 z- V4 z: xend& w) \9 M$ J7 u  W2 V. v1 r
    if sumsqr(E(:,j))<error_goal
    1 {- \) o. O+ Y7 \$ M2 X    disp('good')
    ( L8 B+ U& G9 r& x! F6 e( q8 g% m    x=input('x=')
    # t. \9 }( r! _' q" W    LB=1/(1+exp(-W11*x));   %LB层输出
    . x; }7 f- J; u9 E  s    LC1=LB*W21;           %LC层输出& ^1 s0 A! E) [/ x' l5 n
        LC2=LB*W22;    %LC层输出
    ) o2 y' N. Y, J$ ]   
    . V: Z5 Z- N+ l( i5 ]0 V    LD=W31*LC1+W32*LC2  %LD层输出
    ( |( B% v! |, v! P* j    ym=LD-theta %网络输出值
    * {' E7 I( M1 u2 W. T0 wbreak;
    5 I  F" P! p; `# k9 Qend
    4 d( H" K' [2 t+ v( A1 Zend  
    / S1 S: R" C$ nYY=0;% b! n( K9 H% y$ X& J
        for i=1:length(k)( C* A5 j. \3 v
        LB=1/(1+exp(-W11*k(i)));   %LB层输出: a, j% g! A) l& I
        LC1=LB*W21;           %LC层输出
    8 B; M/ i/ d# e    LC2=LB*W22;    %LC层输出, j' Q' m9 ~/ Y& \* D7 @) p, x3 A
        LD=W31*LC1+W32*LC2;  %LD层输出
    . V9 a9 l! W. @    ym=LD-theta;   %网络输出值
    6 y( X' H) ^& z5 c" C( z* \    YY=[YY,ym];
    ! Y. [0 I8 h& L/ Q# ~- f- K   . N% G5 C! l7 k/ h6 n' P' ?8 O* {
        end
    3 _6 X. X" k& B4 P6 T- C, N     YY=YY(2:end);
    9 s+ M4 ^* @: w5 h5 S  Y  F+ @+ E    YY
    " J1 A$ e! Y- u& R9 K2 Y: z! K* V& N7 L
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!) g# z; t$ I5 t
    数学中国社区分享快乐!5 m; Z6 J3 N8 U. |
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-9-1 02:44 , Processed in 0.397927 second(s), 58 queries .

    回顶部