Introduction to Machine Learning

Module aims

This Introduction to Machine Learning module aims to provide the fundamental knowledge required to address the advanced methods introduced during the fourth year.

Learning outcomes

At the end of the module it is expected students will be able to:

Knowledge and Understanding
1 – Comprehend some of the foundations and objectives of the Machine Learning (ML),
2 – Understand the basic ML concepts and techniques detailed in the module content.

Intellectual Skills
3 – Identify the suitable machine learning algorithm according to the specificities of the tasks.
4 – Evaluate the effectiveness of ML algorithms and recognize some of their potential weaknesses.

Practical Skills
5 – Implement and test the algorithms introduced in the module using Matlab or Python.
6 – Enhance their skills in project planning, working with dead-lines, and reflecting on their own involvement in the teamwork.

Module syllabus

This module covers the following fundamental concepts of machine learning:

1) Inductive Learning
a. Concept learning;
b. Decision trees.

2) Instance Based Learning:
a. K-nearest neighbors;
b. Locally weighted regression;
c. K-means.

3) Hypothesis Evaluation:
a. Training/validation/Evaluation;
b. Measures classification performance;
c. Estimating hypothesis accuracy;
d. Comparing learning algorithms.

4) Neural Networks:
a. Perceptron;
b. Multilayer perceptron;
c. Back-propagation;
d. Stochastic gradient descend/Mini-batch;
e. Activation and error functions;
f. Momentum;
g. Learning rate decay;
h. Overfitting (regularization, dropout, data augmentation);
i. Data normalization;
j. Hyper-parameter tuning.

5) Genetic Algorithms:
a. Genotype/phenotype/behavior definitions;
b. Selection and Elitism;
c. Crossover;
d. Mutation;
e. Neuro-evolution;
f. Evolutionary Strategies;
g. Multi-objective optimization (pareto-dominance);
h. Helper-objectives.

Teaching methods

*This is a level 6/H course

Module leaders

Dr Antoine Cully