Pattern Recognition and Machine Learning

2022/01

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 (18 weeks).

Time: Mondays (17:50 - 21:10) - synchronous (SYN) at CB301 and asynchronous (ASYN) classes (videos).

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

TinyML: Combined use of Arduino Nano 33 IoT (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 - 07/03

  • (SYN) Lecture 0 (dates, grades, etc).

  • (ASYN) Lecture 1 - Introduction:

Week 2 - 14/03

(ASYN) Lecture 2 - Training Simple Machine Learning Algorithms

Week 3 - 21/03

(ASYN) 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 - 28/03

(ASYN) Lecture 4 - Building Good Training Sets - Data Preprocessing

Week 5 - 04/04

(ASYN) Lecture 5 - Compressing Data via Dimensionality Reduction

Week 6 - 11/04

(SYN) Assignment 1 - Python and Machine Learning Basics

Week 7 - 18/04

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

Week 8 - 25/04

(SYN) Assignment 2 - Classification with scikit-learn

Week 9 - 02/05

(SYN) Assignment 3 - Real Problem

Week 10 - 09/05

(ASYN) Lecture 7 - Implementing a Multilayer Artificial Neural Network from Scratch

Week 11 - 16/05

(SYN) Assignment 4 - Embedded Machine Learning - part 1

Week 12 - 23/05

(SYN) Assignment 4 - Embedded Machine Learning - part 2

Week 13 - 30/05

(SYN) Presentation of overdue assignments

  • The grade is limited to 70% of the total value.

Week 14-17 - 06/06, 13/06, 20/06, and 27/06

(SYN) Development of the final project

Week 18 - 04/07

(SYN) Presentation of the final project.