ECE 364: Programming Methods for Machine Learning (Fall 2024)

 

Teaching Staff

Farzad Kamalabadi

Instructor
Email: farzadk[at]illinois.edu
Office Hour: Open
Website: [link]

Corey Snyder

Instructor
Email: cesnyde2[at]illinois.edu
Office Hour: Open
 

Ulas Kamaci

Teaching Assistant
Email: ukamaci2[at]illinois.edu
Office Hour: Wednesday 3-5 pm
at ECEB 3015

 


Class Time & Location

Class Time: Tuesday, Thursday 9:30AM-10:50AM
Location: ECEB 3081 (Electrical and Computer Engineering Building)

Work Submission Logistics

Gradescope for assignments (self-enrollment code ): [link]

Class Campuswire

Join the class campuswire with code 1943: [link]

 


 

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 is 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: Math 257 (Linear Algebra with Computational Applications) or equivalent, basic probability, and proficiency in Python.

Recommended Reference Texts: (1) Pattern Recognition and Machine Learning by Christopher Bishop
(2) Machine Learning: A Probabilistic Perspective by Kevin Murphy
(3) Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville

Please note that these books are more comprehensive than the material covered in this class.

Course Deliverables:
(1) Homeworks (submission on Gradescope)
(2) Midterm Exams: There will be two midterm exams.


Grading:

40% Homeworks; 30% each Midterm

Optional Bonus Project, worth up to +5% (you may only complete one), to be completed individually:

Due Date: Saturday, December 21, 11:59pm on Gradescope

Option #1 (Background-Foreground Separation): Project 1 Statement, Project 1 Data, Project 1 Helper Codes

Option #2 (Object Detection): Project 2 Statement, Project 2 Data, Project 2 Helper Codes

Office Hours for Bonus Project (Zoom only, unless requested in-person)

Link: https://illinois.zoom.us/j/89045618539?pwd=zzirsiMKpKIMX7eeJqULz5flYyZgzf.1

Monday: 11am-1pm (Central Time)

Tuesday: 12-2pm

Thursday: 11am-1pm

Friday: 9am-11am

Lectures

The syllabus is subject to minor changes.

Event Date Description Materials Assignments
Lecture 1     08/27/2024 Intro and software install Lec1-Notebook, Setting up Python environment  
Lecture 2 08/29/2024 Pytorch tensors, views, indexing Lec2-Notebook  
Lecture 3 09/03/2024 Pytorch storage, advanced indexing, CPU/GPU, data types Lec3-Notebook  
Lecture 4 09/05/2024 Pytorch functions Lec4-Notebook

HW1 Latex Files, HW1 PDF,

HW1 Solutions

Lecture 5 09/10/2024 Linear algebra overview 1 Lec5-Notebook , Lec5-Handwritten  
Lecture 6 09/12/2024 Linear algebra overview 2 Lec6-Notebook , Lec6-Handwritten  
Lecture 7 09/17/2024 Automatic differentiation 1 Lec7-Notebook  
Lecture 8 09/19/2024 Automatic differentiation 2 Lec8-Notebook

HW2 Latex Files, HW2 PDF

HW2 Solutions

Lecture 9 09/24/2024 Automatic differentiation 3 Lec9-Notebook  
Lecture 10  09/26/2024 Primal optimization Lec10-Notebook , Lec10-Handwritten

HW 3 Latex Files, HW3 PDF

HW3 Solutions

Lecture 11 10/01/2024 Linear regression 1 Lec11-Slides  
Lecture 12 10/03/2024 Linear regression 2 Lec12-Notebook

HW 4 Latex Files, HW4 PDF, hw4_p2.zip

HW4 Solutions

Lecture 13 10/08/2024 Logistic regression Lec13-Notebook, Lec13-Slides  
Lecture 14 10/10/2024 Review for Midterm 1 Lec14-Notebook, Lec14-Notebook Solutions  
Lecture 15 10/15/2024 Midterm 1 (in class) Midterm 1 Solutions  
Lecture 16 10/17/2024 Multiclass logistic regression Lec16-Notebook  
Lecture 17 10/22/2024 Pytorch optimizers, datasets, dataloaders 1 Lec17-Notebook  
Lecture 18    10/24/2024 Pytorch optimizers, datasets, dataloaders 2 Lec18-Notebook

HW 5 Latex Files, HW5 PDF, hw5_p4.zip

HW5 Solutions

Lecture 19 10/29/2024 Deep nets 1 Lec19-Notebook  
Lecture 20 10/31/2024 Deep nets 2 Lec20-Notebook  
Break 11/05/2024 No class (Election Day)    
Lecture 21 11/07/2024 Deep nets 3 Lec21-Notebook

HW 6 Latex Files, HW6 PDF, hw6_p3.zip

HW6 Solutions

Lecture 22 11/12/2024 Deep nets 4 Lec22-Notebook  
Lecture 23 11/14/2024 Principal Component Analysis (PCA) Lec23-Slides  
Lecture 24 11/19/2024 K-Means Clustering and Gaussian Mixture Models (GMM) Lec24-Slides  
Lecture 25 11/21/2024 Generative Adversarial Networks (GAN) Lec25-Slides

HW 7 Latex Files, HW7 PDF, hw7_p1.zip

HW7 Solutions

Break 11/26/2024 Thanksgiving    
Break 11/28/2024 Thanksgiving    
Lecture 26 12/03/2024 Object Detection, Semantic Segmentation, Project Preliminaries Lec26-Notebook  
Lecture 27 12/05/2024 Midterm 2 Review Lec27-Notebook  
Lecture 28 12/10/2024 Midterm 2 (in class) Midterm 2 Solutions