Using Python, implement the three versions of the gradient descent algorithm (you can use sklearn) and demonstrate the differences between them using a regression example. The three versions of the gradient descent include Batch Gradient Descent (or simply Gradient Descent), Stochastic Gradient Descent, and Mini-batch Gradient Descent.