updateparameters.m

来自「基于BP模型的神经网络模型」· M 代码 · 共 38 行

M
38
字号
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
%  updateParameters(network,ETA,ALPHA) - update mNN parameters.
%  
%  Author: Povilas Daniu餴s, paralax@hacker.lt
%  http://ai.hacker.lt - lithuanian site about Artificial Intelligence.
%
%  ----------------------------------------------------------------------

function f=updateParameters(network,ETA,ALPHA)  
       
left_size = length(network.left(1).w);
right_size = length(network.right(1).w);

 for j=1:network.regressors         
        network.weights(j) = network.weights(j) + ALPHA*network.dweights(j) - ETA*network.d(j);
        network.dweights(j) = ALPHA*network.dweights(j) - ETA*network.d(j);
        network.d(j) = 0;
        if (j>1) %internal weights
            for k=1:left_size     
                             network.left(j).w(k) = network.left(j).w(k) + ALPHA*network.dleft(j,k) - ETA*network.d_left(j,k);
                             network.dleft(j,k) = ALPHA*network.dleft(j,k) - ETA*network.d_left(j,k);
                             network.d_left(j,k) = 0;
            end                  
            
            for k=1:right_size     
                         network.right(j).w(k) = network.right(j).w(k) + ALPHA*network.dright(j,k)  - ETA*network.d_right(j,k);
                         network.dright(j,k) = -ETA*network.d_right(j,k);
                         network.d_right(j,k) = 0;
            end  
            
            network.bias(j) = network.bias(j) + ALPHA*network.dbias(j) - ETA*network.d_b(j);
            network.dbias(j) = ALPHA*network.dbias(j) - ETA*network.d_b(j);
            network.d_b(j) = 0;
        end            
 end
 f=network;
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?