Mastering Online Gradient Descent for Adaptive Machine Learning