WARNING: This section contains links to pdf files that may be covered by copyright. You may browse them at your convenience in the same spirit as you may read a journal or a proceeding article in a public library. Retrieving, copying, or distributing these files, however, may violate the copyright protection law. We recommend that the user abides international law in accessing this directory.

Machine Learning (course 395) is envisioned to be an introductory course for several groups of students including MSc Advanced Computing students, fourth-year Information Systems Engineering students, and third/fourth-year Mathematics and Computer Science students.

- students should be familiar with some of the foundations of the Machine Learning (ML),
- students should have an understanding of the basic ML concepts and techniques:
- Concept Learning,
- Decision Trees,
- Neural Networks,
- Instance Based Learning,
- Genetic Algorithms,
- Hypothesis Evaluation,

- students should gain programming skills using Matlab with an emphasis on ML and they should learn how to design, implement and test ML systems,
- students should enhance their skills in project planning, working with dead-lines, and reflecting on their own involvement in the teamwork.

- Book:
*Machine Learning*by Tom Mitchell, McGraw-Hill Press, 1997 (chapters: 1-5, 8, 9).

- Computer Based Coursework (CBC) Manual (pdf file).
- (Online) Book Neural Networks and Deep Learning by Michael Nielsen (2017)
- Example Machine Learning (C395) Exam Questions (pdf file)

The curriculum schedules 14 class meetings of one hour each. The CBC for this course will mainly be devoted to course work (+/- 80 hours per group of 4 students).

The CBC accounts for 32% of the final grade for the Machine Learning Course.In other words, final grade = 0.667*exam_grade + 0.32*CBC_grade + 0.013*questionnaire.

To prepare the exam, attend the CBC and complete the exercises provided during the lectures and those provided at the end of chapters 1, 2, 3, 4, 5, 8, and 9 of Tom Mitchell's book "Machine Learning".

The CBC is designed to build on lectures by teaching students how to apply ML techniques about which they have been lectured to real-world problems.

The CBC will consist of two assignments. All assignments will focus on emotion recognition from data on displayed facial expression using decision trees and neural networks.

Assessment of the CBC work will be conducted based upon the following:

- the quality of the delivered code as measured by the clarity, effectiveness and efficacy of the delivered code when tested on real (previously unseen) data,
- the quality of the delivered reports for each of the CBC assignments as measured by the correctness, depth and breadth of the provided discussion on the evaluation of the performance of the developed ML systems for emotion recognition,

Decision Tree Coursework

Data

Pruning Example

See manual above for details.

Neural Networks Coursework Advanced (MSc and BEng/MEng students): Manual Assignment2

Neural Networks Coursework (BEng/MEng students): Assignment Description, Data, Code

All Teaching Helpers can be contacted via one email address. If you wish to contact a specific TH, specify the TH's name in the subject of your email.

Please email us this form through this e-mail address to enrol in CBC. MAX group size is 4.

- Lecture 1-2 : Concept Learning (pdf file)
- Lecture 3-4 : Decision Trees & CBC Intro (pdf file 1) (pdf file 2)
- Lecture 5-6 : Evaluating Hypotheses (pdf file)
- Lecture 7-8 : Neural Networks (1) (pdf file)
- Lecture 9-10 : Neural Networks (2) (pdf file)
- Lecture 11-12: Neural Networks (3) (pdf file)
- Lecture 13-14 : Instance Based Learning & Genetic Algorithms (pdf file)

These are three modules from www.coursera.com that we recommend you to have a look at for specific revision or knowledge enhancement (detailed below):

1) Machine Learning by Andrew Ng (ML)

2) Introduction to Computational Finance and Financial Econometrics (CF)

3) Probabilistic Graphical Models (PGM)

Matrix Review:

1) section Linear Algebra Review from ML (all video lectures)

2) section Matrix Algebra from CF (all video lectures)

Octave Tutorial (similar to MATLAB)

1) section Octave Tutorial from ML (all video lectures)

2) section ML-class Octave Tutorial from PGM (all video lectures)

Overfitting

1) section Regularization from ML (only video The problem of overfitting)

Precision, Recall rates and F1-measure

1) section Machine Learning Design System from ML (all video lectures)

Neural Networks

1) section Neural Networks: Representation from ML (all video lectures)

2) section Neural Networks: Learning from ML (all video lectures)

Probability Review

1) section Probability Review from CF (all video lectures except for Portfolio example)

You are strongly advised to look at them

These are three modules from www.coursera.com that we recommend you to have a look at for specific revision or knowledge enhancement (detailed below):

- Machine Learning by Andrew Ng (ML)
- Introduction to Computational Finance and Financial Econometrics (CF)
- Probabilistic Graphical Models (PGM)

- section Linear Algebra Review from ML (all video lectures)
- section Matrix Algebra from CF (all video lectures)

- section Octave Tutorial from ML (all video lectures)
- section ML-class Octave Tutorial from PGM (all video lectures)

- section Regularization from ML (only video The problem of overfitting)

- section Machine Learning Design System from ML (all video lectures)

- section Neural Networks: Representation from ML (all video lectures)
- section Neural Networks: Learning from ML (all video lectures)

- section Probability Review from CF (all video lectures except for Portfolio example)

You are strongly advised to look at them.

Dimensionality Reduction (paper, toolkit, survey), PCA (paper), LDA (paper 1, tutorial 2), KPCA and KDA (paper 1, paper 2), Manifold Learning (Local Linear Embeddings paper and Laplacian Eigenmaps paper). On Probabilistic Component Analysis, Chapter 12 of "Pattern Recognition and Machine Learning" by Christopher M. Bishop.

Neural Networks (tutorial), Reccurent and Long Short Term Memory Neural Networks (thesis)

Practical tutorials with TensorFlow and PyTorch, Convolutional Neural Networks for Visual Recognition course from Stanford

ibug talk, Mr. James Booth (Tutorial)

ibug talk, Mr. Joan Alabort-i-Medina (Tutorial)

ibug talk, Mr. Sebastian Kaltwang (Tutorial)

ibug talk, Dr. Stavros Petridis (Tutorial)

ibug talk, Dr. Yannis Panagakis (Tutorial)

ibug talk, Dr. Mihalis A. Nicolaou (Tutorial)

Support Vector Machines (Tutorial 1, Turorial 2)

Download tutorials on Dynamic Bayesian Networks (paper), Hidden Markov Models (tutorial), Relevance Vector Machines (tutorial), Gaussian Processes (book, videolecture 1, videolecture 2), Conditional Random Fields (tutorial, videolecture)

Genetic Algorithms (tutorial) and Genetic Programming (tutorial).

*Pattern Classification* by R.O. Duda, P.E. Hart, and D.G. Stork, John Wiley Press, 2005.

Pattern Recognition and Machine Learning by Christopher Bishop, Springer, 2006

Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT, 2016