Using a combination of lectures and lab work, the module covers bio-inspired machine learning paradigms giving students knowledge of advanced features of various methods at the theoretical and practical levels.
The module covers computational algorithms for learning from data, data-driven decision making and complex problem solving. It provides an introduction to machine learning methods, such as neural networks, fuzzy logic, fuzzy clustering, bio-inspired computing, and covers basic concepts of feature selection and generalisation.
- Discuss fundamental aspects of machine learning methods.
- Discus fundamental issues relating to the design and implementation of systems that employ machine learning
- Apply theoretical understanding of machine learning paradigms to solve data modelling, classification and decision making problems, justify the approach adopted and critically evaluate its effectiveness.
- Recognise social, ethical & professional issues and risk involved in the application and use of machine learning methods.
- Demonstrate an advanced level of knowledge of machine learning methods and of the processes involved in their deployment.
- Make a critical analysis of problem requirements relating to the application of machine learning.
- Demonstrate a comprehensive understanding of the principles and practices of machine learning.
Learning from data
Feature selection and generalisation
Supervised and unsupervised learning methods, and clustering as an unsupervised learning problem
Fuzzy logic and fuzzy clustering
Deep networks:architectures and learning algorithms
Natural computing: genetic algorithms, evolutionary algorithms, evolution strategies, swarm intelligence
Advanced learning and evolution schemes: ensembles, boosting, hybrid algorithms, neuro-evolution
No specific module is pre- or co- requisite but knowledge of calculus and linear algebra is essential as the module uses mathematical concepts, such as vector, matrices and their operations, functions and graphs, gradient, derivative. The module also uses trigonometry concepts, statistical concepts and the notion of probability, data structures, first-order and second-order optimisation methods and general algorithmic concepts.
In the coursework students are asked to use any programming language/tool they wish (MATLAB and Python are used in the labs) to solve a practical real world problem.
A two-hour written examination (80%)
- S. Marsland, Machine Learning: an Algorithmic Perspective, CRC Press.
- M. Negnevitsky, Artificial Intelligence: a Guide to Intelligent Systems, Addison Wesley.
- E. Alpaydin, Introduction to Machine Learning, MIT Press.
R. Rojas, Neural Networks-A Systematic Introduction. Available online at: http://page.mi.fu-berlin.de/rojas/neural/
S. Theodoridis, K. Koutroumbas, Pattern Recognition, Academic Press.
S. Boyd, L. Vandenberghe, Convex Optimization, Cambridge University Press. Available online at: https://web.stanford.edu/~boyd/cvxbook/
R. Battiti, First- and Second-Order Methods for Learning: Between Steepest Descent and Newton's Method, Neural Computation 4(2). Available online at: https://www.researchgate.net/publication/2498372_First-_and_Second-Order_Methods_for_Learning_Between_Steepest_Descent_and_Newton's_Method
L. Bottou, F.E. Curtis, J. Nocedal, Optimization Methods for Large-Scale Machine Learning. Available online at: https://arxiv.org/pdf/1606.04838.pdf
Students will be pointed to papers available online and other Web resources on the subject.