How to reduce overfitting is the most important question many machine learning practitioners ask while working on projects. Well, that’s a good question because we all want models that perform well on unseen data. In this article, I’ll walk you through how to reduce overfitting in machine learning models.
What is Overfitting in Machine Learning?
Overfitting can be defined in different ways. Let’s say, for the sake of simplicity, overfitting is the difference in quality between the results you get on the data available at the time of training and the invisible data.
The relevant difference between the two datasets is that you can rate your models on the first one, but you cannot rate your models on the second.
How to Reduce Overfitting?
The answer to how to reduce overfitting concerns the method you use to evaluate your models. This is to avoid using the same validation data too often.
This is because if you always use the same validation data to evaluate the models and select them, then you integrate them into the validation data. The more evaluations you perform, the better you match the validation data.
The most common way to reduce overfitting is to use k folds cross-validation. This way, you use k fold validation sets, the union of which is the training data. However, k fold cross-validation does not remove the overfitting.
Another way to reduce overfitting is to change the folds every now and then or to use multiple k-fold cross-validations together. Then it becomes a balance between how much compute resources you want to use to validate models and training more models.
Another method is not to be too greedy during the test. For example, when evaluating a modified version of your current best model, only accept the new model if the k fold cross-validation score has improved enough. Or only accept if all trick scores have improved enough.
Always remember that there is always noise and small variations in the score. To assess the noise level, train your model several times with the same folds but different random seeds, and calculate the standard deviation of the fold scores, fold by fold, then take the average.
I hope you liked this article on how to reduce overfitting of a machine learning model. Feel free to ask your valuable questions in the comments section below.