In many machine learning problems the goal is often to fit data into models that can make predictions or decisions, where the construction of the machine learning models is usually cast as optimisation problems. In this regard performance of the ML model obtained critically depends on the effectiveness of the underlying optimisation algorithm employed. Typically, the optimization problems arising from machine learning applications are of very large scale. The objective of the module is to introduce large scale optimization algorithms that can be used in modern machine learning applications. The module encompass the fundamental optimization algorithms as well as advanced techniques specifically designed for machine learning applications. Specific topics include constrained optimization, stochastic optimization, accelerated methods, nonsmooth optimization, nonconvex optimization, etc. Both theoretical analysis and practical implementations of the optimization methods will be covered in the module.
Learning Outcomes
By the end of the module students should be able to:
Appropriately model certain machine learning applications as optimization problems.
Acquire proficiency in common algorithms for solving large-scale optimization problems.
Conduct theoretical analysis of the efficiency of optimization algorithms.
Numerically implement large-scale optimization algorithms in certain real-world problems.