Stochastic optimization for machine learning: stronger convergence guarantees and more efficient algorithms.