QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2194|回复: 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
    * d! G) D% l4 k3 s3 y) Y求高手解答!!!
    / s2 w0 d: D) `我单步执行的结果是第一隐层输出饱和了。因为是为了后面的程序做准备,所以不想归一化。用工具箱的话是可以实现的。/ m, L4 H) i% A6 Y9 J2 A
    但是从底层编的话该怎么改呢?望高手解答!心里那个急啊~~~~~~
    * L1 H( r. I5 R) `clc; x9 X8 p6 t4 P& ~/ h( g
    clear
    : T: @* y) k! M( o' d. b- fk=[1,2,3,4,5];%输入' \2 |* O$ d: l6 P! d  g5 \) e& m
    for i=1:length(k). w2 x; ]) v7 F: g4 N
        T(i)=sum(k(1:i)); %输出* j2 r; }. r! Z. ~) n5 H
    end  {+ A! N: {5 u! d
    error_goal=0.01;%目标误差, M: \+ T/ h8 |# ?2 ^6 ~/ _! u5 [; q
    max_epoch=200;%最大训练次数" T) d+ ^: x8 o9 g0 H1 J
    lr=0.5;%学习速率
    ! {; r, C- n% ?. b%% 权值阀值初始化
    + v: i" Z% A3 v* [5 }E=zeros(length(k),max_epoch);%误差矩阵,便于查看误差8 O" @8 o. ~" Y
    W11=rands(1);%权值初始化
    4 Z: F5 _6 E2 |/ W4 ~, qW2=rands(2,1);- p% z2 t& P3 q$ F4 ?3 s* [. T
    [W3,theta]=rands(1,2)
    - S$ U& L+ X0 d$ VW21=W2(1)/4;W22=W2(2)/4;W31=W3(1)/4;W32=W3(2)/4;theta=theta/4;
    5 c  ?: n1 Z! ^% @% |    DW110=0;0 D) Q: O" T$ ]( ~/ H" X  E
        DW210=0;: [, |% J9 z$ [( @' i  G
        DW220=0;
    0 i3 l2 y3 [' {5 B8 Z    DW310=0;  [3 m. _( \9 w
        DW320=0;5 A5 c  H8 M, r' T4 @
        Dtheta0=0;/ ?# l$ F/ K4 l- k* x
        mc=0.5;3 {% s$ N/ k2 g: O. I5 ]$ a2 V
    %% 循环迭代. ]6 T4 b/ Z+ l2 {' H9 y
    for j=1:max_epoch
    ) }) O0 Q7 P8 i4 I    lr=lr/sqrt(1+j)   %防止震荡,学习效率递减0 B/ \4 @' N3 m- O4 s
    for i=1:length(k)
    9 I0 K0 t4 w4 c# d# `   
      t4 S$ u' `) C( C, [+ c# L   %% 网络输出计算
    / n1 W: {% ?2 m    LB=1/(1+exp(-W11*k(i)))   %LB层输出 sigmod函数: O* x6 |7 L5 J# p* o
        LC1=LB*W21          %LC层输出 线性函数9 p! Y3 q  T" U" c0 e3 Y
        LC2=LB*W22    %LC层输出  线性函数
    + e" T* C/ m' E% x    LD=W31*LC1+W32*LC2  %LD层输出  线性函数
    9 u8 S2 V& z4 n  \1 r$ C    ym=LD-theta   %网络输出值% s3 h2 [. J  E" f
            8 [# U0 Y" [' e7 h
        8 S+ c6 L0 E, w  G! @
        %% 权值修正: O6 w9 r* T; m% ]" Q
        error=T(i)-ym  %计算误差
    , C* R% x, p, K; m    E(i,j)=error;    %误差统计  
    : c% E4 S1 ^$ O. ?8 B0 }. I    delta3=error( d# I1 z1 x$ d$ n% a" k# ~- T
        delta21=error*W31' b" y$ c0 j- x% v& g8 o* c. c
        delta22=error*W32
    / r! b/ ]1 e& ]: [3 v6 r6 s    delta1=(delta21*W21+delta22*W22)*(LB*(1-LB)): g1 V# p" l0 W% l% z) e4 A
        %修改权值9 B) k0 f4 Y/ x9 H! a) z6 L' B
        DW11=lr*delta1*k(i)3 B6 U1 a/ u; `
        DW21=lr*delta21*LB
    4 V4 B$ k" f0 ]  S8 G/ y- B    DW22=lr*delta22*LB) z$ ]( w4 f' |3 o0 Z  b
        DW31=lr*delta3*LC1
    ! {  |* n1 W) B5 O5 A    DW32=lr*delta3*LC2
    6 g& P& a3 }* p" f4 l: E- n7 {; w* N* z( W    Dtheta=lr*delta3;, N5 f* O9 e2 ]7 C8 j% ?$ {7 v
        W11=W11+DW11+mc*DW110
    * V5 e3 N7 ~' f; N    W21=W21+DW21+mc*DW210
    # y7 X% P9 ^+ ~  d5 H    W22=W22+DW22+mc*DW220
    & K5 u( X3 H3 D* B4 j. H# q    W31=W31+DW31+mc*DW310
    5 z. S; K4 b# S7 w$ U0 n! F    W32=W32+DW32+mc*DW320
    2 V; W3 {' X) }9 E3 \0 c* q8 A9 D/ O    theta=theta+Dtheta+mc*Dtheta0! b9 ~9 P0 \# d
        DW110=DW11
    1 f3 h! ~" S8 n: v% Z7 e6 J; w7 Q- T    DW210=DW211 F( P9 r; L/ z! j+ k0 [
        DW220=DW22/ A. M6 H7 c) `% o3 \! s3 y
        DW310=DW31
    , o5 L' q3 u/ ^    DW320=DW32 ( {, v5 \* A' ~7 L! m! V
        Dtheta0=Dtheta
    6 Z. f( Q; E8 ]0 a+ Q. V, }* x+ Mend% z* x- R* C$ M. h
    if sumsqr(E(:,j))<error_goal4 [6 q( B' w* N' ?% s/ `
        disp('good')
    % k; H4 G# A( P- H% i9 ?    x=input('x='). y8 Z. F% c, u% G! \3 T+ l
        LB=1/(1+exp(-W11*x));   %LB层输出
    . M" k$ y$ h) C- n2 `' W7 F* B    LC1=LB*W21;           %LC层输出
    ; ~4 k* J  y7 Z    LC2=LB*W22;    %LC层输出9 r) ?' s" T" S& i" s, a5 s
        , }" I) H, {; W, ^6 {+ Z8 Y
        LD=W31*LC1+W32*LC2  %LD层输出) R: q( {$ o7 t2 t; F$ r
        ym=LD-theta %网络输出值/ `  k9 K" r" m. v, ^
    break;% p% H+ t2 D/ n* Z2 X! D/ n- R5 R: x
    end0 {# y+ ^% r! G% U
    end  
      ~+ Y/ n" [* {9 K- H7 wYY=0;3 j3 h# m: [+ _; q
        for i=1:length(k)
    % O9 T$ f: U5 ~- x/ |, {/ k    LB=1/(1+exp(-W11*k(i)));   %LB层输出* f4 S2 N6 A5 D
        LC1=LB*W21;           %LC层输出6 }) W' g* `) I3 `  ~- a$ `* d
        LC2=LB*W22;    %LC层输出8 p9 }% K, ~! j. P- m! ]
        LD=W31*LC1+W32*LC2;  %LD层输出/ \& U- j. |( `6 C2 ]  W) F, V$ j
        ym=LD-theta;   %网络输出值# ^" x& t. n0 q$ ^
        YY=[YY,ym];
      }9 h' S% t; Y, Q   1 H. t! c/ ^! ~" S
        end
    . C2 v2 r$ X* v5 k     YY=YY(2:end);$ a/ u/ O6 [+ \3 G, @0 n( Q  t3 _
        YY$ u- z, x+ f# X

    . F. s. b; |% k2 e8 `8 o
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨帆 实名认证       

    4

    主题

    4

    听众

    626

    积分

    升级  6.5%

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

    [LV.8]以坛为家I

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

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

    群组数学建模

    群组我们一定会赢

    既然你诚信诚意的推荐了,那我就勉为其难的听听吧!3 C) z; X* m- M) h
    数学中国社区分享快乐!  N. T% L2 f- V% P; J
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-8-31 17:07 , Processed in 0.302167 second(s), 58 queries .

    回顶部