Undergraduate Course: Machine Learning and Pattern Recognition (INFR11130)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||Machine learning is a field devoted to developing algorithms that adapt their behaviour to data, providing useful representations of the data and/or predictions. This course covers some fundamental theoretical concepts in machine learning, and common patterns for implementing methods in practice. The intended audience are those wanting the background required to begin research and development of machine learning methods.
This is an advanced course. Students should not choose this class without the required background (see "Other Requirements" box); students without this background are strongly advised to take a more practical-based course, such as Introduction to Applied Machine Learning (INFR10063).
This 20 credit course replaces Machine Learning & Pattern Recognition (Level 11) (INFR11073) - 10 credit course.
The precise set of methods and algorithms used to illustrate and explore the main concepts will change slightly from year to year. However, the main topic headings are expected to be fairly stable.
- Classification and Regression:
Linear Regression, logistic regression, Bayes classifiers
- Expanded feature representations:
Basis functions, neural networks, kernel methods
- Generalization, regularization and inference:
Penalized cost functions, Bayesian prediction, learning theory
- Model selection, pruning and combination:
Cross-validation, Bayesian methods, sparsifying regularizers, ensemble methods.
- Representation and metric learning:
dimensionality reduction, clustering, feature learning
To support these topics we will also cover:
- Optimization and Inference algorithms:
Stochastic gradient descent, simple Monte Carlo ideas, and more specialized methods as required.
- Formulating problems as machine learning, adapting methods to fit problems.
- Numerical and programming issues important for machine learning.
- Ethical issues, such as responsible application of methods and privacy concerns.
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
This course requires practical mathematical application of algebra, vectors and matrices, calculus, probability, and problem solving. For example, you will need to be able to differentiate linear algebra expressions with respect to vectors, interpret inner-products and quadratic forms geometrically, and compute expectations of linear algebra expressions under simple distributions. Some of the required details can be learned during the course. However, practical mathematical skills take time to accumulate and a strong mathematical background is essential.
Practical exercises usually require using a particular numerical language such as Matlab or Python+NumPy. We will assume and require sufficient past programming experience that a new package can be learned on the fly.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2018/19, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 30,
Seminar/Tutorial Hours 10,
Feedback/Feedforward Hours 2,
Summative Assessment Hours 20,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Coursework 20%, Exam 80%
||Some of the lecture time will be devoted to discussing questions,
including some exam-like questions, and providing feedback on student
answers. Students will also get feedback on their work through the
||Hours & Minutes
|Main Exam Diet S1 (December)||2:00|
On completion of this course, the student will be able to:
- Frame an applied problem as a machine learning task, identifying appropriate methods.
- Critically compare and contrast alternative machine learning methods for a given task.
- Derive and motivate novel variants of machine learning methods.
- Create accessible and useful explanations of the workings and failure modes of machine learning methods.
- Check and refine implementations of learning algorithms, while applying them in practice.
|Machine Learning: A Probabilistic Perspective. Kevin P Murphy.|
- Bayesian Reasoning and Machine Learning. David Barber.
The following may also be of interest:
- Pattern Recognition and Machine Learning, Christopher Bishop.
- A First Course in Machine Learning (2nd Ed.), Simon Rogers and Mark
- Information Theory, Inference and Learning Algorithms, David MacKay
- The Elements of Statistical Learning: Data Mining, Inference, and
Prediction, Hastie, Tibshirani, and Friedman.
|Graduate Attributes and Skills
||The student will be able to reason about how to make predictions from and interpret data, an important transferable skill.
In addition the student will be able to:
Undertake critical evaluations of a wide range of numerical and graphical data.
Apply critical analysis, evaluation and synthesis to forefront issues, or issues that are informed by forefront developments in the subject/discipline/sector.
Identify, conceptualise, and define new and abstract problems and issues.
Develop original and creative responses to problems and issues.
Critically review, consolidate and extend knowledge, skills, practices and thinking in subject/discipline/sector.
Deal with complex issues and make informed judgements in situations in the absence of complete or consistent data/information.
|Keywords||Machine Learning,supervised learning,Probabilistic prediction,Data science
|Course organiser||Dr Iain Murray
Tel: (0131 6)51 9078
|Course secretary||Mr Gregor Hall
Tel: (0131 6)50 5194