updateparameters.asv

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

ASV
43
字号
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
%  updateParameters(network,ETA,ALPHA) -
%
%  Parameters: network -  neural network with matrix networks
%              data - training data sample
%              iterations - how many iterations to perform training
%
%  Author: Povilas Daniu餴s, paralax@hacker.lt
%  http://ai.hacker.lt - lithuanian site about Artificial Intelligence.
%
%  TODO: weighted MSE minimization, maximal likelihood method, multiple
%  activation function support.
%  ----------------------------------------------------------------------
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+1         
        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 <= network.regressors) %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,k) - ETA*network.d_b(j);
            network.dbias(j) = ALPHA*network.dbias(j,k) - ETA*network.d_b(j);
            network.d_b(j) = 0;
        end            
 end
 f=network;
 

⌨️ 快捷键说明

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