CMT316: Applications of Machine Learning: Natural Language Processing/Computer Vision

School Cardiff School of Computer Science and Informatics
Department Code COMSC
Module Code CMT316
External Subject Code 100366
Number of Credits 20
Level L7
Language of Delivery English
Module Leader MR Jose Camacho Collados
Semester Spring 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. Although the module will also cover the core principles behind these methods, the main focus will be on application oriented aspects of machine learning, 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. Finally, the module will include in-depth content on two emerging AI topics: Natural Language Processing (NLP) and Computer Vision (CV). Students will have the option to choose between one of these two topics as specialisation.

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 fundamental 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
  7. Explain the fundamentals and modern principles of natural language processing or computer vision

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

Formalising real-world problems in a rigorous way

Implement state-of-the-art models for specific applications (NLP or CV)

How the module will be assessed

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

Students will be provided with reassessment opportunities in line with University regulations.

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)

Decision trees, random forests, support vector machines, kernels

Introduction to neural networks, activation functions, stochastic gradient descent, loss functions, regularization

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

Applications of neural networks to selected application domains (i.e. NLP or CV)

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

Copyright Cardiff University. Registered charity no. 1136855