Understanding Overfitting in Machine Learning

Overfitting is a common problem in machine learning, particularly in the branch of supervised learning. It occurs when we train a machine learning model to work too well for training dataset and perform poorly on new, unseen data.

What is overfitting?

Overfitting occurs when we structure a machine learning model too complex for the task it’s supposed to solve. Furthermore, this enables it to learn the noise in the training data rather than the underlying patterns.

This will lead to a poor performance once the model will try to work with new, unseen data. In other words, it memorized the training data rather then generalize to new data.

How does overfitting occur?

There are a few more reasons why we may face this problem besides making a overly complex model.

It can also occur from feeding our model insufficient data. This can lead a model to memorize the training data because it doesn’t get enough information to learn the underlying patterns in it.

Another cause for overfitting is a phenomenon we call data leakage. As it’s name might suggests, our model might overfit because we inadvertently trained it on the test data. Therefore, our evaluations might yield really good results, but once we put the model into practice, it performs poorly.

Yet another reason for overfitting problem might also be biased data. To explain, if we have unbalanced dataset, it can fail to represent the original motive of the machine learning model.

How to address overfitting?

There are several techniques for addressing overfitting and we’re going to mention 4 of them here.


First method we’re going to talk about is cross-validation. It is a technique where we split the dataset into multiple partitions, which are training, validation and test sets.

Furthermore, while we train our model on the training dataset, we evaluate its performance after each epoch. This way we can see if its performance matches on training and validation sets.


Second method I wanted to mention is regularization. This technique introduces a penalty term to the loss function to prevent the model from learning too complex patterns.

Early stopping

Another measure we can take to prevent our model from overfitting is early stopping. As its name might suggest, we set a condition in a callback function to stop training before it reaches the set number of epochs.

In other words, we set algorithm to monitor when the models performance on validation set stops improving. And once it does, we also stop the training process.

This can be useful not only for the purpose of preventing the model to overfit on training data, but also to save time.

Data augmentation

And lastly, I wanted to mention the data augmentation technique. We use this technique to augment dataset and create more examples by applying random transformations to the existing data.


To conclude, overfitting is a common problem in machine learning which we can address by applying several different techniques. By understaning what causes it, we can choose the right one to fix this issue.

I hope this article helped you gain a better understanding about overfitting problem and perhaps even motivate you to learn even more.

Share this article:

Related posts