Batch Gradient Descent In Machine Learning