Online Gradient Descent Algorithm