demo_incremental.m

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

M
66
字号
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
%  Incremental ELM learning DEMO
%
%  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.
%  ----------------------------------------------------------------------

clear all

alpha = 0.9;       % inertia
eta = 0.005;       % inital learning rate
epsilon = 0.03;    % needed MSE
epsilon1 = 0.001;  % minimal descent (stopping criteria) - all iterations in this case
neurones = 1;
n = 10;
numEpochs = 30;
earlyStop = 5;      

x = [0:0.01:n];
e = randn(1,100*n + 1)*0.2;
y = sinc(n/2 - x)  + e;



for i=1:100*n-6
    data.training(i).mat = [y(i+1), y(i+2); y(i+3), y(i+4); y(i+5), y(i+6)];  % matrix 
    data.vtraining(i,:) = [y(i+1), y(i+2), y(i+3), y(i+4), y(i+5), y(i+6)];   % vector
    data.target(i) = y(i+7);
end

data.vtraining = data.vtraining';

e = mNN_device(neurones,size(data.training(1).mat),alpha,eta,epsilon,epsilon1,earlyStop);
%e_elm = ELM_incremental(e,data,0.00001,50); 
e_elm = ELM_Rtrain(e,data);

% -----------------------------------------------------------------------
clear data;

x = [0:0.01:n];
er = randn(1,100*n + 1)*0.2;
y = sinc(n/2 - x) + er;



for i=1:100*n-6
    data.training(i).mat = [y(i+1), y(i+2); y(i+3), y(i+4); y(i+5), y(i+6)];  % matrix 
    data.vtraining(i,:) = [y(i+1), y(i+2), y(i+3), y(i+4), y(i+5), y(i+6)];   % vector
    data.target(i) = y(i+7);
end

data.vtraining = data.vtraining';
s_elm = mNN_sim(e_elm,data);

figure;
plot(data.target,'r-');
hold on;
plot(s_elm,'b-');

sse4 = sum((data.target - s_elm).^2);
sse4 = sse4 / length(data.target)

⌨️ 快捷键说明

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