Optimization and Machine Learning