Optimisation Concepts in Machine Learning