COMPSCI 389: Introduction to Machine Learning
Spring 2025, University of Massachusetts
Lecture: Tuesdays and Thursdays, 2:30-3:45 in Agricultural Engineering Building, Room 119
Archived course page. Dates, office hours, and course logistics are retained for historical reference.
Course Information
Download syllabus (.pdf)
Description
The course provides an introduction to machine learning algorithms and applications. Machine learning algorithms answer the question: "How can a computer improve its performance based on data and from its own experience?" The course is roughly divided into thirds: supervised learning (learning from labeled data), reinforcement learning (learning via trial and error), and real-world considerations like ethics, safety, and fairness. Specific topics include linear and non-linear regression, (stochastic) gradient descent, neural networks, backpropagation, classification, Markov decision processes, state-value and action-value functions, temporal difference learning, actor-critic algorithms, the reward prediction error hypothesis for dopamine, connectionism for philosophy of mind, and ethics, safety, and fairness considerations when applying machine learning to real-world problems.
Office Hours
See the syllabus for complete information, including TA contact information. Below is a summary of office hour times and locations for quick reference.
- Tuesdays, 10–12, Andy, LGRT T222.
- Wednesdays, 3:30–5:30, Blossom, LGRT T220.
- Thursdays, 11:30–1:30, Andy, LGRT T222.
- Thursday Evenings, 7:30pm–8:30pm, Victor, Zoom.
- Fridays, 10–12, Blossom, LGRT T220.
Instructions and Guides
Note: To download an .ipynb file, right-click its link and select "Save Link As" (Firefox), or a similar option in your browser. Then open the downloaded file using VS Code.
| Title | Date | Description | Document Link |
|---|---|---|---|
| Jupyter Notebook Installation | N/A | Instructions describing how to install Python, VS Code, and set them up to work with .ipynb (Jupyter Notebook) files on macOS and Windows. | instructions (.pdf), instructions (.md) |
| Jupyter Notebook Introduction | N/A | An example Jupyter Notebook explaining how notebooks work and providing a very basic introduction to Python. | notebook (.ipynb) |
Homework Assignments
Note: Homework assignments should be submitted in Gradescope.
| Assignment Number | Date Assigned | Date/Time Due | Document Link |
|---|---|---|---|
| 1 | February 18, 2025 | February 27, 2025 at 2:00pm Eastern | notebook (.ipynb) |
| 2 | March 11, 2025 | March 25, 2025 at 2:00pm Eastern | notebook (.ipynb) |
| 3 | March 27, 2025 | April 8, 2025 at 2:00pm Eastern | notebook (.ipynb) |
| 4 | April 10, 2025 | April 22, 2025 at 2:00pm Eastern | notebook (.ipynb) |
| 5 | May 1, 2025 | May 8, 2025 at 2:00pm Eastern | notebook (.ipynb) |
Lecture Slides and Code Notebooks
| Lecture | Lecture Date | Topic | Document Link |
|---|---|---|---|
| Lecture #1, Part 1 | January 30, 2025 | Course Introduction | slides (.pdf) |
| Lecture #1, Part 2 | January 30, 2025 | Introduction to ML | slides (.pdf) |
| Lecture #2 | February 4, 2025 | Introduction to Supervised Learning and Data Sets | slides (.pdf) |
| Lecture #3 | February 11, 2025 | Data Analysis | slides (.pdf), notebook (.ipynb) |
| Lecture #4 | February 13, 2025 | Models, Algorithm Template, Nearest Neighbors | slides (.pdf), notebook (.ipynb) |
| Lecture #5, Part 1 | February 18, 2025 | Model Evaluation (Evaluation metrics and train/test splits) | slides (.pdf), notebook (.ipynb) |
| Lecture #5, Part 2 | February 18, 2025 | Nearest Neighbor Variants | slides (.pdf), notebook (.ipynb) |
| Lecture #6, Part 1 | February 25, 2025 | (Cont.) Nearest Neighbor Variants | slides (.pdf), notebook (.ipynb) |
| Lecture #6, Part 2 | February 25, 2025 | Evaluation Part 2 (The need for better evaluations) | notebook (.ipynb) |
| Lecture #6, Part 3 | February 25, 2025 | Probability, Statistics, Quantifying Uncertainty | slides (.pdf) |
| Lecture #7, Part 1 | February 27, 2025 | (Cont.) Probability, Statistics, Quantifying Uncertainty | slides (.pdf) |
| Lecture #7, Part 2 | February 27, 2025 | Evaluation Part 3 (Quantifying Uncertainty) | slides (.pdf), notebook (.ipynb) |
| Lecture #8, Part 1 | March 4, 2025 | Evaluation Part 4 (Cross-Validation) | slides (.pdf), notebook (.ipynb) |
| Lecture #8, Part 2 | March 4, 2025 | Review and Validation Sets | slides (.pdf) |
| Lecture #9 | March 6, 2025 | Linear Regression and the Optimization Perspective | slides (.pdf) |
| Lecture #10 | March 11, 2025 | Gradient Descent | slides (.pdf) |
| Lecture #11 | March 13, 2025 | Data Cleaning (and finishing Gradient Descent) | first notebook (.ipynb), slides (.pdf), second notebook (.ipynb) |
| Lecture #12 | March 25, 2025 | Neural Networks | slides (.pdf) |
| Lecture #13 | March 27, 2025 | Automatic Differentiation | slides (.pdf), notebook (.ipynb) |
| Lecture #14 | April 1, 2025 | Cancelled | |
| Lecture #15, Part 1 | April 3, 2025 | Automatic Differentiation for ML | slides (.pdf), notebook (.ipynb) |
| Lecture #15, Part 2 | April 3, 2025 | PyTorch and Overfitting (began) | slides (.pdf), notebook (.ipynb) |
| Lecture #16, Part 1 | April 8, 2025 | PyTorch and Overfitting (finished) | slides (.pdf), notebook (.ipynb) |
| Lecture #16, Part 2 | April 8, 2025 | Classification | slides (.pdf), notebook (.ipynb) |
| Lecture #17 | April 10, 2025 | Classification Example (began Generative AI slides) | slides (.pdf), notebook (.ipynb) |
| Lecture #18 | April 15, 2025 | Generative AI | slides (.pdf), notebook (.ipynb) |
| Lecture #19, Part 1 | April 17, 2025 | Generative AI (finishing slides) | slides (.pdf), notebook (.ipynb) |
| Lecture #19, Part 2 | April 17, 2025 | Supervised Learning Review (began) | slides (.pdf) |
| Lecture #20 | April 22, 2025 | Supervised Learning Review | slides (.pdf) |
| Lecture #21 | April 24, 2025 | Test | |
| Lecture #22 Part 1 | April 29, 2025 | Reinforcement Learning Introduction | slides (.pdf) |
| Lecture #22 Part 2 | April 29, 2025 | Reinforcement Learning Basics and Reward Design (start) | slides (.pdf) |
| Lecture #23 Part 1 | May 1, 2025 | Reinforcement Learning Basics and Reward Design (finish) | slides (.pdf) |
| Lecture #23 Part 2 | May 1, 2025 | From MENACE to REINFORCE | slides (.pdf) |
| Lecture #24 Part 1 | May 6, 2025 | From MENACE to REINFORCE (cont.) | slides (.pdf) |
| Lecture #24 Part 2 | May 6, 2025 | Value Functions, TD Error, and Actor-Critics | slides (.pdf) |