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 Q/A Forum:Piazza (select CS771 as the course and sign up)
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.
Background and Course Description
Machine Learning is the discipline of designing algorithms that allow machines (e.g., a computer) to learn patterns and concepts from data without being explicitly programmed. This course will be an introduction to the design (and some analysis) of Machine Learning algorithms, with a modern outlook, focusing on the recent advances, and examples of real-world applications of Machine Learning algorithms. This is supposed to be the first ("intro") course in Machine Learning. No prior exposure to Machine Learning will be assumed. At the same time, please be aware that this is NOT a course about toolkits/software/APIs used in applications of Machine Learning, but rather on the principles and foundations of Machine Learning algorithms, delving deeper to understand what goes on "under the hood", and how Machine Learning problems are formulated and solved.
There will tentatively be 4-5 homeworks (may include a programming component) worth 50% of the total grade, and another evaluation component will be via online quizzes/exams worth 50% of the total grade. We do plan to have online mid-sem and online end-sem exams but, given the current uncertainty regarding logistics of their conduct, we are unable to specify the exact break up of various online quizzes/exams (but, overall, they will be worth 50%).
Schedule and Course Material
The schedule and the course material will be posted weekly on the mooKIT website for this course.
There will not be any dedicated textbook for this course. We will use lecture slides/notes, monographs, tutorials, and papers for the topics that will be covered in this course. Some recommended, although not required, reference books are listed below (in no particular order):
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)
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).
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")