The course is taught in a sequence of units. Each unit takes between one and two weeks so that the entire class can be fit into a single semester. Most units currently have four or five components:
- Lecture Notes: These are slides accompanying the class lecture. They include code snippets from the demos.
- Lecture Videos: The lecture videos are available on Brightspace.
- Whiteboard: MS OneNote
- Demo: These are python-based Jupyter notebooks for demonstrations given during the lectures. Some demos have a component that is done in class. The demos do not generally cover all topics, since some concepts are left for the students to figure out for themselves in the labs.
- Lab: Following the lecture, the students do a python-based exercise at home
that builds on the demo.
The labs in the repository are given as skeletons with
TODO
markers that the students fill in. - Problems: These are more analytic problems, also done at home.
The problem and lab solutions are provided to students enrolled in the class. If you are an instructor and wish copies of the solutions for yourself, please contact Sundeep Rangan at [email protected].
-
Syllabus: Fall 2021
-
Setting up python and jupyter notebook
-
Introduction
- Course Admin [pdf] [Powerpoint]
-
Unit 1: What is machine learning?
- Lecture: Introduction to Machine Learning [pdf] [Powerpoint]
- Demo: Github
- Demo: Setting up the environment on a local machine
- Demo: Google Cloud Platform
- Demo: Python Tutorial
- Demo: Introduction to numpy vectors
- Demo: Overview of Google Colab
-
Unit 2: Simple linear regression
- Lecture: Simple linear regression [pdf] [Powerpoint]
- Demo: Understanding automobile mpg
- Whiteboard: MS OneNote
- Homework (Due on Sept 22, 23:59 PM ET)
- Problem: [pdf]
- Lab: Boston housing data (submit both .ipynb and .pdf files)
-
Unit 3: Multiple linear regression
- Lecture: Multiple linear regression [pdf] [Powerpoint]
- Demo 1: Predicting glucose levels
- Demo 2: Python broadcasting(Optional)
- Whiteboard: MS OneNote
- In-class Exercise: Linear regression
- Homework (Due on on Sept 29, 23:59 PM ET)
- Lab: Calibrating robot dynamics
- Problems [pdf]
------Materials below are outdated and will be updated before each class.------
-
Unit 4: Model selection
- Lecture: Model selection [pdf] [Powerpoint]
- Demo 1: Polynomial order selection with cross-validation
- Demo 2: Feature transforms and model validation(Optional)
- Homework (Due on March 6, 23:59 PM ET)
- Lab: Neural decoding motor cortex signals
- Problems [pdf]
-
Unit 5: Regularization and LASSO
- Lecture: LASSO Regularization [pdf] [Powerpoint]
- Demo 1: Predicting prostate cancer
- Demo 2: Predicting housing prices
- Homework (Due on March 12, 23:59 PM ET)
- Lab: EEG source localization
- Problems [pdf] [Latex]
-
- Lecture: Linear classification and logistic regression [pdf] [Powerpoint]
- Demo: Breast cancer diagnosis via logistic regression
- Homework (Due on March 19, 23:59 PM ET)
- Lab: Genetic analysis of Down's syndrome in mice
- Problems: [pdf]
-
Unit 7: Nonlinear optimization
- Lecture: Nonlinear optimization and gradient descent [pdf] [Powerpoint]
- Demo 1: Computing gradients
- Demo 2: Simple gradient descent optimization
- Homework (Due on March 26, 23:59 PM ET)
- Lab: Nonlinear least squares material modeling
- Problems: [pdf]
-
Unit 8: Support vector machines
- Lecture: SVM [pdf] [Powerpoint]
- Demo 1: MNIST digit classification
- Demo 2: Visualizing kernels
- Homework (Due on April 5, 23:59 PM ET)
- Lab: Extended MNIST with letters
- Problems: [pdf]
-
Unit 9: Neural networks with Keras and Tensorflow
- Lecture: Neural networks [pdf] [Powerpoint]
- Supplementary notes with solved problems [pdf] [Latex]
- Demo 1: First neural network in Keras
- Demo 2: MNIST neural network classification
- In-class:Exercise
- Homework (Due on April 12, 23:59 PM ET)
- Lab: Music instrument classification
- Problems: [pdf]
-
Unit 10: Convolutional and deep networks
- Lecture: Convolutional and deep networks [pdf] [Powerpoint]
- Setting up a GPU instance (Recommended)
- Demo 1: 2D convolutions and convolutional layers in keras
- Demo 2: Creating an image set using the Flickr API
- Demo 3: Exploring the deep VGG16 network
- Demo 4: Building an image classifier using CIFAR10 dataset
- Demo 5: Building an autoencoder for image denoising using CIFAR10 dataset
- Homework (Due on April 26, 23:59 PM ET)
- Lab: Transfer learning with a pre-trained network (GPU recommended)
- Problems: [pdf]
-
- Lecture: PCA [pdf] [Powerpoint]
- Demo 1: PCA eigen-faces-SVM
- Demo 2: Low-rank matrix completion via embedding layers
- Homework (Due on May 3, 23:59 PM ET)
- Lab: PCA with hyper-parameter optimization
- Problems: [pdf]
-
- Lecture: Clustering and EM [pdf] [Powerpoint]
- Demo 1: Document clustering via k-means and latent semantic analysis
- Demo 2: Color quantization via k-means and EM-GMM
- Homework (Due on May 10, 23:59 PM ET)
- Problems: [pdf]
-
Unit 13: Decision Trees and Random Forest
- Lecture: Decision tree and random foreast [pdf] [Powerpoint]
- Demo: Prediction of temperature using decision tree and random forest
- Homework (Will NOT be graded)
- Homework [pdf]
-
- Course project is OPTIONAL. It consists 20% of your total grade. If you choose not to do it, I will take the higher grade of your midterm and final exams, and use it for your project grade.
- Due on the Friday after the final exam. Up to 2 students in a project group.
- List of suggested project topics can be found in a directory named projects on the course repo.
- Recently published paper + existing code as a starting point for your projects, you need to extend it.