Machine Learning and Pattern Recognition

This course covers the design, analysis, and methodology of algorithms used to recognize patterns in real-world data: images, audio, video, text, speech, financial data, biosensing, and medical data. It is the foundational course in Artificial Intelligence, which has reshaped how the world operates, from online search (ChatGPT) and voice recognition ("Hey Google!") to facial recognition (iPhone screen lock) and medical diagnosis (DeepMind).

Machine Learning has become one of the most interdisciplinary fields in engineering, with applications spanning physics to psychology, medicine to meteorology, and politics to philosophy. Since the field encompasses hundreds of algorithms and mathematical concepts, this course does not attempt an overview of each. Instead, it builds a strong fundamental grounding in core topics including feature clustering, dimensionality reduction, classification, and neural networks, equipping students to undertake real-world projects and build end-to-end applications.

Course Overview

This course introduces the foundations of Machine Learning and Pattern Recognition by equipping students with the concepts and techniques required to analyse real-world datasets and build intelligent systems. Students explore feature extraction, preprocessing, clustering, dimensionality reduction, classification, regression, neural networks, and deep learning before applying these techniques to practical projects involving computer vision, natural language processing, finance, biology, and robotics.

Learning Objectives

By the end of this course, students will be able to:

  • Understand the basic concepts of Machine Learning and connect the relationships between core concepts.
  • Apply machine learning techniques to solve real-world problems beyond classroom examples.
  • Analyse real-world problems to identify opportunities where machine learning can be applied.
  • Synthesise knowledge gained through hands-on experience to create working machine learning prototypes.

Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Engage in hands-on analysis of real-world data from images, audio, text, and other sources to identify statistical patterns.
  • Apply pattern recognition techniques for feature extraction, preprocessing, clustering, and classification.
  • Identify real-world problems that can be addressed using machine learning methods.
  • Build real-world machine learning applications using statistical techniques.
  • Evaluate the effectiveness and robustness of machine learning solutions.
  • Develop a prototype that applies machine learning to solve a real-world problem.
  • Explain the characteristics and effectiveness of the developed prototype compared to existing solutions.
  • Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (2nd Edition) – Aurélien Géron
  • Machine Learning Course Videos – Andrew Ng

Additional Reading

  • Pattern Classification – Richard O. Duda, Peter E. Hart, and David G. Stork
  • Pattern Recognition and Machine Learning – Christopher M. Bishop
  • Curated online machine learning resources

Assessments and Grading

Assessment Component Weightage
Assessment Component

Quiz 1

Weightage

10%

Assessment Component

Midterm Project Evaluation

Weightage

20%

Assessment Component

Quiz 2

Weightage

10%

Assessment Component

Quiz 3

Weightage

10%

Assessment Component

Final Project Evaluation

Weightage

30%

Assessment Component

Lab Evaluation

Weightage

15%

Assessment Component

Attendance

Weightage

5%