Introduction to Machine Learning

Module aims

This module aims to provide students with a fundamental understanding of core machine learning ideas and concepts. It introduces to students different machine learning problems and basic algorithms used to address these problems. The module will cover fundamental machine learning knowledge required to tackle more advanced, specialised modules.

Learning outcomes

By the end of the module, students will be able to:
- Appreciate the core ideas and fundamental concepts behind machine learning.
- Understand different machine learning problems and the algorithms that exist to address them.
- Formulate machine learning problems and machine learning pipelines.
- Apply suitable algorithms to tackle different machine learning tasks.
- Implement machine learning algorithms to solve supervised learning problems.
- Assess appropriate methodologies to evaluate machine learning algorithms.

Module syllabus

This module covers the following topics:

1) Machine Learning Concepts:
Definition and taxonomies, Supervised learning pipeline (classification/regression), Feature encoding, Model learning, Bias-variance tradeoff.

2) Instance Based Learning and Inductive Learning:
K-nearest neighbours, Locally weighted regression, Decision trees.

3) Model Evaluation and Comparison:
Training/validation/test data splits, Cross-validation, Evaluation metrics, Confidence intervals, Statistical significance.

4) Neural Networks:
Perceptron, Multilayer perceptron, Back-propagation, Stochastic gradient descent, Activation and error functions, Overfitting, Data normalization, Hyper-parameter tuning.

5) Unsupervised Learning:
Clustering algorithms (K-means), Parametric models for Density Estimation (Gaussian and Gaussian Mixture Models).

6) Genetic Algorithms:
Genotype/phenotype/behavior definitions, Selection and Elitism, Crossover, Mutation, Evolutionary strategies.

Teaching methods

The module is taught through lectures, practical exercises and quizzes to reinforce what has been taught in lectures, and computer-based coursework exercises done during lab sessions. The coursework exercises are in the form of mini-projects in which students will apply the methodology seen in class to solve machine learning problems.


There will be computer-based coursework exercises that contribute 30% of the marks for the module. In these coursework exercises, students will implement machine learning algorithms to solve practical problems. There will be a final written exam, which counts for the remaining 70% of the marks.  
During the weekly lab sessions, teaching assistants and lecturers will be available to answer questions and provide feedback. There will be detailed feedback on the coursework exercises which will include written feedback on submissions and class-wide feedback explaining common pitfalls and suggestions for improvement.