Topic outline

  • Mid-term exam: November 10th at 2PM

    The mid-term exam will take place in week 7 on Friday November 10th at 2pm. 

    Check the official timetable of the module for information about the location of the exam

  • Module Description

    In this module you will learn the theoretical background and will apply in practice the following methods of ML:

    • Regression analysis methods
      • Linear regression
      • Polynomial regression
      • Ridge regression
      • The LASSO
      • The gradient descent
    • Classification methods
      • The nearest neighbour classification
      • Binary logistic regression
      • Multinomial logistic regression
      • Support vector machines
      • Semi-supervised classification with graphs
    In the initial weeks the focus will be mostly on the theoretical aspects, we will then shift gears and start working with Python

  • Week 0: Coursework 0

  • Week 1: Introduction. Mathematical preliminaries.

    Lecture (26/09, 13:00-15:00)

    This week lecture will cover:

    • Introduction to the module structure
    • Introduction to machine learning
    • Mathematical preliminaries
    This week reading is 
     Chapter 1 of Lecture notes

    Tutorial (29/09, 10:00-11:00)

    This week tutorial will cover:

    Exercises

    Non-assessed Coursework 1

  • Week 2: Linear regression. Polynomial regression.

    Lecture (03/10, 13:00-15:00)

    This week lecture will cover:

    • Linear regression
    • Polynomial regression
    • Problems of underfitting and overfitting

    This week reading is 

     Sections 2.1, 2.2 of Lecture notes

    Tutorial (06/10, 10:00-11:00)

    This week tutorial will cover:

    Exercises

    Non assessed coursework 2


  • Week 3: Ill-conditioned regression problems

    Lecture (10/10, 13:00-15:00)

    This week lecture will cover:

    • Ill-conditioned regression problems
    • Ridge regression

    This week reading is 

     Sections 2.3, 2.4 of Lecture notes

    Tutorial (13/10, 10:00-11:00)

    This week tutorial will cover:

    Exercises

    Non assessed coursework 3


  • Week 4: Empirical risk minimisation & model error structure.

    Lecture (17/10, 13:00-15:00)

    This week lecture will cover:

    • Model selection for ridge regression
    • Bias-variance decomposition
    • Minimisation of validation error

    This week reading is 

     Sections 2.5, 2.6 of Lecture notes

    Tutorial (20/10, 10:00-11:00)

    This week tutorial will cover:

    Exercises

    Non assessed coursework 4

  • Week 5: The LASSO and the gradient descent.

    Lecture (24/10, 13:00-15:00)

    This week lecture will cover:

    • From ridge regression to the LASSO
    • Gradient descent
    • Solving the LASSO via smoothing and proximal mapping

    This week reading is 

     Sections 2.7 of Lecture notes

    Tutorial (27/10, 10:00-11:00)

    This week tutorial will cover:

    • Solutions to Coursework 4
    • Q&A related to lecture materials

    Exercises

    Non assessed coursework 5

  • Week 6: Regression analysis with Neural Networks.

    Lecture (31/10, 13:00-15:00)

    This week lecture will cover:

    • Deep learning with neural networks

    This week reading is 

     Sections 2.7, 2.8 of Lecture notes

    Tutorial (3/11, 10:00-11:00)

    This week tutorial will cover:

    Exercises

    Non assessed coursework 6

  • Week 7: Midterm assessment.

    Lecture (7/11, 13:00-15:00)

    This week lecture will cover:

    • Revision in preparation of the mid-term exam


    Tutorial (10/11)

    No tutorial this week. We will have the mid-term exam on that day!

    Exercises

    Courseworks and past exams



  • Week 8: Classification problems. Non-parametric classification.

    Lecture (14/11, 13:00-15:00)

    This week lecture will cover:

    • Solving neural networks problems
    • Classification problems vs Regression problems
    • Non-parametric classification methods

    This week reading is 

     Sections 2.8, 2.9 of Lecture notes

    Tutorial (17/11, 10:00-11:00)

    This week tutorial will cover:

    • Solutions to Coding parts of Coursework 4, Coursework 5
    • Q&A related to lecture materials

    Exercises

    Non assessed coursework 8

  • Week 9: Logistic regression

    Lecture (21/11, 13:00-15:00)

    This week lecture will cover:

    • Classification problems vs Regression problems
    • Non-parametric classification methods
    • Binary logistic regression problem

    This week reading is 

     Sections 2.9.1, 2.9.2 of Lecture notes

    Tutorial (24/11, 10:00-11:00)

    This week tutorial will cover:

    • Q&A related to lecture materials

    Exercise

    Non assessed coursework 9

  • Week 10: Support Vector Machines

    Lectures (28/11, 13:00-15:00)

    This week lecture will cover:

    • Support Vector Machines

    This week reading is 

     Sections 2.9.2, 2.9.3 of Lecture notes

    Tutorial (1/12, 10:00-11:00)

    This week tutorial will cover:

    • Solution to Theoretical part of Coursework 7
    • Q&A related to lecture materials

    Exercises

    Non-assessed coursework 10

    Upload your solutions for feedback

  • Week 11: Semi-supervised binary classification with graphs

    Lecture (5/12, 13:00-15:00)

    This week lecture will cover:

    • Interpolating with graphs

    This week reading is 

     Sections 2.9.3-2.9.5 of Lecture notes

    Tutorial (8/12, 10:00-11:00)

    This week tutorial will cover:

    • Solution to Coding part of Coursework 8
    • Q&A related to lecture materials

    Exercise 

    Non-assessed coursework 11

  • Syllabus

  • Module aims and learning outcomes

    By the end of this module you will have:

    • understand basic & advanced concepts in linear algebra, calculus, probability, statistical interference, mathematical modelling and optimisation
    • describe the concept of supervised machine learning 
    • formulate representative problems for supervised machine learning and derive mathematical models to solve them 
    • write algorithms to solve real-world supervised machine learning problems 
    • process and interpret data 
    • work as part of a team on the solution of real-world, supervised machine learning problems
    • write scientific reports


  • Assessment

    The first assessment is a written exam in week 7. 

    The exam will focus on the theoretical aspects of the first 6 weeks of the module, and will be based on the theoretical exercises in the coursework as well as questions addressed in the lectures. Many students might be surprised by the theoretical focus of the midterm exam. Do not fall for this trap! Passing the course requires acquiring both a theoretical and a practical understanding of the material and the former will be examined in this midterm exam. 

    This midterm exam counts 40% towards the final grade.

    The second assessment is a practical coding project to be submitted by 24 January 2024 (by 23:59). Upload instructions will be provided in advance. It involves the practical solution of multiple problems with Python. For this assessment you will be required to submit a short 8-page report based on your results. More details will provided after the first assessment.

    This final project counts 60% towards the final grade.

    Anyone who fails the module will resit the individual test(s) they have failed. 



  • Teaching team

    • Lecturer:  Dr. Nicola Perra

    • Email:  n.perra@qmul.ac.uk

    • On-campus office: SMS Building, Room G26

    • Office hours Tuesdays 15:00-16:00 by request


  • Hints and tips

  • Where to get help

    Feel free to get in contact, books and notes are also great resources

  • coursework

  • exam papers

  • Week 12: Decision Trees

    Lecture (12/12, 13:00-15:00)

    This week lecture will cover:

    • Interpretation of logistic regressions
    • Decision trees

    Tutorial (15/12, 10:00-11:00)

    This week tutorial will cover:

    • Solution to Coding part of Coursework 9-10
    • Q&A related to lecture materials
  • Final Project (Deadline: 24/01/24)

    • This file details the requirements of the project. Please read it with great attention

    • Five datasets to pick from. You need to pick one

    • Use this form to upload your codes. Upload your codes as a single zip-file that contains all relevant files. This includes the Jupyter Notebook and any additional files that you plan on using. When unzipping the file, the folder structure should be as follows:

      {student_id}\

      Here {student_id} refers to a folder that is named after your student id. If your student id is 123456789, the folder structure should be 123456789\ put the notebook there. Please note that the file size limit for your zip-file is 50 MB.



    • Use this form to upload the corresponding report for your final assessment. Upload it as a single pdf file that is no larger than 50 MB. Name your pdf file {student_id}.pdf. If your student id is 12345678 for example, the file name simply is 12345678.pdf.  

  • Assessment information

  • Reading List Online

  • Mathematics for Machine Learning (freely available textbook)

  • Early feedback questionnaire

  • Q-Review