COMPGI07 - Programming & Mathematical Methods for Machine Learning
This database contains 2017-18 versions of the syllabuses. For current versions please see here.
|Code||COMPGI07 (Also taught as: COMPM012)|
|Prerequisites||None, but student must also be enrolled in GI01|
|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.|
Part A: An introduction to Matlab for beginning programmers.
- Matlab Interface
- Matrix Operations
- Control flow
Part B: An introduction to computational complexity.
- Three paradigms of algorithm design (greedy, divide & conquer, dynamic pro- gramming)
- Time complexity of algorithms and problems
- Turing machines and Decision Problems
- Unsolvable problems
- Intractability (NP-completeness)
Part C: Elements of linear algebra and its applications.
- Vector and matrix operations, Orthogonality, Norms, Singular Value Decomposition (SVD).
- Applications of SVD to Machine Learning and data analysis. Principal component analysis, Least squares and regularization, Kernel Methods.
- 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.
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.
Reading list available via the UCL Library catalogue.