CMT307: Applied Machine Learning

School Cardiff School of Computer Science and Informatics
Department Code COMSC
Module Code CMT307
External Subject Code 100366
Number of Credits 20
Level L7
Language of Delivery English
Module Leader Dr Yuhua Li
Semester Double Semester
Academic Year 2020/1

Outline Description of Module

The field of machine learning is concerned with the study of methods for developing computer programs that are able to learn from examples or from prior experience. Machine learning lies at the basis of many of the recent successes in artificial intelligence, with applications ranging from self-driving cars to digital assistants and search engines. This module will serve as a general introduction to machine learning, covering both traditional methods such as decision trees and support vector machines and more recent neural network based techniques. The main focus will be on application oriented aspects of machine leaning, such as how to implement key machine learning techniques, how to choose which technique to use in a given situation, how to pre-process data, and how to evaluate the performance of a machine learning system. In addition to these technical topics, the module will also cover some important ethical considerations, including how the choice of training data can introduce unwanted biases in real-world applications.

On completion of the module a student should be able to

  1. Implement and evaluate machine learning methods to solve a given task
  2. Explain the basic principles underlying common machine learning methods
  3. Choose an appropriate machine learning method and data pre-processing strategy to address the needs of a given application setting
  4. Reflect on the importance of data representation for the success of machine learning methods
  5. Critically appraise the ethical implications and societal risks associated with the deployment of machine learning methods
  6. Explain the nature, strengths and limitations of an implemented machine learning technique to an audience of non-specialists

How the module will be delivered

Modules will be delivered through blended learning. You will be guided through learning activities appropriate to your module, which may include: • on-line resources that you work through at your own pace (e.g. videos, web resources, e-books, quizzes), • on-line interactive sessions to work with other students and staff (e.g. discussions, live streaming of presentations, live-coding, team meetings) • face to face small group sessions (e.g. help classes, feedback sessions)

Skills that will be practised and developed

Implementing machine learning tools, taking advantage of existing libraries where appropriate

Assessing the potential and limitations of machine learning technology

Presenting a technical subject matter to an audience of non-specialists

Critically thinking about which tools are appropriate in what contexts, and what are the possible ethical, social or economical implications

How the module will be assessed

A blend of assessment types which may include coursework and portfolio assessments, class tests, and/or formal examinations.

Assessment Breakdown

Type % Title Duration(hrs)
Written Assessment 50 Machine Learning Project N/A
Written Assessment 50 Implementation And Evaluation Of A Case Study Using Machine Learning Techniques N/A

Syllabus content

Pre-processing datasets: feature selection, dimensionality reduction, eliminating bias, dealing with class imbalance and missing data

Evaluating machine learning methods: designing experiments, cross-validation, statistical testing, evaluation metrics (e.g. accuracy, precision, recall, F1, AUC, NDCG, MAP)

Bias-variance tradeoff, no free lunch theorem

Meta-learning (e.g. boosting, bagging, stacking)

Decision trees, random forests

Support vector machines, kernels

Introduction to neural networks, activation functions, regularization, dropout

Standard neural network architectures (e.g. autoencoders, convolutional networks, recurrent networks)

Essential Reading and Resource List

François Chollet. Deep learning with Python. Manning. 2017.

Aurélien Géron. Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow: Concepts, Tools and Techniques to Build Intelligent Systems. 2nd Edition. O’Reilly, 2019.

Background Reading and Resource List

Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning. MIT Press, 2016. Available online at http://www.deeplearningbook.org


Copyright Cardiff University. Registered charity no. 1136855