Variance-Reduced Methods for Machine Learning