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

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 (link).
  • Fridays, 10–12, Blossom, LGRT T220.

Instructions and Guides


Note: To display .ipynb files, right click the link and select "Save Link As" (Firefox), or a similar option in your browser. Then open the downloaded file using VSCode.

Title Date Description Document Link
Jupyter Notebook Installation N/A Instructions describing how to install Python, VSCode, 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, 2024 February 27, 2024 at 2:00pm Eastern notebook (.ipynb)
2 March 11, 2024 March 25, 2024 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, 2024 Models, Algorithm Template, Nearest Neighbors slides (.pdf), notebook (.ipynb)
Lecture #5, Part 1 February 18, 2024 Model Evaluation (Evaluation metrics and train/test splits) slides (.pdf), notebook (.ipynb)
Lecture #5, Part 2 February 18, 2024 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)