Hit top 15% in an unranked Kaggle competition with a score of 0.9946
To classify handwritten digits from 0-9 as labels (classes) - [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- Train : A csv of 784 features - Each feature being a pixel value for a 28*28 image. A target feature containing labels - Test : A csv of 784 features - Each feature being a pixel value for a 28*28 image - Sample Sumbission Csv - A sample submission file telling us how the submission file should look likeBuilt a custom CNN model which had the following architecture
- Adding More Layers (Making the Network deeper to decrease training loss)
- Including Batch Norm, Max Pooling, Padding Layers
- Experimenting with different values of Dropout Regularization (to decrease Validation Loss and hence reduce overfitting)
- Experimenting with different bacth sizes (64 works best)
- Setting up Callbacks : -
- Learning Rate Scheduler to slow down learning as model reached Convergence
- Saving and Loading from the best model with focus on least validation loss
- Finally Ensembling results from various model runs to give a best aggregate results (Mode of prediction labels)
https://www.kaggle.com/code/siddharthmandgi/digit-recognizer-above-0-99-score