# COMPM012- Programming & Mathematical Methods for Machine Learning

**This database contains 2016-17 versions of the syllabuses.** For current versions please see here.

Code | COMPM012 (Also taught as: COMPGI07) |
---|---|

Year | 4 |

Prerequisites | None, but student must also be enrolled in M055 |

Term | 1 |

Taught By | Mark Herbster (Part A,B) (50%), Massi Pontil (Part C) (50%) |

Aims | The overall aim of this course is to introduce or refresh Matlab programming, computational complexity and linear algebra with an aim to its application to machine learning. |

Learning Outcomes | Students successfully completing the module should be able to program machine learning algorithms in matlab, analyse the complexity of algorithms, and become confident with vector/matrix computations and basic concepts of linear algebra which are important for the development of machine learning algorithms. |

# Content:

**Part A: An introduction to Matlab for beginning programmers.**

1. Matlab Interface

2. Matrix Operations

3. Control flow

4. I/O

5. Plotting

**Part B: An introduction to computational complexity.**

1. Three paradigms of algorithm design (greedy, divide & conquer, dynamic pro- gramming)

2. Time complexity of algorithms and problems

3. Turing machines and Decision Problems

4. Unsolvable problems

5. Intractability (NP-completeness)

**Part C: Elements of linear algebra and its applications.**

1. Vector and matrix operations, Orthogonality, Norms, Singular Value Decomposition (SVD).

2. Applications of SVD to Machine Learning and data analysis. Principal component analysis, Least squares and regularization, Kernel Methods.

3. Spectral graph theory

# Method of Instruction:

Part A: Labs with intensive programming coursework which is oriented towards machine learning.

Part B: Lecture presentations

Part C: Lecture presentations with associated class problems.

# Assessment:

The course has the following assessment components:

- Coursework (100%)

To pass this course, students must:

- Obtain an overall pass mark of 50% for all sections combined

For full details see the course web page.

# Resources:

Introduction to the Theory of Computation 3rd Edition by Michael Sipser

Linear Algebra and Its Applications, 4th Edition by Gilbert Strang