A course on how machine learning algorithms work, how to implement and evaluate them in Python, and how to judge whether the data and methods are suitable for the problem. The same principles underpin working with modern systems, including LLMs and agents: understanding the data, evaluating behaviour, and recognising limitations.
The notes combine theory with Python examples. Read them online below, or download the notebooks to run the code.
Lecture slides and notes
- Introduction and representing dataSlidesNotes
- Linear models for regressionSlidesNotes
- Linear models for classificationSlidesNotes
- Visualising dataSlidesNotes
- Model selection and evaluationSlidesNotes
- Machine learning in societySlides
- Decision trees and ensemble methodsSlidesNotes
- Gaussian processesSlidesNotes
- Deep neural networksSlidesNotes
- Modern neural architectures and transfer learningSlidesNotes
