CSN-382 Machine Learning

Spring 2022-23

Instructor: Balasubramanian Raman
Office: S-227, CSE Building
Class Meeting Time: Mondays, Tuessdays and Thursdays (2-3 pm).
Class Room: APJ Abdul Kalam Block - 407
Office Hours: Tuesdays and Fridays, 11:00 a.m. - 1:00 p.m. and by appointment
TAs: Dr. Pradeep Singh (pradeep.cs at sric), Kishore Babu(kbabu89 at cs), Deepak Kumar (d_kumar at cs) and Diya Sati(diya_s at cs)
Email: first four letters of first name at cs dot ac dot in


February 09, 2023: Quiz 1 has been conducted.
February 02, 2023: Assignment 2 has been posted.
January 20, 2023: Python Lab sheet 1 for Batch 02 has been posted.
January 19, 2023: Assignment 1 has been posted.
January 19, 2023: Python Lab sheet 1 for Batch 01 has been posted.
January 05, 2023: Classes have begun.

Course Objectives, Learning Outcomes and Prerequisites

This course provides an introduction to the fundamental concepts in machine learning and popular machine learning algorithms. We will cover the standard and most popular supervised learning algorithms including linear regression, logistic regression, decision trees, k-nearest neighbour, an introduction to Bayesian learning and the Naive Bayes algorithm, support vector machines and kernels and neural networks with an introduction to Deep Learning.

Prerequisites: Programming and Data Structures.

Evaluation Components

Lecture Notes

01. Introduction to Machine Learning (09/01/2023)
02. Different Types of Learning (10/01/2023)
03. Linear Regression-OLS and Introduction to Gradient Descent (12/01/2023)
04. Linear Regression-Gradient Descent, Prelimininary Statistics-Covariance, Correlation, Measures of Association in Regression (16/01/2023)
05. R-Squared, Adjusted R-Squared, Feature Engineering, Introduction to PCA (17/01/2023)
06. PCA and Introduction to Logistic Regression (19/01/2023)
06. Why Eigenvectors with the highest Eigenvalues maximize the variance in PCA? (19/01/2023)
07. Logistic Regression and Introduction to Probability Theory (23/01/2023)
08. Conditional Probability and Naive Bayes classifier (24/01/2023)
09. Problem Discussion (02/02/2023)
10. kNN and Loadings in PCA (06/02/2023)
11. Feature Selection and Introduction to LDA (07/02/2023)
12. Quiz 1 (09/02/2023), Solution (Posted on 13/02/2023)
13. LDA (13/02/2023)
14. Why Eigenvectors with the highest Eigenvalues maximize the separation between the classes in LDA? (13/02/2023)
15. k-Means Clustering and k-Modes clustering (16/02/2023)
16. Cost Function Optimization and Introduction to Regularization (20/02/2023)
17. Regularization, Convex Optimization (21/02/2023)


01. Assignment 1 (Posted on 19/01/2023, due on 02/02/2023), Solution/Hint (Posted on 07/02/2023).
02. Python Lab Sheet 1 for Batch 01 (Posted on 19/01/2023)
03. Python Lab Sheet 1 for Batch 02 (Posted on 19/01/2023)
04. Assignment 2 (Posted on 02/02/2023, due on 17/02/2023).


01. Quiz 1 (09/02/2023), Solution (Posted on 13/02/2023)


01. How to install anaconda in windows and ubuntu along with google colab (Posted on 20/01/2023)

Recommended Study Material

The following will be used as a reference/text book for this course:
1. Mohri Mehryar, Afshin Rostamizadeh, and Ameet Talwalkar, Foundations of machine learning, MIT press, 2018.
2. Sammut, Claude, and Geoffrey I. Webb, Encyclopedia of machine learning and data mining, Springer, 2017.
3. Witten Ian H., Eibe Frank, Mark A. Hall, and Christopher J. Pal, Data Mining: Practical machine learning tools and techniques, Morgan Kaufmann, 2016.
4. Muller Andreas C. and Sarah Guido. Introduction to Machine Learning with Python: A Guide for Data Scientists, 2016.
5. Christopher M. Bishop. Pattern Recognition and Machine Learning, Springer, 2013.