Skip to content

Module Catalogue

Breadcrumbs navigation

CS5938   Numeric Optimisation

Academic year(s): 2023-2024

Key information

SCOTCAT credits : 15

ECTS credits : 7

Level : SCQF level 11

Semester: Both

Availability restrictions: Available only to students studying the PG Cert/PG Dip/MSc in Data Science (Digital)

An ubiquitous component of Data Science is the minimisation of carefully-chosen error functions, but many practitioners and researchers employ the standard software package defaults without really understanding the underlying problem and how it is being solved. This module takes linear algebra and optimization as the primary topics of interest, and solutions to machine learning problems as the application of the resulting tools, techniques and algorithms. For CS5938 the types of optimisation include gradient descent (and variants); constrained optimisation and duality; singular value decomposition; and the optimisation of computational graphs.

Learning and teaching methods and delivery

Weekly contact: Students should expect to engage in approximately six tutorials over the course of the module, which will be scheduled with an awareness of the pace at which they are progressing, rather than at a fixed time each week. Students should consider the amount of independent study time this module involves when planning their learning.

Scheduled learning hours: 6

Guided independent study hours: 148

Assessment pattern

As used by St Andrews: Coursework = 100%

As defined by QAA
Written examinations : 0%
Practical examinations : 0%
Coursework: 0%

Re-assessment: Coursework = 100%

Personnel

Module coordinator: Professor T W Kelsey
Module teaching staff: Professor Tom Kelsey and Professor Stephen Linton

Intended learning outcomes

  • Understand key concepts & techniques in numerical analysis and linera algebra
  • Apply the concepts to Data Science workflows and be able to critically evaluate competing approaches
  • Be able to implement and deploy variants of the optimization methods for Deep Learning
  • Write python code to solve linear, quadratic and global optimisation problems.