Intro Machine Learning
Fraida Fund
These materials are for your personal use. Please do not redistribute (e.g. post online) without permission.
Week 0: Course Intro
- Notes: FAQ for in person section
- Notes: FAQ for online section with scheduled meeting time
- Notes: FAQ for online section with no scheduled meeting time
- Notebook: Python + numpy tutorial
- Notebook: Colab tutorial
- Notes: Prerequisite review
- Notes: Textbooks and Resources
Week 1: Intro ML
- Notes: This Date in History - 1964 World’s Fair
- Handout: Intro to Machine Learning
- Handout: Explore your data
- Notebook: Exploratory data analysis
Week 2: Linear regression
- Notes: “Beauty in the Classroom” preview
- Handout: Linear regression
- Notes: Extended derivation of linear regression parameters
- Notebook: Compute regression coefficients by hand
- Notebook: Linear regression in depth
- Notebook: Linear regression on Advertising data (homework)
Week 3: Gradient descent, bias-variance tradeoff
- Notes: videos on convexity, directional derivatives, gradient descent
- Handout: Gradient descent
- Notes: Predicting the course of COVID-19 with a “cubic model”
- Handout: Error decomposition
- Notes: bias and variance for linear regression
- Notebook: Bias-variance tradeoff in depth
Week 4: Model selection, regularization
- Handout: Model selection
- Notebook: Model selection in depth
- Handout: Regularization
- Notebook: Regularization in depth
Week 5: Logistic regression for classification
- Notes: Classifier metrics
- Handout: Logistic regression
- Notebook: Logistic regression in depth
- Notebook: Logistic regression for handwritten digits classification
- Outside reference: Machine bias
- Outside reference: Can you make AI fairer than a judge?
- Notebook: Classify your own handwritten digit (homework)
Week 6: K nearest neighbor, feature selection
- Handout: K nearest neighbor
- Handout: Feature selection
- Notebook: K nearest neighbor in depth
- Notebook: Voter classification with K nearest neighbor (homework)
Week 7: Decision trees, ensembles
- Handout: Decision trees
- Handout: Ensemble methods
- Notebook: Decision trees and ensembles in depth
- Notebook: Adaboost in depth
- Notebook: Bias and variance of non-parametrics models
Week 8: Support vector classifiers, kernels
- Handout: Support vector classifier
- Handout: SVM with kernels
- Handout: Hyperparameter optimization
- Notebook: Support vector machines in depth
- Notebook: Bias and variance of SVM
- Notebook: UAV assisted wireless localization with Bayesian Optimization and Gaussian Process Regression (homework) (requires Hello, AERPAW)
Week 9: Neural networks
- Handout: Neural networks
- Notebook: Draw your own classification problem for a neural network
- Notebook: Draw your own classification problem for a neural network (Pytorch version)
- Notebook: Backpropagation
- Notebook: Neural networks for music classification (homework)
Week 10: Deep neural networks, convolutional neural networks
- Handout: Deep neural networks
- Handout: Convolutional neural networks
- Notebook: the Slash dataset
- Notebook: Convolutional neural networks
- Notebook: Transfer learning on rock, paper, scissors
- Notebook: Deep neural nets from 1989
Week 11: Deploying machine learning systems
- Outside reference: Using Deep Learning at Scale in Twitter’s Timelines
- Handout: Deploying machine learning systems
- Activity: Deploying machine learning systems on Kubernetes
Week 12: Unsupervised learning
- Handout: Unsupervised learning
- Notebook: Clustering
- Notebook: PCA on handwritten digits
- Notebook: PCA on rock, paper, scissors