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 + -
显示快捷键?