elm_rtrain.m

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

M
49
字号
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
%  ELM_Rtrain(network,data) - train with Resursive Least Squares
%  
%  Parameters: network -  neural network with matrix networks
%              data - training data sample
%
%  Author: Povilas Daniu餴s, paralax@hacker.lt
%  http://ai.hacker.lt - lithuanian site about Artificial Intelligence.
%
%  ----------------------------------------------------------------------


function f=ELM_Rtrain(network,data)

Y = data.target';

% Online mode
% Stage 1: boosting

for i=1:network.regressors
    X(i,1) = 1;
    for j=2:network.regressors
       X(i,j) = tansig( network.left(j).w * data.training(i).mat * network.right(j).w + network.bias(j) );
    end       
end    

M = inv(X'*X);
T = Y(1:network.regressors,:); 
network.weights = M*X'*T;



% Stage 2

for i=network.regressors+1:length(Y)
      clear h
      h(1) = 1;
      for j=2:network.regressors
         h(j) = tansig( network.left(j).w * data.training(i).mat * network.right(j).w + network.bias(j) );
      end        
      h = h';
   
      M = M - (M*h*h'*M)/(1 + h'*M*h);
      network.weights = network.weights + M*h*(Y(i,:) - h'*network.weights);
end      

f = network;

⌨️ 快捷键说明

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