CS429 Machine Learning Algorithms and Practice
General Information
Check this website for future updates. We will also be using the mailing list to contact you; make sure you are registered for the module. If you have any questions, please contact (both) the module organisers:
- Amina Asif - Amina.Asif@warwick.ac.uk
- Gabriele Pergola - Gabriele.Pergola.1@warwick.ac.uk
Timetable
- Lectures
- Monday at 1pm鈥�2pm in
- Tuesday at 9am鈥�10am in (Junction)
- Wednesday at 12pm鈥�1pm in (Junction)
- Labs
- Thursday at 9am鈥�10am in
- Thursday at 3pm鈥�4pm in
Please attend the workshop group to which you have been allocated on Tabula.
Details of the timetable can be found hereLink opens in a new window.
Labs
In order to attend a lab session, you need to have registered for the module. Attendance at lab sessions is obligatory and their purpose is to help you with assessed assignments and provide oral feedback.
Labs and TA contact details
Teaching Assistants:
- Boyang Fu: Boyang.Fu@warwick.ac.uk
- Piotr Keller: Piotr.keller@warwick.ac.uk
On-campus labs:
- Thursday 9鈥�10am: CS0.01
- Thursday 3鈥�4pm: MB3.17
Assignments
There are two assignments, each worth 25% of the final mark. The other 50% will be from the final exam in May/June.
Assignment 1 鈥� 25%
- Release: Week 2
- Deadline: Week 6, Thursday, 12 November 2026, 12 noon
Material:
Assignment 2 鈥� 25%
- Release: Week 6
- Deadline: Thursday, Week 11
- Submission via Tabula link [TBC]
Note that any submission after the deadline will incur a penalty of 5% per day. No submission will be accepted beyond 6 days after its corresponding deadline.
If the wrong file is submitted and the deadline has passed, please contact dcs.ug.support@warwick.ac.ukLink opens in a new window to have the original submission removed so that you are able to upload a new submission. This will incur a late penalty. Late penalties will not be waived unless via a Mitigating Circumstances panel decision.
Lab Access and Machine Requirements
Use "module load cs909-python". The following guide will show you how to run Jupyter-notebook as well as loading using notebooks with the module loaded in Visual Studio Code:
If using your own machine, you will be needing the listed libraries:
- Anaconda Python (3.6+), Jupyter Notebook or Jupyter Lab, Matplotlib, Numpy, SciPy, Pandas, Scikit-learn, Keras, PyTorch, TensorFlow (with GPU configuration, if GPUs available).
If needed, Remote Machine Login: /fac/sci/dcs/intranet/user_guide/remote-login/
Resources
Textbooks
The module does not follow strictly a single textbook. The following books provide useful complementary references:
- G. James, D. Witten, T. Hastie, R. Tibshirani (2023). . Shorter and simpler version of the next one.
- T. Hastie, R. Tibshirani, J. Friedman (2017). .
- Murphy, K. P. (2022). Probabilistic Machine Learning: An Introduction.
-
Deisenroth, M. P., et al. (2020). .
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). .
- Nielsen, M. A. (2015). .
Python books
If you don't have any experience with Python, or want to learn more about programming with Python, the following books are useful:
- , by Pieter Spronck
Module Schedule
Lecture recordings are available via .
Week |
Lectures |
Reading |
Seminars |
Labs |
|---|---|---|---|---|
| 1 | 1. Introduction to Machine Learning |
- | - | |
| 2 | - | Continual Learning. J. Hurtado [Slides] [Notebook] |
||
| 3 | - | From Pixels to Patient Outcome: ML Research in Computational Pathology. N. Wahab. |
Assignment 1 |
|
| 4 | Multivariate Analysis & Dimensionality Reduction | |||
| 5 | Regression & Unified Frameworks | |||
| 6 | Deep Learning | |||
| 7 | - | |||
| 8 | - | |||
| 9 | - | |||
| 10 | - | |||
| - |