A systematic review on overfitting control in shallow and deep neural networks