Understanding overfitting in ML