Go to main content
Our postgraduates

School of Computer Science Intranet

CS643: Machine Learning

Level: MSc
Credit Rating: 15 credits (7.5 ECTS)
Degrees: ACS/CompSciEng (and others, if qualified)
Pre-requisites: None
Pre-course work: 40 hours: 80% introductory lab, 20% preparatory reading
Taught week: 40 hours: 50% lectures, 50% supervised lab
Post-course work: 40 hours: 90% unsupervised lab, 10% supervised lab/clinic
Assessment: 33% exam, 67% coursework (laboratory reports)
Lecturer: Dr. Magnus Rattray and Dr. Aphrodite Galata
Limit on numbers: 50 participants

Introduction

Machine learning is concerned with how to automate learning from experience. This is typically accomplished by forming models which to some extent describe or summarise experiences, our data, in a useful way. For example, speech recognition software requires examples of continuous speech and will often form a different model for each different user. In this course a variety of machine learning paradigms and algorithms will be introduced which are appropriate for learning from examples with discrete or continuous-valued attributes. The course has a fairly mathematical content although it is intended to be self-contained.

Aims

This course unit aims to introduce the main algorithms used in machine learning, to introduce the theoretical foundations of machine learning and to provide practical experience of applying machine learning techniques.

Learning Outcomes

A student completing this course unit should:

1)
have knowledge and understanding of the principle algorithms used in machine learning, as outlined in the syllabus below (A)
2)
have sufficient knowledge of information theory and probability theory to provide a theoretical framework for machine learning (A)
3)
be able to apply machine learning algorithms, evaluate their performance and appreciate the practical issues involved in the study of real datasets (C)
4)
be able to provide a clear and concise description of testing and benchmarking experiments (D)

Assessment of learning outcomes

Learning outcomes (1) and (2) are assessed by examination,
learning outcomes (1),(3) and (4) are assessed by laboratory reports

Contribution to programme learning

A1, A2, C1, D3, D4

Reading list and supporting material

There is a CS643 web page with further details for the current session. The main course textbook is

Alpaydin, E., ``Introduction to Machine Learning'' MIT Press, 2004. This is the new course textbook and covers a very broad range of machine learning topics.

Additional reading

Mitchell, T. M., ``Machine Learning'' McGraw-Hill, 1997. Introduction to machine learning, covering a broad range of topics and algorithms. This was the previous course textbook and provides an accessible introduction to many of the key concepts.

Hastie, T., Tibshirani, R., Friedman, J., ``The Elements of Statistical Learning'' Springer, 2001. An advanced textbook taking a statistical perspective.

Bishop, C. M., ``Neural Networks for Pattern Recognition'' Clarendon Press, 1995. Good introduction to neural networks and related statistical methods. Takes a statistical perspective with emphasis on Bayesian inference.

Ballard, D. H., ``An introduction to Natural Computation'' MIT Press, 1997. Provides a different perspective, with emphasis on the computational aspects of learning algorithms in relation to computational models the brain. Covers some material on control and hidden Markov models not discussed in Mitchell's book.

Baldi, P., Brunak, S., ``Bioinformatics: The Machine Learning Approach'' MIT Press, 1998. Covers a number of machine learning applications in biology and provides a good introduction to hidden Markov models, neural networks, learning algorithms and Bayesian inference.

Special resources needed to complete the course unit

The matlab programming environment is used in the laboratory. A number of freely available matlab toolboxes are used.

Detailed syllabus

Introduction to machine learning [1].

Overview of different tasks: classification, regression, clustering, control.

Concept learning, information theory and decision trees [2].

Concept learning (algorithms and limitations), Shannon's entropy, mutual information and gain, ID3 and extensions.

Introduction to probabilistic modelling [2].

Probability distributions and densities, Bayes' rule, maximum likelihood, Bayesian inference.

Unsupervised learning [2].

Clustering (Gaussian mixtures, EM-algorithm, k-means), Dimensionality reduction (PCA).

Non-linear regression and classification [2].

Feed-forward neural networks, support vector machines.

Sequence learning [2].

Markov chains, hidden Markov models.