# 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

PHD 14

## Lectures

Tue, Wed, Thur    (IT Department)

Reference Material for the course:

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

Announcements:

### Supervised Learning

(06-04-2022) -- [Lecture 1] Introduction to Machine learning and Supervised Learning. [Notes for CS229

(06-04-2022) -- [Lecture 2] Linear Regression and Gradient Descent. [Python example] [Section 1 from Andrew ng notes]

(12-04-2022) -- [Lecture 3] Stochastic Gradient Descent, Normal Equations. [Section 2 from Andrew ng notes] [Normal equation]

(12-04-2022) -- [Lecture 4] Regularizaion, Locally weighted regression. [Python example] [Section 4 from Andrew ng notes]

### Probabilistic Modelling

(18-04-2022) -- [Lecture 5] Random Variable, PDF, PMF, CDF, Expected Value, Conditional Probability. [Notes for CS229 Section 1 and 2

(19-04-2022) -- [Lecture 6] Joint Distribution, Multiple Random Variables, Multivariate Gaussian Distribution, Maximum Log Likelihood [Notes for CS229 Section 3, 4 and 5

(20-04-2022) -- [Lecture 7] K Nearest Neighbours, Logistic Regression [Python Example] [Part II from Andrew ng notes]

(25-04-2022) -- [Lecture 8] Multiple class Classification, Categorical Distribution, Mixture of Gaussians. [Python Example] [Andrew ng notes Section 9

### Gaussian Discriminant Analysis

(26-04-2022) -- [Lecture 9] Gaussian Discriminant Ananlysis [Tutorial With Code] [Master Notes for CS229 Section 4.1

(27-04-2022) -- [Lecture 10] Text Classification [Tutorial With Code] [Master Notes for CS229 Section 4.2

### Support Vector Machines

(16-05-2022) -- [Lecture 11] Introduction to Support Vector Machines [Master Notes for CS229 Section 6.1, 6.2

(17-05-2022) -- [Lecture 12] Functional and Geometric Margins [Tutorial With Code] [Master Notes for CS229 Section 6.3, 6.4

(18-05-2022) -- [Lecture 13] SVM for non-separable datasets, L1 loss, L2 loss, Hinge Loss [Master Notes for CS229 Section 6.7

(20-05-2022) -- [Lecture 14] Lagrangian for SVM, Sequential Minimal Optimization (SMO) [Python example] [Master Notes for CS229 Section 6.5, 6.6, 6.8

### Kernels

(08-06-2022) -- [Lecture 15] Introduction to Kernels, Kernel Trick [Tutorial][Master Notes for CS229 Section 5.1

(10-06-2022) -- [Lecture 16] Gradient Descent using Kernels, Kernel Functions [Tutorial] [Python Example][Master Notes for CS229 Section 5.2, 5.3, 5.4

### Deep Learning - Neural Networks

(14-06-2022) -- [Lecture 17] Introduction to Neural Networks [Tutorial][Master Notes for CS229 Section 7.1, 7.2

(15-06-2022) -- [Lecture 18 & 19] Backpropagation [Tutorial for creating Neural Networks][Master Notes for CS229 Section 7.3

Homework: Build a cat vs non-cat model both using logistic regression and dense neural network and compare their accuracies.

(21-06-2022) -- [Lecture 20] Convolutional Neural Networks [Tutorial 1] [Tutorial 2]

(22-06-2022) -- [Lecture 21] CNN Architectures and TensorFlow Implementations: LeNet5, AlexNet [CNN Architrectures]

Homework: Develop a CNN that classifies the objects present in the MNIST Fashion Dataset.

(05-07-2022) -- [Lecture 22 & 23] ResNet, MobileNets, Classification, Localization, and Object Detection, YOLO [Object Detection] [YOLO V3]

Homework: Use any object detection algorithm to detect the different types of objects in an image.

### Decision Trees, Ensembling Techniques

(06-07-2022) -- [Lecture 24] Decision Trees and CART Algorithm [Tutorial with code]

(13-07-2022) -- [Lecture 25 & 26] Ensembling: Bagging, Boosting, and Stacking [Tutorial with code]

### Assignments

(Assignment 1) - This Assignment covers the Linear regression, Logistic Regression, and GDA.

Dataset: data.zip

Due Date: 29 May 2022  5 June 2022