Pattern Recognition and Machine Learning

2022/02

General Information

Objective: Study of the main machine learning methods and their applications.

Syllabus: Machine learning basics; Python and Scikit learn; Data preprocessing; Basic Classifiers; Dimensionality Reduction; Hyperparameter tuning; Multilayer Artificial Neural Network; TinyML.

Duration: 60 hours (17 weeks).

Time: Mondays (17:50 - 21:10) - at CB301.

Grade: Assignments (50%) and Final Project (50%).

TinyML: Combined use of Arduino Nano 33 BLE Sense (link) with Edge Impulse (link).

Lecturer: André Eugenio Lazzaretti.

Bibliography and Support Materials

Book:

Other Courses:

  • Machine Learning course using the same book (by Prof. Sebastian Raschka): link.

    • Similar material in portuguese: link.

  • Andrew Ng at Coursera.

Track on Signals, Images, and Patterns: link.

Preliminary Content

Python Basics:

  • General overview: link (Part II - L03 and L04);

    • Similar material in portuguese: link.

Mathematical Background:

Track on Signals, Images, and Patterns: link.

Week 1 - 15/08

  • Lecture 0 (dates, grades, etc).

  • Lecture 1 - Introduction:

Week 2 - 22/08

Lecture 2 - Training Simple Machine Learning Algorithms

Week 3 - 29/08

Lecture 3 - A Tour of Machine Learning Classifiers Using scikit-learn

  • Slides (link);

  • Videos (link1, link2, link3);

  • Codes (link);

  • Complementary material for Scikit-learn: link (Part II - L05);

    • Similar material in portuguese: link.

Week 4 - 05/09

Lecture 4 - Building Good Training Sets - Data Preprocessing

Week 5 - 12/09

Lecture 5 - Compressing Data via Dimensionality Reduction

Week 6 - 19/09

Assignment 1 - Python and Machine Learning Basics

Week 7 - 26/09

Lecture 6 - Learning Best Practices for Model Evaluation and Hyperparameter Tuning

Week 8 - 03/10

Assignment 2 - Classification with scikit-learn

Week 9 - 17/10

Assignment 3 - Real Problem

Week 10 - 24/10

  • Assignment 3 - Real Problem - cont.

Week 11 - 31/10

Lecture 7 - Implementing a Multilayer Artificial Neural Network from Scratch

  • Slides (link);

  • MLP example using Keras (link).

Week 12 - 07/11

Assignment 4 - Embedded Machine Learning

Week 13-16 - 21/11, 28/11, 05/12, 12/12

Development of the final project

Week 17 - 19/12

Presentation of the final project.