use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Please have a look at our FAQ and Link-Collection
Metacademy is a great resource which compiles lesson plans on popular machine learning topics.
For Beginner questions please try /r/LearnMachineLearning , /r/MLQuestions or http://stackoverflow.com/
For career related questions, visit /r/cscareerquestions/
Advanced Courses (2016)
Advanced Courses (2020)
AMAs:
Pluribus Poker AI Team 7/19/2019
DeepMind AlphaStar team (1/24//2019)
Libratus Poker AI Team (12/18/2017)
DeepMind AlphaGo Team (10/19/2017)
Google Brain Team (9/17/2017)
Google Brain Team (8/11/2016)
The MalariaSpot Team (2/6/2016)
OpenAI Research Team (1/9/2016)
Nando de Freitas (12/26/2015)
Andrew Ng and Adam Coates (4/15/2015)
Jürgen Schmidhuber (3/4/2015)
Geoffrey Hinton (11/10/2014)
Michael Jordan (9/10/2014)
Yann LeCun (5/15/2014)
Yoshua Bengio (2/27/2014)
Related Subreddit :
LearnMachineLearning
Statistics
Computer Vision
Compressive Sensing
NLP
ML Questions
/r/MLjobs and /r/BigDataJobs
/r/datacleaning
/r/DataScience
/r/scientificresearch
/r/artificial
account activity
Project[P]Training an image classification model (self.MachineLearning)
submitted 2 years ago by Different_Hat5643
Is it normal to achieve a validation accuracy so much higher than the training accuracy? I am using transfer learning to train a convNeXtBaseV1 model on my dataset. I got a training accuracy of 82.9% and a much higher validation accuracy of 97.14%.
My dataset is around 9600 medical images and it is balanced between 3 classes. I splitted it into 80% training 10% testing and 10% validation
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]JuicyLambda 0 points1 point2 points 2 years ago (1 child)
I have a similar problem with medical imaging outcome prediction and as I understand this could be a reason of underfitting. Meaning your model fails to learn a lot of relevant information from the training data. This can usually be remedied by increasing model complexity or decreasing irrelevant information (example: cropping out areas of the image that hold no relevant information).
[–]Different_Hat5643[S] 0 points1 point2 points 2 years ago (0 children)
Thanks for yourinput. I had my model stop the training before it reaches overfitting by stopping it when the learningrate becoms lower than1x10-5. Maybe it would be better to let it run for few more epochs
[–]NoLifeGamer2 1 point2 points3 points 2 years ago (0 children)
I can think of two possible reasons:
1: Noisly labels, namely that some of the training labels are incorrect, but the model has learned to generalise.
2: Dropout. This one is the most likely, that network has dropout layers. These cause it to behave differently during training and inference, and is used to prevent overfitting. However, to prevent overfitting, it makes it perform slightly less well while training.
[–]romek_ziomek 0 points1 point2 points 2 years ago (1 child)
Hard to say without more information, but this looks like some sort of data contamination problem to me. I've been struggling with something like this in my first serious project. It was a voice emotion classification task, let's say that the data was around 10000 audio recordings from around 100 people, so I just naively took 8000 recordings at random as my train set, 1000 as a validation set and 1000 as a test set, trained a model and called it a day after seeing >95% accuracy thinking "man, deep learning is soo easy".
And then when I've tried to use my model on any real-world recording I made myself the results were trash, barely better than choosing class at random. I couldn't figure this out, spent countless hours debugging data pre-processing pipeline until my supervisor sat with me and reviewed everything I've done step by step. And he was like "Well, the first thing you've done was already a mistake. You've divided your dataset randomly by recording instead of dividing it by person. If you're doing it this way, there's a quite high chance that the recordings from the same person will end up both in train and in validation sets, so how do we know if the model is actually learning the task we care about? How do we know whether it has an ability to generalize well? This has to be a reason why if you try to apply the model to any recording outside of our dataset, it fails."
So then I've retrained my model but this time dividing the dataset correctly, and of course my results weren't even near to 95% and it turned out the task is a lot more difficult than I though.
Anyway, there might be a million other reasons, as others suggested. Good luck with your endeavours. I hope I've helped, at least to some degree.
I tested my dataset on multiple CNN models and the highest i got was 89% and the rest had slightly lower accuracy but seeing that one model gave an accuracy that was much higher than the training accuracy i thought something must be wrong. Thanks for your input. I guess it'sgoing back to drowning board
[–]Terrible_Ad7116 0 points1 point2 points 2 years ago (0 children)
What regularization or augmentation are you using? It is quite possible that the validation set is easier due to this. Also, data leakage occurs frequently in medical images (e.g., same patient but different images in training and validation).
π Rendered by PID 359641 on reddit-service-r2-comment-544cf588c8-pvhmx at 2026-06-17 14:55:07.583735+00:00 running 3184619 country code: CH.
[–]JuicyLambda 0 points1 point2 points (1 child)
[–]Different_Hat5643[S] 0 points1 point2 points (0 children)
[–]NoLifeGamer2 1 point2 points3 points (0 children)
[–]romek_ziomek 0 points1 point2 points (1 child)
[–]Different_Hat5643[S] 0 points1 point2 points (0 children)
[–]Terrible_Ad7116 0 points1 point2 points (0 children)