Machine Learning

Instructor

Dr. Janibul Bashir

Course Overview

In this course, our aim is 

(a) to familiarize with/develop the understanding of fundamental concepts of Machine Learning (ML)

(b) To develop the understanding of working of a variety of ML algorithms (both supervised as well as unsupervised)

(c) To learn to apply ML algorithms to real world data/problems

(d) To update with some of the latest advances in the field 

Course Code

ITT450 & PHD 14

Lectures

Mon, Thur    (L1)

Reference Material for the course:

Video Lectures:                      1.  Machine Learning using Python by Dr. Janibul Bashirs [Videos]                                                            

2. Stanford CS229: Machine Learning by Prof. Andrew NG [Videos]

Announcements:

Course Content

Introduction to Machine Learning, Regression 

(06-03-2023) -- [Lecture 1] -- Introduction to Machine learning - [Video Lecture] [B5 Chapter 1]

(07-03-2023) -- [Lecture 2] -- Supervised Learning, Hypothesis Functions, Loss Functions (Zero-One loss and Mean Square Loss) --   [Video Lecture] [B6 Part 1]

(09-03-2023) -- [Lecture 3] -- Linear Regression, Hypothesis Function, Matrix Format Dataset --   [Video Lecture] [B6 Chapter 1][B5 Chapter 4]

(09-03-2023) -- [Lecture 4] -- Gradient Descent --  [Video Lecture] [B6 Chapter 1.1][B5 Chapter 4]

(13-03-2023) -- [Lecture 5] -- Batch GD, Stochastic GD, Mini-Batch GD --  [Video Lecture] [B6 Chapter 1.1 and 1.4][B5 Chapter 4]

(16-03-2023) -- [Lecture 6] -- Normal Equations, Non-linear Hypothesis, Polynomial Regression --  [Video Lecture] [B6 Chapter 1.2][B5 Chapter 4]

(16-03-2023) -- [Lecture 7] -- Generalization, Underfitting, Overfitting, Bias-Variance Tradeoff, Learning Curves --  [Video Lecture] [B6 Chapter 8][B5 Chapter 4]

(17-03-2023) -- [Lecture 8] -- Regularization, Ridge and Lasso, Early stopping, Cross-validation --  [Video Lecture] [B6 Chapter 9][B5 Chapter 4]

Probabilistic Modelling, Classification

(20-03-2023) -- [Lecture 9] -- Introduction to probability and its relation to Machine Learning, PDF, PMF, CDF  -  [B1 Section 2.1]

(20-03-2023) -- [Lecture 10] -- Random variables, Bayesian Inference and Bayes Theorem - [B1 Section 2.2 - 2.3]

(23-03-2023) -- [Lecture 11] -- Bernoulli Distribution and Binary Logistic Regression using Bernoulli Distribution - [B1 Section 2.4]

(27-03-2023) -- [Lecture 12] -- Categorical Distribution and Multiclass logistic regression using categorical distribution - [B1 Section 2.5]

(27-03-2023) -- [Lecture 13] -- Probabilistic Modelling: Kullback-Leibler Divergence, Maximum likelihood estimation for parameter optimisation - [B1 Section 4.1, 4.2]

(03-04-2023) -- [Lecture 14] -- MLE for Regression and Classification Problems - [B1 Section 4.2]

Data Processing and Discriminant Algorithms

(06-04-2023) -- [Lecture 15] -- Multivariate Data Analysis: Variance, Covariance, and Covariance Matrix  -  [B1 Section 3.1]

(06-04-2023) -- [Lecture 16] -- Significance of Eigen vectors and Eigen Values of a Covariance Matrix, Contour plots 

(10-04-2023) -- [Lecture 17] --Multivariate Models, Multivariate Normal Distribution - [B1 Section 3.2]

(10-04-2023) -- [Lecture 18] -- Gaussian Discriminant Ananlysis [Tutorial With Code] [Master Notes for CS229 Section 4.1] [B1 Section 9.1, 9.2]

Midterm Exam [14-04-2023 to 21-04-2023]

(24-04-2023) -- [Lecture 19] -- Naive Bayes  -   [Tutorial With Code] [Master Notes for CS229 Section 4.2

(24-04-2023) -- [Lecture 20] -- Text Classification using Naive Bayes, Laplace Smoothing  [Master Notes for CS229 Section 4.2

Non-Parametric Models

(28-04-2023) -- [Lecture 21] -- Non Parametric Models, K-Nearest Neighbour, Mahalabonis Distance [B1 Section 16.1]

(28-04-2023) -- [Lecture 22] -- Kernels and Kernel Trick [Tutorial] [Python Example][Master Notes for CS229 Section 5.1 - 5.4

H/W: Support Vector Machines [B1 Section 17.3]

Deep Learning - Neural Networks

(01-05-2023) -- [Lecture 23] Derivation of Feature maps using function composition - [B1 Section 13.1]

(01-05-2023) -- [Lecture 24] Introduction to Neural Networks - [Tutorial][Master Notes for CS229 Section 7.1, 7.2] [B1 Section 13.1]

(04-05-2023) -- [Lecture 25] Backpropagation [Tutorial for creating Neural Networks][Master Notes for CS229 Section 7.3[B1 Section 13.3]

(04-05-2023) -- [Lecture 26] Training Issues in NN, Regularization in Neural Networks - [B1 Section 13.4 and 13.5]

UnSupervised Learning, Reinforcement Learning, Decision Trees and Ensembling Techniques

(11-05-2023) -- [Lecture 27] K-Means Clustering - [Master Notes for CS229 Section 10] [B1 Section 21.1, 21.3]

(11-05-2023) -- [Lecture 28] Anomaly Detection

(15-05-2023) -- [Lecture 29] Principle Component Analysis and its applications

(18-05-2023) -- [Lecture 30] Recommender Systems, Collaborative filtering 

(22-05-2023) -- [Lecture 31] Introduction to Reinforcement Learning 

(25-05-2023) -- [Lecture 32] Value Function, Bellman Equation, Policy

(30-05-2023) -- [Lecture 33] Value iteration, Policy Iteration

(01-06-2023) -- [Lecture 34] Decision Trees and their Regularization

(01-06-2023) -- [Lecture 35] Ensembling Techniques - Bagging and Boosting (Adaboost, Gradient Boosting)

Assignments

Homework 1 [Due Date: 10-04-2023]: Implementation of Linear Regression and Polynomial Regression on a housing dataset. All the possible graphs are to be plotted for data visualization on that particular dataset.

Do the regularization of the model and plot the learning curves as well.

Homework 2 [Due Date: 10-04-2023]: Implementation of Binary Logistic Regression and Multiclass Logistic Regression on an IRIS dataset and MNIST Dataset.

Homework 3 [Due Date: 20-05-2023]: 

Part 1) Build a cat vs non-cat model both using logistic regression and dense neural network and compare their accuracies.

Part 2) Take any dataset of your choice from the internet and optimize the parameters of the neural network for that particular dataset including the architecture of the neural network, activation function to be used, learning rate, and resularization (early stopping and drop out).