The course material is divided into corresponding week subdirectories. Each notebook has a link to open in Google's Colab at the top. You don't need any local installation, simply click on a notebook and click the link at the top to open it in your browser.
The structure of the notebooks is inspired by popular online courses (like Andrew Ng's fantastic coursera classes) in such that they have blank lines and functions that need be filled in order for the code to work.
If you have been unable to attend the lecture in person, the recommended order to go through the material each week is the following:
- Read the slides
- Go through any additional references or linked material
- Complete the notebook
Solution notebooks will be uploaded with a time delay. It is highly recommended that you attempt to complete the notebook yourself before taking a look at the solutions.
The lecture takes place on Fridays. Question and practice sessions are on Mondays, with a one week delay. That is, after a lecture, the following Monday can be used to ask questions about the current assignment and its solution will be discussed one week later.
The structure of the course can roughly be divided into four blocks. The first three will give an introduction to supervised, unsupervised and reinforcement learning. The ultimate block gives outlooks to prospects and shortcomings, with a focus on directions of interested to our own research.
- 16.04 - week 1: First half - general introduction to machine learning and course utilities. Second half - classification with Naive Bayes. Practical assignments: (optional) python review notebook. Spam message identification
- 23.04 - week 2: Logistic regression and gradient descent: Practical assignment: gradient descent variants and Titanic survivor prediction
- 30.04 - week 3: Introduction to neural networks: multi-layer perceptron (MLP), convolutional neural network (CNN). Practical assignment: MLP classification of fashion images with pure Numpy.
- 07.05 - week 4: Random Forests. Practical assignment: Revisiting Titanic survivor prediction + an additional challenge (San Francisco Crime).
- (14.05: No lecture/assignment due to public holidays.)
- 21.05 - week 5: ML software frameworks. Practical assignment: Revisiting fashion image classification and reading traditional Japanese character PyTorch.
- 28.05 - week 6: Neural sequence models, recurrent neural networks. Practical assignment: Shakespeare poetry text generation.
- 04.06 - week 7: Introduction to unsupervised learning. Clustering with k-means. Principal and idependent component analysis (PCA and ICA). Pratical assignment: Finding clusters in generated distributions and signal source separation.
- 11.06 - week 8: Unsupervised neural networks: representation learning through auto-encoding (AE) and generative modelling through variational auto-encoding (VAE). Practical assignment: Revisiting fashion and Kuzushiji for unsupervise pre-training and image generation.
- 18.06 - week 9: Generative adversarial networks (GAN) and variational generative adversarial hybrids (VAE-GAN). Practical assignment: face generation
- 25.06 - week 10: Classic tabular q-learning. Practical assignment: Cart pole balancing
- 02.07 - week 11: Deep reinforcement learning, QNN. Practical assignment: Taxi driver
- 09.07 - week 12: Meta-learning. Practical assignment: neural architecture search using the reinforce algorithm.
- 16.07 - week 13: Short presentation on limitations & prospects. Project proposals and discussions.
- TBD