How do I find the features extracted from input data set using auto encoder?
11 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Pratyush Roy
2022-1-5
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!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Pattern Recognition and Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!