2
$\begingroup$

I am using a CNN to classify medical images. I am using a four convolutional layers with ReLU activation followed by a softmax layer. I am using rmsprop as the optimizer. The problem I am facing is the network's test accuracy increases and then goes down. This continues till the maximum number of epochs is reached. I read somewhere that this could be due to the fact that the network shifts its weights in favor of one class, and then has to do so in favor of the other class. I shuffled the test data, to see if this would help, but no such luck. Is there any remedy?

enter image description here

$\endgroup$

2 Answers 2

2
$\begingroup$

Based on the image you are sharing, the training accuracy continues to increase, the validation accuracy is changing around the 50%. I think either you do not have enough data to use neural network or the network is small to capture all the information, in both cases I feel there either under fitting or over fitting problem. Can you give us some information about the database so we can help more

$\endgroup$
11
  • $\begingroup$ journals.plos.org/plosone/article?id=10.1371/…. That is the network I am trying to implement. I have 100 MRI images. I have followed the same procedure as in the paper I have linked to. It is a very similar database. $\endgroup$ Dec 31, 2016 at 15:20
  • $\begingroup$ 100 images is very few , you can not use DNN $\endgroup$ Dec 31, 2016 at 22:17
  • $\begingroup$ Try to use hog or sift with sparse coding and svm $\endgroup$ Dec 31, 2016 at 22:18
  • $\begingroup$ Sorry, I did not make myself clearer. The MRI images have a varying number of slices. I extract these slices, and augment them by rotating them. This gives me around 10k 'images' to work with. The test set is around 1k slices, but it is heavily imbalanced. $\endgroup$ Jan 1, 2017 at 3:27
  • $\begingroup$ What is the learning rate you are using? $\endgroup$ Jan 1, 2017 at 4:39
0
$\begingroup$

With the screenshot you shared, the difference between the training accuracy and the validation accuracy is huge. 90 to 50 is a big gap, which means your model is actually overfitting. It's learning to well from the training data, that it's unable to generalize it with real time or nevee seen data. My guess is the reason it's fluctuating is because of that. Try to increase your dataset, if it's an image classification, try image augmentations and try not to make the model too complex. I'm sure it'll help.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.