QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2142|回复: 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
    7 R3 r  \6 f3 K: j) p求高手解答!!!
    3 x" Z7 W2 R4 z; z* k( B7 g我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。( I1 ~7 J3 b: b3 Q0 z
    但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~
    ! [6 U! B7 r- m3 E5 o9 x6 Nclc
    + p) S0 f& u$ d8 O) \- {6 j7 |clear, K3 N: D5 i$ E  Z  d/ ~9 i+ ?4 y
    k=[1,2,3,4,5];%输入, W! {4 G* J, W- [- Z; X- Q; a  {" {
    for i=1:length(k)
    # S% r8 S$ f! }" M% v    T(i)=sum(k(1:i)); %输出/ j9 h, E# V: ~' U
    end
    / w5 t7 F- Z# U) R# `error_goal=0.01;%目标误差$ I. v+ x' w' B) t! e
    max_epoch=200;%最大训练次数, t" k  z6 `, I+ n! m* q& W! Y
    lr=0.5;%学习速率
    % N$ u* |, e1 Q) ]* u%% 权值阀值初始化; s  h# P7 B7 {3 I- n" |
    E=zeros(length(k),max_epoch);%误差矩阵,便于查看误差
    7 Q; k9 Y; ~4 ^' _& y1 \+ FW11=rands(1);%权值初始化
    . ~. _. t/ ^* s5 B0 d& o. E/ HW2=rands(2,1);, _; z0 A# m0 @6 ?- |8 D4 x
    [W3,theta]=rands(1,2)( S/ n9 R# r  W) m- k! k
    W21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
    ; F$ k2 T6 ?5 D    DW110=0;8 O) r; H8 P: c/ B. Z
        DW210=0;. n* w; ~# s; ~/ t! k- c
        DW220=0;
    , F2 o7 B+ G6 ]) y+ s7 K0 H0 g& w    DW310=0;# r6 j9 R: ^0 O
        DW320=0;% Z' l# d4 z2 [: g9 `( P1 I
        Dtheta0=0;
    1 ?. e: L! b! M4 V* G    mc=0.5;
    ( j4 n/ K: k, _* G%% 循环迭代2 ^5 |/ o' D8 ]0 i* U. r. w
    for j=1:max_epoch, W6 a% X" {9 M$ g# o# z# Z
        lr=lr/sqrt(1+j)   %防止震荡,学习效率递减
    6 j# p3 G+ r$ q% ^" B! @for i=1:length(k)
    - S% ]; H4 s& _/ o2 [( J7 i. z# d   9 w# t# w1 F& h0 R/ m, J; s
       %% 网络输出计算" c# Y+ K1 p& ^/ x. C2 B0 Y# j
        LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数7 N; b+ B" h6 g/ z; G  N
        LC1=LB*W21          %LC层输出 线性函数7 A3 H& b% ?5 r% w; J
        LC2=LB*W22    %LC层输出  线性函数
    + o7 r/ p2 N2 e& B# `0 J. @    LD=W31*LC1+W32*LC2  %LD层输出  线性函数% i( x2 u& [4 \5 N
        ym=LD-theta   %网络输出值
    ; E9 M; I1 Y- G; n! u        / b2 U* I9 g) K4 |* ?7 ]' i
       
    % T+ \/ j* l4 w    %% 权值修正
    ' I$ H4 J$ F% U" g$ A# H    error=T(i)-ym  %计算误差
    ' [# E, f" x: Q. T7 {. P    E(i,j)=error;    %误差统计  
    # d# G6 ~% {7 |# w2 I: [6 w6 `    delta3=error6 y) y" I$ S+ m: k0 ?, G* n6 W9 M! e# h
        delta21=error*W31- ?" Y9 g. A' v# W% \$ F
        delta22=error*W32
    " h& l4 u  s$ ]2 X" D' |    delta1=(delta21*W21+delta22*W22)*(LB*(1-LB))3 u' ~- r" ~$ P& k! K# k
        %修改权值
    $ O2 B) T$ v: s* s) S3 m    DW11=lr*delta1*k(i)
    * Z1 _- U# x. K+ X' I    DW21=lr*delta21*LB. b! c7 S# ?$ E! L2 W
        DW22=lr*delta22*LB
    3 o. Q7 M/ i) V5 ]0 L) Y" h' g    DW31=lr*delta3*LC1
    , i7 A' D; D' g+ `- @) P2 Q" E' h    DW32=lr*delta3*LC2
    9 N) s- H  v6 u# i, _    Dtheta=lr*delta3;0 H* G) t( b4 L. Q) g( p7 K/ y
        W11=W11+DW11+mc*DW110
    ( h% e! F! o( D& Z    W21=W21+DW21+mc*DW2106 j9 Y5 P3 f  E5 y4 M* j. e
        W22=W22+DW22+mc*DW220
    / }9 }+ E" s; \    W31=W31+DW31+mc*DW3104 x+ Z5 S9 `) g3 l& S" x/ d4 c
        W32=W32+DW32+mc*DW320
    # T3 o0 l5 v# d% r# T8 D! o    theta=theta+Dtheta+mc*Dtheta0
    7 t$ k* I) x' ?% W: I( W    DW110=DW119 |( R/ L2 h9 x; {9 Y
        DW210=DW21
    ! t# ]/ T/ z5 ]3 E2 s    DW220=DW228 h1 T; S; p# _1 l/ E
        DW310=DW31
    " ~  f0 H0 U4 f    DW320=DW32 6 B: V8 F; l3 P2 M- T. z
        Dtheta0=Dtheta
    - E3 Q1 }: k. \end
    ! N7 z: r( ]" V, Z; ^if sumsqr(E(:,j))<error_goal0 O9 H, o* P  [; c0 g; N
        disp('good')# A$ W! V' M7 J- E, U" i) z8 L
        x=input('x=')
    " I$ J, J3 Z# H: V' i    LB=1/(1+exp(-W11*x));   %LB层输出( s  Q& L$ m) t; f* Q, C- d2 t
        LC1=LB*W21;           %LC层输出
    , z$ U5 h  v# e7 }5 I; B( E* i    LC2=LB*W22;    %LC层输出) A/ K) {7 V6 d( f4 K
        0 S4 t: c2 i/ U& ~
        LD=W31*LC1+W32*LC2  %LD层输出: Q+ C3 k% M" x% a4 K; o1 u
        ym=LD-theta %网络输出值  d' x1 V8 X4 a9 G# V( j* L% G
    break;
    ( ?; F1 B" Q1 g0 \+ E( l% {. _end0 }) l# [0 B2 I0 O6 L! h2 O
    end  ) D! ]; @$ T' J$ g3 x* K
    YY=0;
    % r+ V' d- G; {' |. R! Z    for i=1:length(k)- ]7 ^- O0 O4 c0 T
        LB=1/(1+exp(-W11*k(i)));   %LB层输出
    4 ^. X6 U' C9 r, t0 O, v  H    LC1=LB*W21;           %LC层输出0 q  x8 F1 d- B' U
        LC2=LB*W22;    %LC层输出* B3 T9 @; \) m5 ?  H- I
        LD=W31*LC1+W32*LC2;  %LD层输出
    ! M8 q% t, L( o9 W" s2 ~" l: Z    ym=LD-theta;   %网络输出值
    : @* e" A* t! E4 K8 L! m7 }. `2 P7 z    YY=[YY,ym];: I. h: \: p" M
       $ n$ g5 c: t/ c+ j( E6 _
        end: w" Y# N6 Z( d( X, I
         YY=YY(2:end);3 _6 d0 r9 |" O# ]! A
        YY
    0 _* j4 I: P( C$ y0 ]1 M1 g$ d9 Y* f# P) [7 [- y
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!
    & x9 U3 r5 P  ~- k' Z7 L0 q数学中国社区分享快乐!( e3 S+ Y2 z! D& y
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-5-27 13:19 , Processed in 0.400008 second(s), 58 queries .

    回顶部