Machine learning has become an indispensible part of many application areas, in both science (biology, neuroscience, psychology, astronomy, etc.) and engineering (natural language processing, computer vision, robotics, etc.). But machine learning is not a single approach; rather, it consists of a dazzling array of seemingly disparate frameworks and paradigms spanning classication, regression, clustering, matrix factorization, Bayesian networks, Markov random elds, etc. This course aims to uncover the common statistical principles underlying this diverse array of techniques.