HOW TO INCREASE TESTING ACCURACY IN CNN?

17 次查看(过去 30 天)
I have 5600 training images. I have extracted features using Principal Component Analysis (PCA). Now I am applying CNN on feature vector. Testing accuracy is 18%. How to increase testing accuracy?
Feature vector size: 640*1
Training code:
layers = [
imageInputLayer([1 640 1]);
reluLayer
fullyConnectedLayer(7);
softmaxLayer();
classificationLayer()];
options = trainingOptions('sgdm', 'Momentum',0.95, 'InitialLearnRate',0.0001, 'L2Regularization', 1e-4, 'MaxEpochs',20);

回答(3 个)

vaibhav mishra
vaibhav mishra 2020-6-30
Hi,
there can be different ways to increase the test accuracy.
If your training accuracy is good but test accuracy is low then you need to introduce regularization in your loss function, or you need to increase your training set.
if your training accuracy increased and then decreased and then your test accuracy is low, you are over training your model so try to reduce the epochs.
if your both training and testing accuracy are less then try to either change your model architecture, or increase the training data or decrease learning rate or increase the number of epochs.
Feel free to ask for any clarification.

Saira
Saira 2020-7-9
Hi,
I changed the training parameters but the testing accuracy is still not increasing. What should I do to increase accuracy?
Code:
options = trainingOptions('adam', 'InitialLearnRate',3e-4, 'SquaredGradientDecayFactor',0.99, 'L2Regularization',0.521, ... 'MaxEpochs',500, 'MiniBatchSize',64, 'Shuffle','every-epoch', 'Plots','training-progress');

o.cefet cefet
o.cefet cefet 2020-9-1
Hello, my dear.
I think you could insert two things: layer dropout and data augmentation.
It's fine with your regularization code, but now you have to change the value of these regularizations, and look for "the best value".

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by