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]
- 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: Neural decoding motor cortex signals
- Homework 3 [pdf] [Latex]
- Unit 4: Logistic regression
- 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 6: Support vector machines
- Lecture 8: SVM [pdf] [Powerpoint]
- Demo 6: MNIST digit classification
- Lab 6: Extended MNIST with letters
- Homework 6 [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
- Homework 7: 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
- Lab 8: Transfer learning with a pre-trained network (GPU recommended)
- Homework 8 [pdf] [Latex]
- Unit 9: PCA
- Lecture 11: PCA [pdf] [Powerpoint]
- Demo 9: PCA eigen-faces
- Lab 9: Movie recommendations
- Unit 10: Clustering and EM
- Lecture 12: Clustering and EM [pdf] [Powerpoint]
- Demo 10: Document clustering via k-means and latent semantic analysis