Lecture: Tuesdays and Thursdays, 2:30-3:45 in Morrill 2, Room 222
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.
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 |
---|---|---|---|
Using VSCode and .ipynb Files | February 8, 2024 | 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) |
Python and Jupyter Introduction | February 8, 2024 | An example Jupyter Notebook explaining how these notebooks work and providing a very basic introduction to Python (intended for students who took the Java introductory sequence). | notebook (.ipynb) |
Assignment Number | Date Assigned | Date/Time Due | Document Link |
---|---|---|---|
1 | February 14, 2024 | February 22, 2024 at 2:00pm Eastern | notebook (.ipynb) |
2 | March 5, 2024 | March 12, 2024 at 2:00pm Eastern | notebook (.ipynb) |
3 | March 26, 2024 | April 2, 2024 at 2:00pm Eastern | notebook (.ipynb) |
4 | April 9, 2024 | April 15, 2024 at 2:00pm Eastern | notebook (.ipynb) |
5 | April 24, 2024 | May 2, 2024 at 2:00pm Eastern | notebook (.ipynb) |
Lecture | Lecture Date | Topic | Document Link |
---|---|---|---|
Lecture #1, Part 1 | February 1, 2024 | Course Introduction | slides (.pdf) |
Lecture #1, Part 2 | February 1, 2024 | Introduction to ML | slides (.pdf) |
Lecture #2, Part 1 | February 6, 2024 | Introduction to Supervised Learning and Data Sets | slides (.pdf) |
Lecture #2, Part 2 | February 6, 2024 | Introduction to Pandas and Data Sets (Incomplete) | notebook (.ipynb) |
Lecture #3, Part 1 | February 8, 2024 | Introduction to Pandas and Data Sets (Complete) | notebook (.ipynb) |
Lecture #3, Part 2 | February 8, 2024 | Models, Algorithm Template (scikit-learn), and the Nearest Neighbor Algorithm | slides (.pdf) |
Lecture #4, Part 1 | February 13, 2024 | Nearest Neighbor | notebook (.ipynb) |
Lecture #4, Part 2 | February 13, 2024 | Model Evaluation | notebook (.ipynb) |
Lecture #5, Part 1 | February 15, 2024 | Model Evaluation (Summary) | slides (.pdf) |
Lecture #5, Part 2 | February 15, 2024 | Nearest Neighbor Variants | slides (.pdf) |
Lecture #5, Part 3 | February 15, 2024 | Evaluation Part 2 | notebook (.ipynb) |
Lecture #6, Part 1 | February 20, 2024 | Probability, Statistics, and Evaluation | slides (.pdf) |
Lecture #6, Part 2 | February 20, 2024 | Evaluation Part 3 (partial) | slides (.pdf), notebook (.ipynb) |
Lecture #7, Part 1 | February 27, 2024 | Evaluation Part 3 | slides (.pdf), notebook (.ipynb) |
Lecture #7, Part 2 | February 27, 2024 | Evaluation Part 4 | slides (.pdf), notebook (.ipynb) |
Lecture #7, Part 3 | February 27, 2024 | Review and Validation Sets | slides (.pdf) |
Lecture #7, Part 4 | February 27, 2024 | Linear Regression and the Optimization Perspective (partial) | slides (.pdf) |
Lecture #8, Part 1 | February 29, 2024 | Linear Regression and the Optimization Perspective | slides (.pdf) |
Lecture #8, Part 2 | February 29, 2024 | Gradient Descent (partial) | slides (.pdf) |
Lecture #9, Part 1 | March 5, 2024 | Gradient Descent | slides (.pdf) |
Lecture #9, Part 2 | March 5, 2024 | Data Cleaning Intro | notebook (.ipynb) |
Lecture #9, Part 3 | March 5, 2024 | Data Cleaning (Partial) | slides (.pdf) |
Lecture #10, Part 1 | March 7, 2024 | Data Cleaning | slides (.pdf) |
Lecture #10, Part 2 | March 7, 2024 | Neural Networks (partial) | slides (.pdf) |
Lecture #11, Part 1 | March 12, 2024 | Neural Networks | slides (.pdf) |
Lecture #11, Part 2 | March 12, 2024 | Automatic Differentiation (partial) | slides (.pdf) |
Lecture #12, Part 1 | March 14, 2024 | Automatic Differentiation | slides (.pdf), notebook (.ipynb) |
Lecture #12, Part 2 | March 14, 2024 | Automatic Differentiation for ML | slides (.pdf), notebook (.ipynb) |
Lecture #12, Part 3 | March 14, 2024 | Introduction to Pytorch (partial) | slides (.pdf) |
Lecture #13 | March 26, 2024 | PyTorch and Overfitting | slides (.pdf) |
Lecture #14 | March 28, 2024 | Classification (partial) | slides (.pdf) |
Lecture #15, Part 1 | April 2, 2024 | Classification | slides (.pdf) |
Lecture #15, Part 2 | April 2, 2024 | Classification Example | slides (.pdf) |
Lecture #16 | April 4, 2024 | Generative AI | slides (.pdf) |
Lecture #17 | April 9, 2024 | Introduction to Reinforcement Learning (partial) | slides (.pdf) |
Lecture #18 | April 11, 2024 | Supervised Learning Review | slides (.pdf) |
Test | April 16, 2024 | Test | |
Lecture 19 Part 1 | April 18, 2024 | Introduction to RL | slides (.pdf) |
Lecture 19 Part 2 | April 18, 2024 | MDPs and Reward Design (partial) | slides (.pdf) |
Lecture 20 Part 1 | April 23, 2024 | MDPs and Reward Design | slides (.pdf) |
Lecture 20 Part 2 | April 23, 2024 | MENACE and REINFORCE (partial) | slides (.pdf) |
Lecture 21 Part 1 | April 30, 2024 | MENACE and REINFORCE | slides (.pdf) |
Lecture 21 Part 2 | April 30, 2024 | Value functions, Temporal Difference Learning, and Actor-Critics | slides (.pdf) |
Lecture 22 | May 2, 2024 | Relation to Psychology and Neuroscience | slides (.pdf) |
Lecture 23 Part 1 | May 7, 2024 | Relation to Philosophy | slides (.pdf) |
Lecture 23 Part 2 | May 7, 2024 | Fairness | slides (.pdf) |