CS985 – Machine Learning for Data Analytics

Credits 20
Level 5
Semester 2
Prerequisites N/A
Availability Possible elective
Contact Lectures: 20 | Labs: 20
Homework / Private Study: 160
Assessment Two individual assignments worth 50%, and one two-hour examinations (50%)
Resit By examination (2-hour)
Lecturer Dr Marc Roper | Dr Leif Azzopardi

General Aims

The aim of this class is to equip students with a sound understanding of the principles of machine learning and a range of popular approaches, along with the knowledge of how and when to apply the techniques. The class balances a solid theoretical knowledge of the techniques with practical application via Python (and associated libraries) and students are expected to be familiar with the language. Aspects of the course will be highly mathematical and technical requiring strong math and programming ability (Python and Tensorflow).

Learning Outcomes

After completing this class participants will be able to:

  • understand the aims and fundamental principles of machine learning;
  • understand a range of the essential core algorithms and approaches to machine learning;
  • apply the algorithms covered on substantial data sets using Python and Scikit-learn and interpret the outcomes;
  • understand the applicability of the algorithms to different types of data and problems along with their strengths and limitations;
  • understand the limitations of basic approaches to deep learning and the need for advanced strategies;
  • understand and apply a range of the advanced algorithms and approaches to deep learning and machine learning using artificial neural networks and interpret the outcomes.


Part 1

  • Machine learning basics – main concepts and terminology
  • Overview of the machine learning process
  • Classifiers and classification measures
    • Binary, multi class, multi-label and multi-output classifiers
    • Classification measures (TP, FP etc., confusion matrix, precision, recall F1, ROC curves, sensitivity, specificity)
  • Training models
    • Linear Regression
    • Gradient Descent
    • Polynomial regression
    • Logistic regression
  • Support Vector Machines
    • Classification and regression along with various kernels – polynomial and Gaussian RBF
  • Decision Trees
  • Ensemble Learning
    • Voting classifiers, bagging, pasting, boosting, stacking
    • Random Forests
  • Dimensionality Reduction (Principal Components Analysis)
  • Introduction to Neural Networks

Part 2: Artificial Neural Networks

  • Perceptrons and Artificial Neural Networks
  • Backpropagation and Network Training
  • Multi-layer and Deep Neural Networks
  • Convolutional Neural Networks
  • Recurrent Neural Networks

Recommended Text/Reading*

* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.

Hands-on Machine Learning with Scikit-Learn, Keras and Tensorflow (2nd Edition). Geron, Aurelien at : https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/

Tensforflow Tutorials at: http://www.tensorflow.org/overview/

Neural Networks and Deep Learning at: http://neuralnetworksanddeeplearning.com/