How do I find the features extracted from input data set using auto encoder?
11 views (last 30 days)
Show older comments
Kusal DuttaGupta
on 30 Dec 2021
Commented: Kusal DuttaGupta
on 7 Jan 2022
Input data has 34 features
I have used trainAutoencoder function to train the network
I used hidden layer of 10 neurons
I have used encode function to retrieve encoded data from input
But I am unable to map the 10 features in hidden layer to any of the 34 features in input because the encoder part of autoencoder has encoded the input
I need to identify which of the 10 features out of total of 34 features have been extracted. Please advise regarding how to proceed.
0 Comments
Accepted Answer
Pratyush Roy
on 5 Jan 2022
Hi Kusal,
In my understanding, you want to identify which of the input features has been extracted during the encoding process in an autoencoder.
Currently there might be no direct way to extract this information. However, as a workaorund you can consider exracting the encoder weights and biases using the EncoderWeights and EncoderBiases properties of the AutoEncoder object obtained afetr training the model.
The following code snippet might demonstrates how to obtain the biases and weights
autoenc = trainAutoencoder(X);
W = autoenc.EncoderWeights;
b = autoenc.EncoderBiases;
h = autoenc.EncoderTransferFunction;
The input(X) and the encoded vector(Z) are related to each other through the following relation:
This can help us to understand which of the input vector components have been extracted as part of the hidden output.
Hope this helps!
More Answers (0)
See Also
Categories
Find more on Pattern Recognition and Classification 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!