• 大小: 5KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Matlab
  • 标签: ML  BPnet  

资源简介

两个通用的三层前向神经网络反向传播算法程序,一个采用批量方式更新权 重,另一个采用单样本方式更新权重。其中,隐含层结点的激励函数采用双曲正切函数,输出层的激励函数采用 sigmoid 函数。目标函数采用平方误差准则函数。

资源截图

代码片段和文件信息

function [ w count data] = batchBP( x z yh w t param )
%BATCHBP 此处显示有关此函数的摘要
%   批量BP算法
Nh = param.Nh;
Nx = param.Nx;
Nd = param.Nd;
Ny = param.Ny;
eta = param.eta;
theta = param.theta;

flag = 0;
count = 0;
res = [0 0 0];
resid = 1;
m = 0;
data = zeros(300001);
q = 1;
while(flag == 0)
    Wh = w{1};
    Wy = w{2};
    sj = zeros(NxNy);
    sh = zeros(NxNh);
    deltaj = zeros(NhNy);
    deltah = zeros(NdNh);
    for k = 1:Nx
        for j = 1:Ny
            sj(kj) = z(kj)*(1-z(kj))*(t(kj)-z(kj));
            for h = 1:Nh
                deltaj(hj) = eta*sj(kj)*yh(kh) + deltaj(hj);
            end
        end
        for h = 1:Nh
            sh(kh) = (1-yh(kh)^2)*(Wy(h:)*sj(k:)‘);
            for i = 1:Nd
                deltah(ih) = eta*sh(kh)*x(ki) + deltah(ih);
            end
        end
    end
    Wy = Wy + deltaj;
    Wh = Wh + deltah;
    w{1} = Wh;
    w{2} = Wy;
    [ J z yh ] = forward( x w t param );
    JJ = sum(abs(J));
    data(q) = JJ;
    q = q + 1;
    [ out ] = test( w x t );
    res(resid) = JJ;
    resid = resid + 1;
    if resid == 4
        resid = 1;
    end
    if sum(abs(J)) < theta || isnan(JJ) || (round(res(1)3) == round(res(2)3) && round(res(1)3) == round(res(3)3))
        flag = 1;       
    end
    count = count + 1;
    disp([‘batch迭代第‘ num2str(count) ‘次,正确率为:‘ num2str(out*100) ‘% loss为:‘ num2str(JJ)]);

end
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-10 21:22  CSDN\
     文件        1496  2018-12-10 19:48  CSDN\batchBP.m
     文件        1667  2018-12-10 14:33  CSDN\BP.m
     文件         574  2018-12-10 20:17  CSDN\forward.m
     文件        1508  2018-12-10 20:44  CSDN\mainfunction.m
     文件         214  2018-12-10 19:49  CSDN\sigmoid.m
     文件        1581  2018-12-10 19:48  CSDN\singleBP.m
     文件         239  2018-12-10 19:49  CSDN\tan_h.m
     文件         291  2018-12-10 19:48  CSDN\test.m
     文件         162  2018-12-10 20:55  CSDN\~$HW4.docx

评论

共有 条评论