WEEK 1
Welcome to the Introduction to Machine Learning course!
The course will officially start on Week 2. To prepare yourselves, please go through Module 0 where the instructors will introduce themselves. You will also be provided with information about how the course will be run.
Knowledge of Python and NumPy will be required for the courseworks. For those who are not familiar with either of these, we have prepared some optional crash courses to help you get up to speed with them before our course officially starts:
- Lab tutorial: Python for C++ programmers
- Lab tutorial: Python for Java programmers
- Lab tutorial: NumPy
- Lab tutorial: Virtual Environments and Jupyter Notebook
- Useful for learning to set up virtual environments in Python
- Lab tutorial: Pandas
- Coursework 2 will use a bit of pandas, but you do not need to understand pandas in too much detail. You can use this tutorial as a reference when the time comes
You should also start forming groups of up to 4 people for your coursework. You will be working with the same group for both courseworks.
Please also read the Coursework Setup Guide posted on Scientia for important notes for setting up your system for the courseworks.
WEEK 2
The course officially starts this week! Brace yourself for 7 weeks of Machine Learning goodness!
For this week, please go through Module 1, where Josiah will attempt to demystify Machine Learning and discuss what it really is all about.
There is also an optional practical lab exercise which guides you through implementing a complete machine learning pipeline.
A live interactive session will be held on Thursday 2-3pm, where Josiah will be available to answer any questions.
There will also be a lab session on Tuesday 2-4pm. Our team of Tutorial helpers will be available to support you with any questions or problems you may have about Python, NumPy, or the lab exercise.
You should also start forming groups of up to 4 people for your coursework. You will be working with the same group for both courseworks.
Please also read the Coursework Setup Guide posted on Scientia for important notes for setting up your system for the courseworks.
WEEK 3
Welcome to Week 3. For this week, please go through Module 2 where Antoine will discuss two algorithms: K-nearest neighbours and decision trees.
There is also an optional practical lab exercise on K-nearest neighbours.
There are also some tutorial sheets on Scientia which contain some exam-style calculation exercises for you to practise.
The first coursework will be released on Monday. Please download the specifications from Scientia on Monday morning.
As usual, the lab session is on Tuesday 2-4pm. Our Tutorial Helpers will be there to support you with any questions or problems that you may have with the coursework, the lab exercises, or Python/NumPy in general.
A live interactive session will be held on Thursday 2-3pm, where Antoine will answer any questions you may have about this week's topic.
WEEK 4
Welcome back! This week is all about evaluating machine learning systems.
Please go through Module 3 where Marek will discuss various topics related to machine learning evaluation.
The optional practical lab exercise is on implementing the evaluation metrics discussed in the lectures, and also on performing cross-validation.
There are also some tutorial sheets on Scientia which contain some exam-style exercises for you to practise.
As usual, there will be a lab session this week on Tuesday 2-4pm in the lab. Get help from our Tutorial Helpers with any questions or issues you may have with your coursework, lab exercise or Python/NumPy in general.
The live interactive session will also be held as usual on Thursday 2-3pm, where Marek will be there to answer your questions on evaluating machine learning systems.
WEEK 5
Welcome to Week 5! This week, you will start exploring the current hottest craze in ML: neural networks.
Please go through Module 4. Marek will first introduce you to a basic model called linear regression, before showing you how it relates to neural networks.
The optional practical lab exercise this week is mainly focussed on the first part of the lecture -- implementing and training a simple linear regression model. The good(?) news is that there is less coding required of you in this exercise since you are likely busy with your coursework this week anyway. You will get to code a bit more next week!
The lab session is on as usual on Tuesday 2-4pm. This is your chance to get some last minute help for your coursework from the Tutorial Helpers. Other technical queries are also welcome!
The live interactive session is on Thursday 2-3pm as usual, where Marek will answer all your pressing Neural Network questions.
The coursework is also due on Friday 10th Feb 7pm.
WEEK 6
We are now in Week 6! This week, you will continue exploring more neural network goodness. Brace yourselves - the discussions will start to become more exciting (and advanced) from this week onwards!
Please go through Module 5. Marek will pick up from where he stopped last week, and continue his exciting discussions on neural networks.
The optional practical lab exercise this week is on three topics: multiple linear regression, logistic regression, and a quick introduction to PyTorch. Hopefully these materials will help prepare you for coursework 2, even if they do not discuss neural networks directly.
The second coursework will also be released by Monday. Please download the specifications from Scientia. This coursework will be done in the same groups as coursework 1. You should receive a link to your group Gitlab repo for the coursework via email by Monday. This can also be accessed via LabTS.
As usual, the lab session is on Tuesday 2-4pm, where you can seek help on the lab exercises and the new coursework from our dedicated team of Tutorial Helpers.
Also as usual is the live interactive session on Thursday 2-3pm, where Marek will answer more of your Neural Network questions.
WEEK 7
Welcome to Week 7. I guess that by this time you have had enough of supervised learning and neural networks. As a change of pace, this week we will look at the other main machine learning setting called unsupervised learning, where the training labels are not provided.
Please go through Module 6. Antoine is back, this time to talk about the fascinating world of unsupervised learning.
The optional practical lab exercise this week is on unsupervised learning (no surprise). It will be a mix of applying the scikit-learn library and implementing some of the algorithms discussed in the lectures from scratch.
As with every week, the lab session is still happening on Tuesday 2-4pm. Our team of Tutorial Helpers will be available to help you with your technical questions regarding the second coursework and the lab exercises.
Antoine will also answer your questions on unsupervised learning in the usual live interactive session on Thursday 2-3pm.
WEEK 8
Welcome to Week 8, which is officially our final week of lectures! This week, we will look at our final topic: evolutionary algorithms. This topic is very different from everything you have seen so far, although the key underlying ML idea is still the same, i.e. optimising some objective!
Please go through Module 7, where Antoine will introduce you to evolutionary algorithms.
Then, if you like, explore the optional practical lab exercise this week on the same topic.
The second coursework is due on Friday (3rd March) 7pm.
Our final lab session is happening as usual on Tuesday 2-4pm. Please use this opportunity to get some last minute help for the second coursework from our dedicated team of Tutorial Helpers.
The usual live interactive session is on Thursday 2-3pm, where Antoine will answer any questions you might have on evolutionary algorithms.
There will NOT be an live interactive session this week. This has been postponed to the following week (9th March) to give you time to catch up with the materials.
WEEK 9
Welcome to Week 9 - you have survived your coursework! Great work, and all the best with your remaining deadlines and your revisions!
Here is some basic information about your final exam. We have also prepared a final "grand quiz" to further test your understanding of all the topics that we have covered:
Our postponed live interactive session will happen this week on Thursday (9th March) 2-3pm. Antoine will answer any questions you might have on evolutionary algorithms (and perhaps unsupervised learning if needed).
Next week, we will have a live revision/Q&A session on Thursday (16th March) 2-3pm. Antoine, Marek and Josiah will be there to answer any last minute questions you may have before your exams. A Mentimeter link will be provided early next week for you to post questions in advance. You can of course always ask questions during the live session itself.
We hope you enjoyed the course, and we look forward to seeing you apply Machine Learning in the future to do great things!