hidden layer values of MLP

조회 수: 2 (최근 30일)
Asma
Asma 2015년 8월 31일
답변: Paras Gupta 2024년 7월 17일
Can we get data from the hidden layer of feedforward network? I am using these commands: net = feedforwardnet; [net, tr] = train(net, test, target);

답변 (1개)

Paras Gupta
Paras Gupta 2024년 7월 17일
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:

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by