# 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

PHD 14

## Lectures

Tue, Wed, Thur (IT Department)

Reference Material for the course:

Machine Learning: A Probabilistic Perspective. Kevin Murphy. MIT Press, 2012.

Pattern Recognition and Machine Learning. Christopher Bishop. First Edition, Springer, 2006.

Pattern Classification. Richard Duda, Peter Hart and David Stock. Second Edition, Wiley-Interscience, 2000.

Machine Learning. Tom Mitchell. First Edition, McGraw-Hill, 1997.

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

Announcements:

Classes will be held in the seminar room of the IT Department from 02:00 - 03:00 PM

Python will be the default language that will be used to solve the assignments.

You are free to discuss the assignment problems with other students in the class. But all your code should be produced independently without looking at/referring to anyone else's code.

Honor Code: Any cases of copying will be awarded a zero on the assignment and a penalty of -10. More severe penalties may follow.

Assignment 1 has been released [20-04-2022].

### Course Content

### 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]

### Midterm Exam [23-05-2022 to 27-05-2022]

### 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