xkcd Tasks Source: xkcd

Quick Links:

News:

  • If you want to review prerequisite material for this class, I have a list of recommended resources below.

Some problems in computer science admit precise algorithmic solutions. Checking if someone is in a national park is, in some sense, straightforward: get the user’s location, get the boundaries of all national parks, and check if the user location lies within any of those boundaries.

Other problems are less straightforward. Suppose you want your computer to determine if an image contains a bird. To your computer, an image is just a matrix of red, green, and blue pixels. How do you even begin to write the function is_bird(image)?

For problems like this, we turn to a powerful family of methods known as machine learning. The zen of machine learning is the following:

  1. I don’t know how to solve my problem.
  2. But I can obtain a dataset that describes what I want my computer to do.
  3. So, I will write a program that learns the desired behavior from the data.

This class will provide a broad introduction to machine learning. We will start with supervised learning, where our goal is to learn an input-to-output mapping given a set of correct input-output pairs. Next, we will study unsupervised learning, which seeks to identify hidden structure in data. Finally, we will cover reinforcement learning, in which an agent (e.g., a robot) learns from observations it makes as it explores the world.

Course Staff

Robin Jia
Robin Jia
Instructor

Yuqng Yang
Yuqing Yang
Teaching Assistant

Course Producer
TBD
Course Producer

Logistics

Prerequisites

This class will also use some basic multivariate calculus (taking partial derivatives and gradients). However, knowledge of single-variable calculus is sufficient as we will introduce the required material during class and section.

All programming assignments will be in Python. Basics of Python will be covered in discussion sections. Students who are not familiar with Python may need to spend some time becoming more familiar with it as needed.

Schedule

All assignments are due by 11:59pm on the indicated date.

Date Topic Related Readings Assignments
Mon Aug 24 Introduction (slides) PML 1  
Wed Aug 26 Linear Regression PML 7.8, 8.2  
Fri Aug 28 Section: Python & numpy, Linear Regression in numpy    
Mon Aug 31 Featurization, Convexity PML 2.6.3, 4.2, 8.1  
Wed Sep 2 Maximum Likelihood Estimation, Logistic Regression PML 10.1-10.3  
Fri Sep 4 Section: Review of Probability & Linear Algebra (notes)    
Mon Sep 7 No class (Labor Day)   Homework 0 due Tuesday Sep 8
Wed Sep 9 Overfitting, Regularization PML 4.5, 4.7, 11.3-11.4  
Fri Sep 11 Section: Review of Calculus, Gradients    
Mon Sep 14 Bias and Variance, Normal Equations PML 11.2  
Wed Sep 16 Generative Classifiers, Naive Bayes PML 9.3-9.4  
Fri Sep 18 Section: Cross-Validation, Evaluation Metrics    
Mon Sep 21 Introduction to Neural Networks PML 13.1-13.2  
Wed Sep 23 Backpropagation PML 13.3 Homework 1 due
Fri Sep 25 Section: Sci-kit Learn tutorial    
Mon Sep 28 Neural Network Optimizers, Dropout, Early Stopping PML 8.4, 13.4-13.5 Oral exams this week
Wed Sep 30 Convolutional Neural Networks PML 14.1-14.2  
Fri Oct 2 Section: Pytorch tutorial (colab)    
Mon Oct 5 Embedding models, Word Vectors PML 20.5 Project Proposal due
Wed Oct 7 Recurrent Neural Networks PML 15.1-15.2  
Fri Oct 9 No Section (Fall Break)    
Mon Oct 12 Sequence-to-sequence, Attention PML 15.4 Homework 2 due
Wed Oct 14 Decision Trees, ensembles PML 18.1-18.5  
Fri Oct 16 Section: Midterm preparation    
Mon Oct 19 In-class Midterm Exam    
Wed Oct 21 Transformers I PML 15.5-15.6  
Fri Oct 23 Section: Reading AlexNet paper (link)    
Mon Oct 26 Transformers II, Pretraining PML 15.7  
Wed Oct 28 k-Means Clustering (visualization) PML 21.3  
Fri Oct 30 Section: RNNs and backpropagation in pytorch    
Mon Nov 2 Dimensionality Reduction, Principal Component Analysis PML 20.1, 20.4 Project Midterm Report due
Wed Nov 4 Markov Decision Processes, Reinforcement Learning PML2 34.5-34.6, 35.1, 35.4  
Fri Nov 6 Section: Reading Transformers paper (link)    
Mon Nov 9 Q-Learning PML2 35.2 Homework 3 due
Wed Nov 11 No class (Veteran’s Day)    
Fri Nov 13 Section: Practical guide to pretrained deep learning models    
Mon Nov 16 Policy Gradient PML2 35.3  
Wed Nov 18 Adversarial Examples, Privacy PML2 19.1-19.8  
Fri Nov 20 Section: Reading CLIP paper (link)    
Mon Nov 23 Spurious Correlations, Fairness in Machine Learning (slides) FAML 1-4  
Nov 25-27 No class or section (Thanksgiving Break)    
Mon Nov 30 Large Language Models Homework 4 due  
Wed Dec 2 Conclusion (slides)    
Fri Dec 4 Section: Final Exam preparation    
Fri Dec 11 Final Exam, 2-4pm   Project Final Report due Monday, December 7

