Professional Documents
Culture Documents
Syl3 ML
Syl3 ML
Learning outcomes of course (i.e., statements on students’ understanding and skills at the end of the course the
student shall have):
Essential (<=6):
1. Understanding popular ML algorithms with their associated mathematical foundations for appreciating
these algorithms.
2. Capability to implement basic algorithms using basic machine learning libraries mostly in python. Gain
hands-on experience in applying ML to problems encountered in various domains. In addition, obtain
exposure to high-level ML libraries or frameworks such as TensorFlow, PyTorch.
3. Make aware of the role of data in the future of computing, and also in solving real-world problems using
machine learning algorithms.
4. Help connect real-world problems to appropriate ML algorithm(s) for solving them. Enable formulating
real world problems as machine learning tasks.
6. Ensure awareness about importance of core CS principles such as algorithmic thinking and systems
design in ML
2. Preparedness to use state of the art machine learning algorithms in formulating and solving new
problems.
3. Capability to train (or solve optimization problems) ML models with applications in real-world use cases.
Introduction to (i) Motivation and role of (i) Connect machine learning to the (i) Experiments/notebooks/code
ML machine learning in broader theme of Computer Science that refresh Python, programming
computer science and frameworks used for the course
problem solving (ii) Expose broad canvas of machine
learning; brief history and importance (ii) Experiments/Code that allows
(ii) Representation students to appreciate
(features), linear mathematics and data
transformations, Appreciate
linear transformations and (iii)Role of data, Connection to the manipulation. Appreciate (a)
matrix vector operations in knowledge /experience in learning. Features, Representation of the
the context of data and data/real-world phenomena (b)
representation. (iv)Show successful examples of mathematical operations or
machine learning in Industry/working transformations that manipulate
(iii) Problem formulations the data (c) plot/visualise the data
(classification and (v) Motivate students by Showing distributions (say in 2D) (d) eigen
regression). how ML and Data driven solutions values, eigen vectors, rank of
could help in our day to day problems matrices.
(iv) Appreciate the probability around (interdisciplinary such as
distributions in the context of agriculture, healthcare, education,
data, Prior probabilities and living etc.) (iii)Lab/Experiments that
Bayes Rule. appreciate the problem of
(v) Introduce paradigms of (vi)Refresh the basic mathematical Classification and problem of
Learning (primarily notions that students may know Regression
supervised and (vectors, matrices, probabilities, etc.)
unsupervised. Also a brief with examples in ML (iv)Lab/Experiments that
overview of others) appreciates the notions related to
(vii) Make students aware of relevant “Training” and “Testing” by
topics like “what is learnable”? And considering algorithms like
“what are the disadvantages of data decision trees, nearest neighbour
driven solutions”. as black boxes.
Selected (i) Ensembling and RF (i) Make students appreciate the role (i)Experiments related to
Algorithms of optimization in machine learning. K-Means, by varying in “K”,
(ii) Linear SVM, Challenges in optimization and why “initialization”. How the “analysis
we are sometimes happy with of the algorithm” can be seen in
(iii) K Means, sub-optimal solutions. How the lab (eg. change of objective
assumptions make the algorithms across iterations). Try multiple
(iv) Logistic Regression simple/tractable. datasets. Appreciate that
“unsupervised discovery” makes
(v) Naive Bayes
(ii) Make students appreciate the role sense in the problem under
of uncertainty in data and machine consideration.
learning problems/solutions. Give
probabilistic insights into Loss (ii)An experiment that
functions (em MSE, cross entropy) demonstrates how SVM can yield
a solution better than a simple
(iii)Introduce iterative algorithms, linear separating solution.
convergence, role of initialization etc. Appreciate the role of support
in a class of ML solutions. vectors. Appreciate how SVMs
extend to problems even if data is
(iv)Connect the geometric view of not linearly separable.
Margin (eg, linear SVM) and
Probabilistic View of Margin (Logistic (iii)An experiment that makes
Regression) and the need of students appreciate the utility of
Generalization naive Bayes classifier in practice
(say designing a text classifier).
Neural (i) Role of Loss Functions (i)Appreciate (a) the neuron model (b) (i)Experiment that exposes the
Network and Optimization, the neural network and its utility in GD and BP in simple neural
Learning modelling and solving the problem. networks. Show the learning
(ii) Gradient Descent and Connect to the biological motivations process (graphs) and
Perceptron/Delta Learning, and parallelism. performances.
(iii) MLP, (ii)Expose the simple elegant (ii)Experiment that use a modern
(iv) Backpropagation optimization scheme of gradient library and implementation of a
descent with associated mathematical deep neural network, expose
(v) MLP for Classification rigour and insights. computational graphs, expose
and Regression, the generalized way of
(iii)Expose the practical issues in appreciating BP as a learning
(vi) Regularisation, Early extending GD to multiple layers and algorithm in Deep Neural
Stopping how the backpropagation algorithm Networks
efficiently computes the gradients.
(vii) Introduction to Deep (iii)Experiment that uses a
Learning (iv)Expose the practical challenges in popular CNN architecture for
(viii) CNNs training a neural network (such as practical application (say image
non-convexity, initialization, size of classification).
data, number of parameters) and how
they are taken care of in the practical (iv)Experiments that strengthen
implementations of today. the empirical skills in training with
(a) initializations (b) update
(v)Appreciate the need for empirical strategies (c) regularisation (d)
skills in training neural networks. multi fold validation on a
small/medium size deep neural
network that can be trained in 5
minutes.
Key Concepts Kernels (with SVM), Focus on mathematical and Python notebooks that
from ML Bayesian Methods, analytical skills. Expose the intuition demonstrate the use of
Generative Methods, HMM, behind these algorithms. Introduce these algorithms on public
EM, PAC learning datasets
analysis of machine learning using a
PAC model.
Notes on Exercises/Labs/Homeworks
1. Use iPython/Jupyter notebooks to hand out assignments; such notebooks allow embedding
instructions/videos/etc, making it easy for instructors, students as well as TAs
2. It may be good to have both theory and programming components in the assignment/homework
component, to allow students to appreciate and learn both aspects of machine learning
3. Based on target audience, have a healthy mix of using an off-the-shelf machine learning library (e.g.
using sklearn’s decision tree function) and writing an algorithm from scratch (e.g. coding up decision tree
from scratch)
4. Consider having a Kaggle-style hackathon in the course, where students get used to competitive machine
learning
T1 Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong, Mathematics for Machine Learning,
Cambridge University Press (23 April 2020)
Reference Books:
R1 Ian Goodfellow, Yoshoua Bengio, and Aaron Courville Deep Learning MIT Press Ltd,
Illustrated edition
R2 Christopher M. Bishop Pattern Recognition and Machine Learning - Springer, 2nd edition
R3 Trevor Hastie, Robert Tibshirani, and Jerome Friedman - The Elements of
Statistical Learning: Data Mining, Inference, and Prediction - Springer, 2nd edition
Prepared by: