hidden layer values of MLP

2 views (last 30 days)
Asma
Asma on 31 Aug 2015
Answered: Paras Gupta on 17 Jul 2024
Can we get data from the hidden layer of feedforward network? I am using these commands: net = feedforwardnet; [net, tr] = train(net, test, target);

Answers (1)

Paras Gupta
Paras Gupta on 17 Jul 2024
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:

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!