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; Regression; Clustering.

Duration/credits: 12 weeks - three credits.

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

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

Advanced materials: highly suitable for *doctoral* or masters students who will have machine learning as the core of their work.

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.

Preliminary Content

Python Basics:

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

    • Similar material in portuguese: link.

Mathematical Background:

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.

  • Details on Multi-class Classification (video).


  • More detailed information (advanced material):

Week 4 - 28/03

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

Week 5 - 04/04

(SYN) Assignment 1 - Python and Machine Learning Basics

Week 6 - 11/04

(ASYN) Lecture 5 - Compressing Data via Dimensionality Reduction


  • More detailed information (advanced material): video1, video2, and video3.

    • t-SNE - Prof. Laurens van der Maaten (link).

Week 7 - 18/04

(SYN) Assignment 2 - Classification with scikit-learn

Week 8 - 25/04

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


  • More detailed information (advanced material): video.


(ASYN) Lecture 7 - Predicting Continuous Target Variables with Regression Analysis


  • More detailed information (advanced material):

    • Linear Regression (video).

    • Nonlinear Regression - Part 1 (video).

    • Nonlinear Regression - Part 2 - Gaussian Processes (video).

Week 9 - 02/05

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


  • More detailed information (advanced material, including Backpropagation and CNNs): video1, video2, and codes.

Week 10 - 09/05

(SYN) Assignment 3 - Real Problem

Week 11 - 16/05

(ASYN) Lecture 9 - Working with Unlabeled Data – Clustering Analysis


  • More detailed information (advanced material):

    • Mixture of Gaussians and Nonparametric Density Estimation (video).

    • Spectral Clustering (video).

    • Novelty Detection and Semi-supervised Learning (video).

Week 12 - 23/05

(SYN) Assignment 4 - Clustering