Office hours: 11:3012:30 Wednesdays (ICICS 193).
Tutorials: 3:004:00 and 4:005 Fridays (DMP 101).
Help sessions: 3:305 Mondays on days before assignments are due (ICICS X836)
Instructor: Mark Schmidt.
Teaching Assistants: Reza Babanezhad, Alireza Shafaei, Sharan Vaswani.
Synopsis: This is a graduatelevel course on machine learning, a field that focuses on using automated data analysis for tasks like pattern recognition and prediction. The course will move quickly and assumes a strong background in math and computer science as well as previous experience with statistics and/or machine learning (other students interested in machine learning should first register for CPSC 340). Topics will (roughly) include linear models, density estimation, graphical models, Bayesian methods, deep learning, online/active/causal learning, reinforcement learning, and learning theory.
Textbook: No textbook covers all of the topics above, but the one with the most extensive coverage is Kevin Murphy's Machine Learning: A Probabilistic Perspective (MLAPP). This book can be purchased from Amazon, is on reserve in the CS Reading Room (ICCS 262), and can be accessed through the library here. Optional readings will be given out of this textbook, in addition to other free online resources.
Registration and Prerequisites: Graduate and undergraduate students from any department are welcome to take the class. However, you can only register automatically if you are enrolled as a graduate student in CPSC or in EECE. If you are a graduate student from a different department or are an undergraduate student satisfying these requirements, you can register by following the instructions here and submitting the prerequisites form here. Graduate students in CPSC and EECE also need to submit the prerequisites form in the first two weeks of class to stay enrolled.
CPSC 340 vs. CPSC 540 In previous years, there was substantial overlap between CPSC 340 (the undergraduate machine learning and data mining course) and CPSC 540 (the graduatelevel machine learning course). In the 201516 academic year, these two will roughly be structured as one fullyear course. Both courses will cover a few core machine learning topics, but CPSC 340 will put a larger emphasis on data mining methods and applications of machine learning while CPSC 540 will put a larger emphasis on researchlevel machine learning methods and theory. CPSC 540 will also not cover many important, but practically very useful, techniques like random forests, clustering, collaborative filtering, and highdimensional visualization. Below are the planned topics for both courses (the overlapping topics are in blue, but they will be covered at a faster pace and in more detail in CPSC 540).
CPSC 340  CPSC 540 
340 will cover the following topics:

540 will cover the following topics:

Auditting: Rather than registering as a student, an alternate option is to register as an auditor. This is a good option for students that may be missing some of the prerequisites or that don't have enough time to do the assignments, but that still want exposure to the material. The form for auditing the course is available here. I will describe the auditting requirements and sign these forms on the first day of class.
Grading: Onethird of the mark will be based on the 5 assignments, one third based on the midterm (covering the first 4 topics), and one third based on the final (group) project.
Piazza for courserelated questions.
Related Courses: Other closelyrelated courses available at UBC include:
Related courses that have online notes: