For lab classes from 2013-14 please see here
Welcome to the COM4509/6509 Course on "Machine Learning and Adaptive Intelligence". This year the course has undergone a slight shift of focus relative to last year, in particular we will be introducing more emphasis on practical techniques for processing data using the Jupyter Notebook.
The lecture notes will all be given in the form of Jupyter Notebooks and are available below.
- Week 1 Probability and an Introduction to the Jupyter Notebook, python and Pandas.
- Week 2 Objective Functions: a simple example with matrix factorisation.
- Week 3 Linear Algebra and Linear Regression
- Week 4 Basis Functions
- Week 5 Reading Week
- Week 6 Model checking: training, testing and validation
- Week 7 Bayesian Regression
- Week 8 Dimensionality Reduction: Latent Variable Modelling
- Week 9 Probabilistic Classification
- Week 10 Logistic Regression and Generalised Linear Models
- Week 11 Reading Week
- Week 12 Special Topic: Gaussian Processes
Execute numbered lecture notebooks under _notebooks/ with CI-safe patches (Agg backend, mocked stdin, capped GPy optimize, no widget hangs). Lecture 05 is skipped by default because it needs a live MariaDB and credential widgets.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-smoke.txt
python scripts/smoke_notebooks.py
# subset: python scripts/smoke_notebooks.py --only 01 12
# include lecture 05: python scripts/smoke_notebooks.py --only 05GitHub Actions runs the same harness on pull requests that touch notebooks or the smoke files, weekly on a schedule, and via workflow_dispatch (optional --only input). Results land in _notebooks/test-results/ (gitignored) and as a workflow artifact.
There are some refinements to the notebook slides required. Particularly for Week 8 (unsupervised learning) 9 and 10.