ECE 398 AS: Programming Methods for Machine Learning (Fall 2022)

Course Information

In this course, you will learn how to use auto-differentiation tools like PyTorch, how to leverage them for basic machine learning algorithms (linear regression, logistic regression, deep nets, k-means clustering), and how to extend them with custom methods to fit your needs. Auto-differentiation tools are one of the most important tools for data analysis and a solid understanding is increasingly important in many disciplines. In contrast to existing courses that focus on algorithmic and theoretical aspects, here we focus on studying material that permits deploying auto-diff tools to your area of interest.

Pre-requisites: Basic probability, basic linear algebra, and proficiency in Python.

Course Deliverables:
(1) Homework (no late submission accepted)
(2) Midterm
(3) Final

Grading:

30% homework, 30% midterm, 40% final


Grading policy is subject to change.

Office Hours:
Thursday: 11:00 AM - Noon, starting 9/1/2022

Office hours will be held on Zoom (same link as lectures)

Final Exam: see syllabus


Instructor

Aiguo Han

Email: han51[at]illinois.edu
Website: [link]
 

Class Time & Location

Class Time: Tuesday, Thursday 9:30 AM - 10:50 AM

Lectures will be held on Zoom [link]

Discussion & Homework submission

Canvas: [link]
Gradescope: [link] (code: Y7DWYG)

Material & Info

Material: [link]

Lecture recordings: Mediaspace

 

 

Lectures

The syllabus is subject to change.

Event Date Description Slides   Material
Lecture 1 08/23/2022 Intro and Software Install [Notebook]    
Lecture 2 08/25/2022 Pytorch Tensors, Views, Indexing 1 [Notebook]    
Lecture 3 08/30/2022 Pytorch Tensors, Views, Indexing 2 Same as above    
Lecture 4 09/01/2022 Pytorch Storage and Functions 1 [Notebook]    
Lecture 5 09/06/2022 Pytorch Storage and Functions 2 [Notebook]    
Lecture 6 09/08/2022 Pytorch Storage and Functions 3 Same as above    
Lecture 7 09/13/2022 Linear algebra and differentiation w.r.t. vectors/matrices [Notebook]    
Lecture 8 09/15/2022 Pytorch Matrix [Notebook]    
Lecture 9 09/20/2022 Automatic differentiation 1 [Notebook]    
Lecture 10 09/22/2022 Automatic differentiation 2 [Notebook]    
Lecture 11 09/27/2022 Automatic differentiation 3 [Notebook]    
Lecture 12 09/29/2022 Primal optimization [Notebook]    
Lecture 13 10/04/2022 Linear regression 1 [Slides]    
Lecture 14 10/06/2022 Linear regression 2 [Notebook]    
Lecture 15 10/11/2022 Pytorch Optimizers [Notebook]    
Lecture 16 10/13/2022 Midterm (everything up to now)      
Lecture 17 10/18/2022 Pytorch Dataset [Notebook]    
Lecture 18 10/20/2022 Pytorch Dataloaders [Notebook]    
Lecture 19 10/25/2022 Logistic regression 1 [Notebook]    
Lecture 20 10/27/2022 Logistic regression 2 Same as above    
Lecture 21 11/01/2022 Multiclass logistic regression [Notebook]    
Lecture 22 11/03/2022 Deep Nets 1 [Notebook]    
Break 11/08/2022 General Election Day (all-campus holiday) – no lecture      
Lecture 23 11/10/2022 Deep Nets 2 Same as above    
Lecture 24 11/15/2022 Deep Nets 3 Same as above    
Lecture 25 11/17/2022 Deep Nets 4 [Notebook]    
Break 11/22/2022 Thanksgiving Break      
Break 11/24/2022 Thanksgiving Break      
Lecture 26 11/29/2022 Temporal data [Notebook]    
Lecture 27 12/01/2022 Clustering [Notebook]    
Lecture 28 12/06/2022 Final (all material)