The course is taught in a sequence of ten 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 components:
- Lecture Notes: These are slides accompanying the class lecture. They include code snippets from the demos. Note that the lecture and unit numbering do not align.
- 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. - Homework: These are more analytic problems, also done at home.
The homework 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].
-
Setting up python, jupyter and github
- Set up a local machine
- Set up a virtual machine in Google Cloud Platform
- Set up a virtual machine in Google Cloud Platform with Docker
- Downloading the course material from github
- For NYU students taking the course in Spring 2018 from Yao Wang, you should download the course material from this Forked Repo, to make sure that you have the updated material for the course. That is, you should replace "https://github.com/sdrangan/introml" by "https://github.com/yaowangatpoly/introml" in the above guide.
- Instruction for Fork the GitRepository and Make your own update and send pull request
- Basics of Python and Its Application for Image Processing through OpenCV
-
Introduction
- Course Admin [pdf] [Powerpoint]
- S18 Course syllabus [pdf] [Powerpoint]
- S18 Project Guideline [pdf] [Powerpoint]
- Lecture 1: Introduction to Machine Learning [pdf] [Powerpoint]
-
Unit 1: Simple linear regression
- Lecture 2: Simple linear regression [pdf] [Powerpoint]
- Introduction to
numpy
vectors - Demo 1: Understanding automobile mpg
- Lab 1: Boston housing data
- Homework 1 [pdf] [Latex]
-
Unit 2: Multiple linear regression
- Lecture 3: Multiple linear regression [pdf] [Powerpoint]
- More
numpy
: Python broadcasting - Demo 2: Predicting glucose levels
- Lab 2: Calibrating robot dynamics
- Homework 2 [pdf] [Latex]
-
Unit 3: Model selection and regularization
- Lecture 4: Model selection [pdf] [Powerpoint]
- Lecture 5: LASSO Regularization [pdf] [Powerpoint]
- Demo 3.1: Polynomial order selection with cross-validation
- Demo 3.2: LASSO regression for finding predictors of prostate cancer
- Lab 3.1: Neural decoding motor cortex signals (feature selection based on correlation and cross validation)
- Lab 3.2: Student performance prediction (feature selection based on LASSO and other feature selection methods)
- Homework 3.1 [pdf] [Latex]
- Homework 3.2 [pdf] [Latex]
-
- Lecture 6: Linear classification and logistic regression [pdf] [Powerpoint]
- Demo 4: Breast cancer diagnosis via logistic regression
- Lab 4: Genetic analysis of Down's syndrome in mice
- Homework 4 [pdf] [Latex]
-
Unit 5: Nonlinear optimization
- Lecture 7: Nonlinear optimization and gradient descent [pdf] [Powerpoint]
- Demo 5.1: Computing gradients
- Demo 5.2: Simple gradient descent optimization
- Lab 5: Audio pitch detection
- Homework 5 [pdf] [Latex]
-
Unit 7: Neural networks with Keras and Tensorflow
- Lecture 9: Neural networks [pdf] [Powerpoint]
- Demo 7.1: First neural network in Keras
- Demo 7.2: MNIST neural network classification
- Lab 7: Music instrument classification
- In-class Exercise
- Homework 7: [pdf] [Latex]
- Supplementary notes with solved problems [pdf] [Latex]
-
Unit 8: Convolutional and deep networks
- Lecture 10: Convolutional and deep networks [pdf] [Powerpoint]
- Setting up a GPU instance (Recommended)
- Demo 8.1: 2D convolutions and convolutional layers in keras
- Demo 8.2: Creating an image set using the Flickr API
- Demo 8.3: Exploring the deep VGG16 network
- Demo 8.4: Building an image classifier using CIFAR10 dataset
- Demo 8.5: Building an autoencoder for image denoising using CIFAR10 dataset
- Lab 8: Transfer learning with a pre-trained network (GPU recommended)
- Homework 8 [pdf] [Latex]
-
- Lecture 11: PCA [pdf], Modifed Note [pdf] [Powerpoint]
- Demo 9: PCA eigen-faces-SVM
- Lab 9a: PCA with NN vs CNN
- Lab 9: Movie recommendations (Not required)
- Homework 9 [pdf] [Latex]
-
- Lecture 12: Clustering and EM [pdf] [Powerpoint]
- Demo 10: Document clustering via k-means and latent semantic analysis
- Demo 10b: Color quantization via k-means and EM-GMM
- Homework 10 [pdf] [Latex]
-
Unit 11: Decision tree and random forest
- Lecture 13: Decision tree and random foreast [pdf] [Powerpoint]
- Demo 11: Prediction of temperature using decision tree and random forest
- Homework 11 [pdf] [Latex]
-
Summary and Review
- Lecture 13: Review [pdf] [Powerpoint]