How to use weights and bias from Neural Network Toolbox for classification

11 Ansichten (letzte 30 Tage)
I found a code in Matlab Answers for regression:
x = 0:0.1:10; % input dimension 1x101
y = sin(x); % output dimension 1x101
neurons = 10;
net = feedforwardnet(neurons);
net = train(net,x,y);
outputs = sim(net,x);
w1 = net.IW{1,1};
w2 = net.LW{2,1};
b1 = net.b{1};
b2 = net.b{2};
xx = x;
yy = zeros(size(y));
for ii = 1:length(net.inputs{1}.processFcns)
xx = feval(net.inputs{1}.processFcns{ii},...
'apply',xx,net.inputs{1}.processSettings{ii});
end
for jj = 1:size(xx,2)
yy(jj) = w2*tansig(w1*xx(jj) + b1) + b2;
end
for kk = 1:length(net.outputs{2}.processFcns)
yy = feval(net.outputs{2}.processFcns{kk},...
'reverse',yy,net.outputs{2}.processSettings{kk});
end
How can I change the following equation for a classification problem, for example [x,y] = simpleclass_dataset?
yy(jj) = w2*tansig(w1*xx(jj) + b1) + b2;
Because the input and output dimensions are different from the regression example.
For simpleclass_dataset the input dimension is 2x1,000 and the output dimension is 4x1,000.
Thank you!

Akzeptierte Antwort

David Franco
David Franco am 1 Okt. 2020
I found the answer (output and yy are equal):
% Simulated a Neural Network
clear
close
clc
rng default
[x,y] = simpleclass_dataset;
neurons = 10;
net = feedforwardnet(neurons);
net = train(net,x,y);
outputs = sim(net,x);
% outputs = round(outputs);
figure, plotconfusion(y,outputs)
w1 = net.IW{1,1};
w2 = net.LW{2,1};
b1 = net.b{1};
b2 = net.b{2};
xx = x;
for ii = 1:length(net.inputs{1}.processFcns)
xx = feval(net.inputs{1}.processFcns{ii},...
'apply',xx,net.inputs{1}.processSettings{ii});
end
a1 = tanh(w1*xx + b1);
yy = purelin(w2*a1 + b2);
for mm = 1:length(net.outputs{1,2}.processFcns)
yy = feval(net.outputs{1,2}.processFcns{mm},...
'reverse',yy,net.outputs{1,2}.processSettings{mm});
end
figure, plotconfusion(y,yy)
=)

Weitere Antworten (0)

Kategorien

Mehr zu Sequence and Numeric Feature Data Workflows finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by