The accuracy on my LSTM deep learning neural network will not exceed 62.96%
7 次查看(过去 30 天)
显示 更早的评论
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 = [
fullyConnectedLayer(3)
softmaxLayer()
classificationLayer()
];
layers = [inLayer;lstm;outLayers];
options = trainingOptions('adam', ...
'MaxEpochs',25, ...
'InitialLearnRate',0.01, ...
'Shuffle','every-epoch', ...
'Plots','training-progress');
net = trainNetwork(dataTrain,fTrain,layers,options);
0 个评论
回答(1 个)
John D'Errico
2020-8-3
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!