CPSC 340 and 532M - Machine Learning and Data Mining (Fall 2019)
Lectures Sections (beginning September 4):
Instructor: Mark Schmidt
- 2-3pm (Monday/Wednesday/Friday in Chemisty D300)
- 4-5pm (Monday/Wednesday/Friday in MacMillan 166)
Instructor office hours: TBA
Tutorials (beginning September 9):
Teaching assistants: TBA
- 1-2pm (Mondays in DMP 201)
- 5-6pm (Mondays in DMP 101)
- 330-430pm (Tuesdays in DMP 201)
- 430-530pm (Tuesdays in DMP 201)
- 12-1pm (Wednesdays in DMP 201)
- 9-10am (Thursdays in DMP 201)
- 10-11am (Thursdays in DMP 201)
- 11-12pm (Thursdays in DMP 201)
- 1-2pm (Thursdays in DMP 201)
TA office hours (beginning September 9, all in Demco Learning Centre): TBA
Synopsis: We introduce basic principles and techniques in the fields of data mining and machine learning. These are some of the key tools behind the emerging field of data science and the popularity of the `big data' buzzword. These techniques are now running behind the scenes to discover patterns and make predictions in various applications in our daily lives. We'll focus on many of the core data mining and machine learning technlogies, with motivating applications from a variety of disciplines.
Registration: Undergraduate and graduate students from any department are welcome to take the course. Undergraduate students should enroll in CPSC 340 while graduate students should enroll in CPSC 532M (which has an extra small project component). Below are more details on registration for each course:
Starting in the second week of classes, we'll have weekly tutorials run by the TAs. These will do things like go through provided assignment code, review background material, review big concepts, and/or do exercises. You can register for particular tutorial sections if you want to save a seat at a particular time, but note that you do not need to register in a tutorial section.
- The majority of the seats in 340 are reserved for UBC computer science majors. For other students, to enroll in the course you need to sign up for the wait list. Note that last year all students on the wait list were ultimately accepted into the course (but we did not have room for auditors.)
- Two-thirds of the seats in 532M will initially be reserved for UBC computer science grad students, while the remaining seats are open to graduate students from any department. Note that you will likely get a warning about prerequisities when you register (which you can ignore), but depending on your department you may later be contacted and asked to show how you satisfy the relevant prerequisites. As with 340, if 532M becomes full then signing up for the waiting list is the only way to enroll in the course. Last year all students on the wait list were ultimately accepted into the course.
***Students who completed STAT 200, STAT 203, PSYC 218, PSYC 278, BIOL 300 or COMM 291 with a grade of at least 72%, prior to 2019W1 will be allowed to take CPSC 340 in 2019W, provided they have all of the other stated prerequisites. Students who do not meet these requirements should consider taking CPSC 330, a new course on applied machine learning.
- Basic algorithms and data structures (CPSC 221, or both of CPSC 260 and EECE 320 as well as one of CPSC 210, EECE 201, or EECE 309).
- Linear algebra (one of MATH 152, 221, or 223).
- ***Probability (one of STAT 241, STAT 251, ECON 325, ECON 327, MATH 302, STAT 302, or MATH 318).
- Multivariate calculus (one of MATH 200, 217, 226, 253, or 263).
Textbook: There is no required textbook for the class. A introductory book that covers many (but not all) the topics we will discuss is the Artificial Intelligence book of Rusell and Norvig (AI:AMA) or the Artificial Intelligence book of Poole and Mackworth (you may need these for other classes). More advanced books include The Elements of Statistical Learning (ESL) by Hastie et al., Murphy's Machine Learning: A Probabilistic Perspective (ML:APP) which can be accessed through the library here, and Bishop's Pattern Recognition and Machine Learning (PRML). For books with a bigger focus on data mining, see Introduction to Data Mining (IDM) and Mining of Massive DataSets.
The most related course is CPSC 330: Applied Machine Learning. This course has fewer prerequisities and covers some of the same material, but focuses more on applications rather than understanding ML ideas in depth.
Related courses in statistics include: STAT 305, STAT 306, STAT 406, STAT 460, STAT 461 (as well as EOSC 510). A discussion of the difference between CPSC 340 and these various STAT classes written by a former student (Geoff Roeder) is available here.
- 340: Assignments 30%, Midterm 20%, Final 50%.
- 532M: Assignments 25%, Midterm 15%, Final 35%, Project 25%.
List of topics
We will roughly cover the following topics:
- Data representation and summarization.
- Supervised learning with frequencies and distances.
- Data clustering, outlier detection, and association rules.
- Linear prediction, regularization, and kernels.
- Latent-factor models and collaborative filtering.
- Neural networks and deep learning.
Lectures, Assignments, Related Readings, and Links
Related courses that have online notes
Mark Schmidt > Courses > CPSC 540