Familiarity with the basic concepts in linear algebra, statistics and probability. Having already done some coursework on these would be ideal but we will nevertheless cover some of the essentials concepts during the beginning of the course. Some prior familiarity with machine learning (e.g., via a course like CSE-771) will be helpful (but not required). Some assignments may have a programming component. The students should be comfortable with basic programming in MATLAB or Octave (other programming languages such as Python may be allowed with instructor’s permission)
Estimating the parameters of the underlying model that is assumed to have generated the data is central to any machine learning problem. Probabilistic modeling offers principled and rigorous ways to model data of diverse types, characteristics, and peculiarities, and offers algorithms to uncover the model parameters and make inferences/predictions about the data. This course will expose the students to the basic concepts/algorithms used in probabilistic modeling of data and we will gradually work our way up to use these as building blocks for solving more complex machine learning problems. We will also, at various points during this course, look at how the probabilistic modeling paradigm naturally connects to other dominant paradigm which is about treating machine learning problems as optimization problems, and understand the strengths/weaknesses of both these paradigms, and how they also complement each other in many ways. A rough outline of the course is given below.
There will not be any dedicated textbook for this course. In lieu of that, we will have lecture slides, online notes and monographs, tutorials, and papers for the topics that will be covered in this course. Some recommended(although not required) books are: