Borrar filtros
Borrar filtros

hidden layer values of MLP

10 visualizaciones (últimos 30 días)
Asma
Asma el 31 de Ag. de 2015
Respondida: Paras Gupta el 17 de Jul. de 2024 a las 4:47
Can we get data from the hidden layer of feedforward network? I am using these commands: net = feedforwardnet; [net, tr] = train(net, test, target);

Respuestas (1)

Paras Gupta
Paras Gupta el 17 de Jul. de 2024 a las 4:47
Hi Asma,
I understand that you want to get the output data from the hidden layers of a feedforward network.
One way to achieve the same is forward propagating through the feedforward network and performing the necessary computations by accessing the transfer function and weights/biases for the different layers in the network. You can refer the following code in MATLAB:
% Define and train the network
[x,t] = simplefit_dataset;
net = feedforwardnet([10, 8, 10]);
net = train(net, x, t);
% Initialize the input
input = x;
% Initialize a cell array to store data from hidden layers
activations = cell(1, length(net.layers));
% Loop through each layer to compute activations
for i = 1:length(net.layers)
if i == 1
% For the first layer, use input weights and biases
weights = net.IW{1,1};
else
% For subsequent layers, use layer weights and biases
weights = net.LW{i, i-1};
end
biases = net.b{i};
% Compute the activation using feval
transferFcn = str2func(net.layers{i}.transferFcn);
% set input for next layer as output of previous layer
input = feval(transferFcn, weights * input + biases);
% Store the activation in the defined cell array
activations{i} = input;
end
The following documentation links can helpful to get more information on the class properties used in the code above:

Community Treasure Hunt

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

Start Hunting!

Translated by