Course Description:

This course provides students with an in-depth introduction to the theory and practical algorithms for machine learning from a variety of perspectives. It covers some of the main models and algorithms for regression, classification, clustering and Markov decision processes. Topics includes linear and logistic regression, regularization, probabilistic (Bayesian) inference, SVMs and kernel methods, ANNs, clustering, and dimensionality reduction. The course uses the Python programming language and assumes in addition familiarity with linear algebra, probability theory, and multivariate calculus. This course is designed to give graduate-level students a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who apply machine learning to a whole host of applications.

Learning Objectives:

  • Understanding a wide variety of learning algorithms.
  • Develop skills to apply learning algorithms to solving practical problems.
  • Understanding how to perform evaluation of learning algorithms and model selection.
  • Implement in code common ML algorithms (as assessed by the homeworks).


  • Victor Adamchik -

    Teaching Assistants (Ph.D. students):

    • Ke Zhang -
    • Zhiyun Lu -
    • Michael Tsang -
    • Heming Zhang -

    Course Producers (Master students):

    • Ashir Alam -
    • Yixian Di -
    • Yang Fang -
    • Cheng-Ju Lin -
    • Anirudh Kashia -
    • Piyush Umate -


  • Tuesday, 5:00 - 7:20pm, SGM124