## Introduction to Machine Learning |

Instructor: Piyush Rai: (office: RM-502, email: piyush AT cse DOT iitk DOT ac DOT in)

TAs: Avik Pal, Hemant Sadana, Niravkumar Hasmukhbhai Panchal, Shivam Bansal, Amit Chandak, Dhanajit Brahma, Neeraj Matiyali, Pratik Mazumder, Rahul Sharma, Soumya Banerjee

TA Office Hours and Contact Details: TBA

Class Location: Due to the current COVID-19 pandemic situation, this offering will be online via mooKIT (3 lectures per week, each of 50 minutes duration). In addition, there will be one discussion slot every Monday (6pm - 7pm), the details for which will be shared upon the start of the semester.

Lecture Slides (in PPTX format)

Lecture Videos

The webpage for the 2018 offering of this course.

- Hal Daumé III, A Course in Machine Learning (CIML), 2017 (freely available online)
- Kevin Murphy, Machine Learning: A Probabilistic Perspective (MLAPP), MIT Press, 2012
- Christopher Bishop, Pattern Recognition and Machine Learning (PRML), Springer, 2007.
- David G. Stork, Peter E. Hart, and Richard O. Duda. Pattern Classification (PC), Wiley-Blackwell, 2000
- Ian Goodfellow and Yoshua Bengio and Aaron Courville. Deep Learning (DL), MIT Pess, 2016 (individual chapters freely available online)
- Trevor Hastie, Robert Tibshirani, Jerome Friedman, The Elements of Statistical Learning (ESL), Springer, 2009 (freely available online)
- Shai Shalev-Shwartz and Shai Ben-David. Understanding Machine Learning: From Theory to Algorithms (UML), Cambridge University Press, 2014
- Mehryar Mohri, Afshin Rostamizadeh and Ameet Talwalkar. Foundations of Machine Learning (FOML), MIT Press, 2012

Here is another useful, interactive (Python notebooks) book on deep learning (it also covers many of the basic topics in machine learning): Dive into Deep Learning (authors: Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola)

- Reference texts (locally accessible)
- scikit-learn: Machine Learning in Python: A Python based library implementing many ML algorithms.
- Tensorflow and PyTorch: Both are Python based libraries implementing many ML and deep learning algorithms (and can be used to develop new ones), and have capability to use GPU acceleration (especially needed for deep learning algorithms).
- A quick Python tutorial (a nice quick reference sheet for Python), Another quick Python/NumPy Tutorial, More detailed NumPy/SciPy intro
- LaTeX tutorial. Note: This one is fairly detailed but pretty good; there are many shorter tutorials (e.g., this one) available as well if you just want to have a basic working knowledge of LaTeX. There are also web-based LaTeX editors (that don't require you to install LaTeX on your machine) with some cool features, such as Overleaf (newer version is "v2")