Improving my Image Classification Model

(Soumadiptya Chakraborty) #1

Hi All,
I just completed the first Lesson in the course which introduces one to Image classification and gives some of the basic code. As per Jeremy’s suggestion I thought the best way to learn anything would be to actually try my hand at training a model on my own Image classification problem.
I have taken part in an ongoing Analytics Vidhya (it’s kind of the Indian counterpart to Kaggle) hackathon on Image classification. Here are the details about the problem:-
Problem Statement- Classify images of ships into 5 categories cargo ship, war ship, cruise vessel etc.
No. of categories- 5
No. of training images- 6580
No. of test images- 2480

What I have tried:- I have basically tried the code shown in the first notebook with a variety of different architectures (Resnet 18, 34, 50 etc). I have tried unfreezing the weights and retraining the model, finding best learning rate etc. But I’m unable to move beyond 95% Fbeta (this is the target measure for the competition) which puts me near rank 100 on the leaderboard. The top results are around 98.7%.

Any tips on things to try out for improving the model would be greatly appreciated :). If more details are required for the question please let me know.
P.S.- This is my first question on the forum so kindly excuse if I selected the wrong thread.

0 Likes

(RobG) #2

Try “cross validation”. Search the forum/inter web for stratified k fold. Here, instead of taking a random set of data for validation, you construct representative “folds” where each category is well represented. Eg in a 3-fold validation you divide the data into A, B, and C folds. Train with AB and C as validation, AC and B as validation, finally BC with A as validation. Predict your test set against all 3 models and average. Start with 5-fold. You should get an improvement. Sometimes.

Try non resnet models, like densenet. Search the forum/docs for how.

Try “ensembling”. Here, make predictions against models trained with different architectures and average those predictions. Often works best with very different archs like resnet and densenet. Another boost. Sometimes.

Best of luck!

0 Likes

(Soumadiptya Chakraborty) #3

Thanks a lot. I will try out the suggestions :slight_smile:

0 Likes