CMT307: Applied Machine Learning
School | Cardiff School of Computer Science and Informatics |
Department Code | COMSC |
Module Code | CMT307 |
External Subject Code | 100992 |
Number of Credits | 20 |
Level | L7 |
Language of Delivery | English |
Module Leader | Dr Yuhua Li |
Semester | Spring Semester |
Academic Year | 2025/6 |
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
-
Implement and evaluate machine learning methods to solve a given task
-
Explain the basic principles underlying common machine learning methods
-
Choose an appropriate machine learning method and data pre-processing strategy to address the needs of a given application setting
-
Reflect on the importance of data representation for the success of machine learning methods
-
Critically appraise the ethical implications and societal risks associated with the deployment of machine learning methods
-
Explain the nature, strengths and limitations of an implemented machine learning technique
How the module will be delivered
The module will be delivered through a combination of lectures, supervised lab sessions and tutorials as appropriate. You will be expected to attend all timetabled sessions and engage with online material.
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),
sessions to work with other students and staff (e.g. lectures, live streaming of presentations, live-coding, team meetings)
face to face 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
Disseminating a machine learning project in an effective form (e.g., report or presentation)
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
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 |
Class Test | 50 | Class Test | 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)