Introduction to Convex Optimization for Machine Learning