Lecture: Tuesdays and Thursdays, 2:30-3:45 in Agricultural Engineering Building, Room 119
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.
See the syllabus for complete information, including TA contact information. Below is a summary of office hour times and locations for quick reference.
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) |
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 | 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) |