Skip to main content

CS342 Machine Learning

Academic Aims

To provide students with an in-depth introduction to two main areas of Machine Learning: supervised and unsupervised. We will cover some of the main models and algorithms for regression, classification, clustering and Markov decision processes. Topics will include linear and logistic regression, regularisation, MLE, probabilistic (Bayesian) inference, SVMs and kernel methods, ANNs, clustering, and dimensionality reduction. The module will use primarily the Python programming language and assumes familiarity with linear algebra, probability theory, and programming in Python.

Learning Outcomes

By the end of the module, students should:

  • develop an appreciation for what is involved in learning from data.
  • understand a wide variety of learning algorithms.
  • understand how to apply a variety of learning algorithms to data.
  • understand how to perform evaluation of learning algorithms and model selection.


  • Linear Regression and regularisation (OLS, PLS, Lasso)
  • Instance-based Learning and Decision Tree Induction
  • Maximum Likelihood (Linear and Logistic regression)
  • Probabilistic (Bayesian) Inference (Linear regression, Logistic regression with the Laplace approximation, Intro to Sampling)
  • Support Vector Machines
  • Artificial Neural Networks: perceptron, MLPs, back propagation, intro to Deep Learning
  • Ensemble learning, bagging, boosting, stacking, random forests
  • Clustering algorithms, k-means, Expectation-Maximization, and Gaussian Mixture Models
  • Dimensionality reduction techniques, SVD/PCA, Multi-dimensional scaling

15 CATS (7.5 ECTS)
Term 1

Theo Damoulas


Online material