Machine learning is an increasingly important area, and it has provided many of the recent advances behind applications of artificial intelligence. It is relevant to a plethora of application domains in science and industry including in finance, health, transport, linguistics, media, and biology.
Lectures will cover the most important concepts and algorithms. We will look at the main paradigms of machine learning: supervised learning (regression, classification), unsupervised learning (clustering, dimensionality reduction, ...), and reinforcement learning. Among many learning algorithms we will look at:
- least squares regression,
- logistic regression,
- k-nearest neighbors,
- neural networks and deep learning,
- decision tree inducers and ensemble methods,
- principal components analysis and auto-encoders,
- k-means clustering
- generative modelling
In the lab tutorials, we will implement many of these and investigate their use in different applications, using Python and its scientific libraries such as numpy, scikit-learn, and pytorch.
However the main outcome of the course is to go beyond simple implementation and testing of algorithms, and also study the main mechanisms behind their behaviour and performance. This goal is thus set the student up for further advanced study in machine learning, and/or a confident development of machine learning solutions in other domains.
The main grading component is a team project (oral presentation, 50%), alongside two in-class tests (30%), and lab assignments (20%, can be completed outside of class time).
- Teaching coordinator: Ehrhardt Adrien
- Teaching coordinator: Hadgi Souhail
- Teaching coordinator: Li Jingyi
- Teaching coordinator: Lutzeyer Johannes
- Teaching coordinator: Read Jesse