Skip to main content Skip to navigation

CS342 Machine Learning

CS342 15 CATS (7.5 ECTS) Term 2


Option - CS, CSE and DM

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


Parts of the module are covered in the following books:

  • Rogers S and Girolami M, A first course in Machine Learning, CRC Press, 2011
  • Bishop C, Pattern Recognition and Machine Learning, 2007
  • Mitchell T, Machine Learning, McGraw-Hill, 1997
  • Barber D, Bayesian Reasoning and Machine Learning, 2012
  • Duda, Hart and Stork, Pattern Classification, Wiley-interscience


Two-hour examination (60%), programming assignment and class test (40%)


30 one-hour lecture, 10 laboratory sessions