CS419 - Introduction to Machine Learning

CS419 - Introduction to Machine Learning

Instructor

Preethi Jyothi

Semester

Spring ‘19

Course Difficulty

Moderately hard, but only because the professor laid a great emphasis on the mathematical side of each algorithm.

Time Commitment Required

Heavy, probably a couple of hours in addition to regular classes.
A weekly tutorial was also conducted.

Grading Policy and Statistics

Quite reasonable.
16 AAs, 21 ABs and 24 BBs out of 102 students.

Attendance Policy

None, although the professor had allotted 5% marks for surprise quizzes in class.

Pre-requisites

Strong command over linear algebra, probability and vector calculus is a must.
You should also be comfortable with Python and preferably have some experience using NumPy, Scikit Learn and Pandas.

Evaluation Scheme

The initial weightages were as follows:
Two programming assignments (20%)
Project (10%)
Midsem exam (20%)
Two quizzes (20%)
Final exam (25%)
Participation (5%)
However due to the truncation of the semester, there was only one quiz, one assignment and the midsem, in addition to regular in-class quizzes.

Topics Covered in the Course

Course syllabus includes basic classification/regression techniques such as Naive Bayes’, decision trees, SVMs, boosting/bagging and linear/logistic regression, maximum likelihood estimates, regularization, basics of statistical learning theory, perceptron rule/multi-layer perceptrons, backpropagation, brief introduction to deep learning models, dimensionality reduction techniques like PCA and LDA, unsupervised learning: k-means clustering, gaussian mixture models, selected topics from natural/spoken language processing, computer vision, etc.

Teaching Style

Live classes, slides were minimalistic and most of the teaching would happen on the whiteboard. This made attending classes imperative.
The teaching was really good and interactive, but it occasionally seemed that the professor was going quite fast. The professor was however very receptive to doubts and would repeat things multiple times in case someone brought it up.

Tutorials/Assignments/Projects

The assignments were quite coding heavy.

Feedback on Exams

Midsem was pretty standard, most questions were based on the class discussions. There were a few tricky questions, but in general it was quite easy to score about 60-70% without much effort.

Motivation for taking this course

Enthusiastic about Machine Learning, wanted to explore the field a bit more by doing a formal course.

Course Importance

Machine learning will soon be ubiquitous and whether you’re interested in CSE or not, every field would soon be using ML as a means to an end. In that regard, this is one of the best, most rigorous and well-structured courses in insti. These days everyone knows how to implement ML models in a language of choice but very few thoroughly understand how each algorithm actually works.

How strongly would I recommend this course?

Most certainly if you are looking for a math-heavy and theoretical take on the exploding trend that is Machine Learning. Not for the faint-hearted xD

When to take this course?

4th semester. Ideal time to take the course.

Going Forward

There are loads of courses that develop on these concepts, majorly within the CSE department. You can pick up advanced theoretical ML courses or venture into application-oriented domains such as reinforcement learning, natural language processing, speech recognition etc.

References Used

The professor uploaded regular reading material which was typically extracts from papers or books.
Elements of Statistical Learning by Hastie and Tibshirani is an all-time favourite though.

Other Remarks

This course is also interchangeable with DS303 for the DS minor by the way.

CS 419 Review By: Aditya Iyengar