Grading

Grades will be based on homework assignments (31%), a class project (18%), an oral exam (6%), and two written exams (45%).

Homework Assignments (31% total):

Final Project (18% total). The final project will proceed in three stages:

Oral Exam (6%)

Written Exams (45% total):

Late days

You have 6 late days you may use on any assignment excluding the Project Final Report. Each late day allows you to submit the assignment 24 hours later than the original deadline. You may use a maximum of 3 late days per assignment. If you are working in a group for the project, submitting the project proposal or midterm report one day late means that each member of the group spends a late day. We do not allow use of late days for the final project report because we must grade the projects in time to submit final course grades.

If you have used up all your late days and submit an assignment late, you will lose 10% of your grade on that assignment for each day late. We will not accept any assignments more than 3 days late.

Final project

The final project can be done individually or in groups of up to 3. This is your chance to freely explore machine learning methods and how they can be applied to a task of our choice. You will also learn about best practices for developing machine learning methods—inspecting your data, establishing baselines, and analyzing your errors. More information will be released soon.

Resources

I have written Lecture Notes that accompany all the iPad lectures. I recommend using these notes as reference material for studying. There is no required textbook for this class. If you do want to learn from a textbook, the following may be useful:

To review mathematical background material, you may also find the following useful:

Other Notes

Collaboration policy and academic integrity: Our goal is to maintain an optimal learning environment. You may discuss the homework problems at a high level with other students, but you should not look at another student’s solutions. Trying to find solutions online or from any other sources for any homework or project is prohibited, will result in zero grade and will be reported. To prevent any future plagiarism, uploading any material from the course (your solutions, quizzes etc.) on the internet is prohibited, and any violations will also be reported. Please be considerate, and help us help everyone get the best out of this course.

Please remember the expectations set forth in the USC Student Handbook. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect one’s own academic work from misuse by others as well as to avoid using another’s work as one’s own. All students are expected to understand and abide by these principles. Suspicion of academic dishonesty may lead to a referral to the Office of Academic Integrity for further review.

AI usage guidelines: The homework assignments in this class are designed to help you develop a deep understanding of the material if you spend the time to do the work yourself. Therefore, you are strongly encouraged to do all of the homework assignments yourself, without getting direct help from an AI system. More appropriate uses of AI include getting general help understanding the class material and asking AI to help check and provide feedback on your write-ups after you have written them. Regardless of how you use AI, you will be required to disclose the manner in which you used AI on each homework submission.

For the final project, you are encouraged to explore how AI tools can help you make progress. However, at the end of the day it is your responsibility to ensure that you understand and agree with everything the AI writes, including any code as well as your final write-ups.

Students with disabilities: Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to the instructor as early in the semester as possible.