Machine Learning

Fall 2016

Course description: As the world increasingly relies on massive digital datasets for scientific exploration, commerce, social interaction, entertainment, and surveillance, the analysis of such data has become a problem of deep scientific and technological interest. Machine learning is an exciting interdisciplinary field that is central to the analysis of massive datasets. It is a multi-faceted area of research, with many subfields that have been explored over the past 50 years. This class will provide an overview of the field, with an emphasis on real-world applications. Machine learning is the formalized study of the intuitive notion of "learning" (which itself can be interpreted in a myriad of ways, from "self-improvement" to "pattern discovery"). The course will cover three major models of learning -- unsupervised learning, supervised learning, and reinforcement learning -- as well as some minor variants, such as semi-supervised learning.

The course will stress foundations that underly these seemingly disparate forms of learning. Most computational models of learning reduce to extraction of patterns or regularities by combining background knowledge, observed data, and stored experience. Formally, this process can be modeled as projecting or embedding the data onto some measurable hypothesis space (e.g, a parametric probability distribution, a vector space with an inner product defined on it, or a manifold or graph). In this course, we will cover three approaches in detail: parametric approaches based on Bayesian inference and graphical models; nonparametric approaches based on kernel methods; and finally, spectral techniques based on linear algebra and matrices.

Lectures: Monday & Wednesday 2:30-3:45, Room 142, CS Building

Course Schedule, Projects, Reading etc.

Prerequisites: Good undergraduate level exposure to basic concepts in artificial intelligence; linear algebra, probability theory and statistics, algorithmic analysis; familiarity with high-level programming languages, such as Python, C++, Java etc.; knowledge of MATLAB and/or R (helpful, not required). Please talk with the instructor if you want to take the course but have doubts about your qualifications. This is a core class for computer science graduate students.


Machine learning is a vast field, and no single textbook covers all the material in the course. The first book by Murphy is a good primary reference for some of the material, and although our class will deviate from this book in many areas, it is worth having since it is a comprehensive modern treatment. Unfortunately, it does not cover several major topics in ML, such as reinforcement learning and computational learning theory. The second book provides an excellent introduction to reinforcement learning. Both books can be ordered from Amazon.

  • Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.

  • Richard Sutton and Andrew Barto, Reinforcement learning: An Introduction, MIT Press, 2009.

    Other Books and Reference Material


    All students should get access to Moodle (see using your OIT login account. All lectures, assignments, and grades will be assigned using Moodle.


    We will be using MATLAB for some of the programming assignments. MATLAB runs on the Edlab machines and is available in many research laboratories in the department. A student version costs $99 from the bookstore.

    Credit: 3 units

    Instructor: Professor Sridhar Mahadevan (mahadeva AT cs DOT umass DOT edu)

    Teaching assistant: