Prerequisite: co-requisite for CS5512

Course Content

  1. Introduction to NumPy Regression: linear regression, ridge regression using scipy (3 hours)

  2. Introduction to Matplotlib (6 hours)

  3. Gradient descent method for optimization (3 hours)

  4. Various classification methods using scikitlearn (3 hours)

  5. Principal component analysis, Canonical correlation analysis (6 hours)

  6. Ensemble methods: boosting, bagging, random forests. (3 hours)

  7. Clustering using scikitlearn (6 hours)

  8. Sequential Learning : hidden Markov model (3 hours)

  9. Feed forward NN : Tensorflow (6 hours)

Learning Outcomes

  • Given a task, derive a learning model by defining appropriate loss function, regulariser, optimization problem and stating the best possible solution.
  • Analyse and compare models and algorithms with respect to their complexity, performance and applicability
  • Develop models/algorithms with small modifications of existing standard techniques for a modification of known task

Learning Objectives

  • To introduce classical and foundational concepts, results, methodologies and applications in machine learning
  • To develop abilities for developing a solution for a given problem starting from problem and data to presenting results

Text Books

  1. Richard Duda, Peter Hart, David Stork, Pattern Classification, 2nd Ed, John Wiley & Sons, 2001. ISBN 9788126511167
  2. Christopher Bishop. Pattern Recognition and Machine Learning. ISBN 0387310738.
  3. Trevor Hastie, Robert Tibshirani, Jerome Friedman. Elements of Statistical Learning. ISBN 0387952845.


  1. Tom Mitchell. Machine Learning. McGraw-Hill. ISBN 0070428077.
  2. Shai Shalev-Shwartz, and Shai Ben-David, Understanding Machine Learning: From Theory to Algorithms, Cambridge University Press, 2014. ISBN 978-1-107-05713-5.