MATLAB Answers

The accuracy on my LSTM deep learning neural network will not exceed 62.96%

15 views (last 30 days)
Kimberly Cardillo
Kimberly Cardillo on 3 Aug 2020
I am training an LSTM network and the accuracy will not exceed 62.96% and I cannot figure out why. I have tried changing the number of nodes, the max epochs, initial learn rate, etc and i cannot figure out what is wrong. The data is being predicted all into one classification. Sometimes when I change around my training and testing data, the accuracy then will not surpass 60%. Can someone help me figure out what may be wrong?
inLayer = sequenceInputLayer(1);
lstm = bilstmLayer(100,'OutputMode','last');
outLayers = [
layers = [inLayer;lstm;outLayers];
options = trainingOptions('adam', ...
'MaxEpochs',25, ...
'InitialLearnRate',0.01, ...
'Shuffle','every-epoch', ...
net = trainNetwork(dataTrain,fTrain,layers,options);


Sign in to comment.

Answers (1)

John D'Errico
John D'Errico on 3 Aug 2020
You have shown no data, so we cannot truly say if you are doing something wrong. However, it sounds as it what you are doing is:
Suppose I have data where there is some signal, but there is a significant amount of random noise, so a significant unpredictable part.
Would you expect a model to predict perfectly? All you end up doing at some point is predicting noise, thus overfitting the data.
You can't squeeze blood from a rock, though sometimes, if you try too hard, the blood may be coming from your own hands. Try not to squeeze too hard.

  1 Comment

Kimberly Cardillo
Kimberly Cardillo on 3 Aug 2020
My signals do have some noise but I can tell the difference between the classes with just my eyes so shouldn't running it through a deep learning network be able to do the same thing?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!