HOW TO INCREASE TESTING ACCURACY IN CNN?

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);

Answers (3)

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 on 9 Jul 2020
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');
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".

Categories

Asked:

on 29 Jun 2020

Answered:

on 1 Sep 2020

Community Treasure Hunt

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

Start Hunting!