This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the 2024S1 version, May-June 2024.
Mehrdad Oveisi
- moveisi@cs.ubc.ca
- LinkedIn.com/in/oveisi (Feel free to connect on LinkedIn)
- Google Scholar
- Office hours:
- When: Mon, Wed, Fri from 17:00 to 18:00 (as long as there are questions)
- Where: MCLD 2018
- Who: Students form both sections are welcome to attend all office hours.
- For more details see class meetings on syllabus.
Section | Location | Day | Lecture | Office Hour | OH Held By |
---|---|---|---|---|---|
911 | DMP 310 | Mon, Wed, Fri | 10:00 - 13:00 | 13:00 - 14:00 | TAs |
912 | MCLD 2018 | Mon, Wed, Fri | 14:00 - 17:00 | 17:00 - 18:00 | TAs and Instructor |
- For more details see class meetings on syllabus.
Liam Salt
Please email Liam Salt at the above email address for all administrative concerns such as CFA accommodations or exemptions due to sickness or extenuating circumstances.
- Please see TAs on syllabus.
© 2023 Varada Kolhatkar and Mike Gelbart
Software licensed under the MIT License, non-software content licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License. See the license file for more information.
- Syllabus / administrative info
- Calendar and due dates
- Course videos YouTube channel
- PrairieLearn (course assessments)
- Canvas (homework solutions, etc.)
- Piazza (course announcements and discussions)
- Setting up coding environment
- Other course documents
- iClicker Cloud
IMPORTANT NOTE |
---|
As a general rule, summer terms are quite compact and thus time management is crucial to keep up with the course content and the deadlines. More precisely, based on the university calendar, the number of Teaching Days is 63 in winter terms and it is 28 in summer terms. That means there will be 2.25 (63÷28) times more content to learn per week, and 2.25 times faster pace for the homework due dates. In other words, you are expected to learn and deliver the same amount of work compared to winter terms, but do it 2.25 times faster! For this reason, time management is of utmost importance in order to succeed in the course. |
The following chart is a very compact version of the course tentative schedule.
The following sections provide for more detailed course schedule.
Assessment | Due date | Where to find? | Where to submit? |
---|---|---|---|
Syllabus quiz | May 17, 23:00 | PrairieLearn | PrairieLearn |
hw1 | May 18, 23:00 | Github repo | PrairieLearn |
hw2 | May 21, 23:00 | Github repo | PrairieLearn |
hw3 | May 25, 23:00 | Github repo | PrairieLearn |
hw4 | May 30, 23:00 | Github repo | PrairieLearn |
Midterm | June 4, 18:00 Details on Piazza |
PrairieTest | PrairieTest (in-person) |
hw5 | June 08, 23:00 | Github repo | PrairieLearn |
hw6 | June 11, 23:00 | Github repo | PrairieLearn |
hw7 | June 15, 23:00 | Github repo | PrairieLearn |
hw8 | June 20, 23:00 | Github repo | PrairieLearn |
Final exam | [TBA] Final exam schedule |
PrairieTest | PrairieTest (in-person) |
Final exam viewing | [TBA] Perhaps before July 12 | CBTF | In-person only (online not possible) |
Lectures:
- The lectures will be in-person (see Class Schedule above for more details).
- All lecture files are subject to change without notice up until they are covered in class.
- You are expected to watch the "Pre-watch" videos before each lecture.
- You are expected to attend the lectures.
- You will find the lecture notes under the lectures in this repository. Lectures will be posted/updated as they become available.
Lectures | Date | Topic | Assigned videos | vs. CPSC 340 |
---|---|---|---|---|
01 | May 13 | Course intro | 📹 |
n/a |
Part I: ML fundamentals and preprocessing | ||||
02 | May 13 & 15 | Decision trees | 📹 |
less depth |
03 | May 15 | ML fundamentals | 📹 |
similar |
04 | May 17 |
|
📹 |
less depth |
05 | May 17 & 22 | Preprocessing, sklearn pipelines |
📹 |
more depth |
06 | May 22 | More preprocessing, sklearn ColumnTransformer , text features |
📹 |
more depth |
07 | May 24 | Linear models | 📹 |
less depth |
08 | May 24 & 27 | Hyperparameter optimization, overfitting the validation set | 📹 |
different |
09 | May 27 | Evaluation metrics for classification | 📹 |
more depth |
10 | May 29 | Regression metrics | 📹 |
more depth on metrics less depth on regression |
11 | May 31 | Ensembles | 📹 |
similar |
12 | May 31 & Jun 3 | Feature importances, model interpretation | 📹 |
feature importances is new, feature engineering is new |
13 | Jun 3 | Feature engineering and feature selection | None | less depth |
[TBA] | Midterm | |||
Part II: Unsupervised learning, transfer learning, different learning settings | ||||
14 | Jun 5 | Clustering | 📹 |
less depth |
15 | Jun 5 & 7 | More clustering | less depth | |
16 | Jun 7 | Simple recommender systems | None | less depth |
17 | Jun 10 | Text data, embeddings, topic modeling | 📹 |
new |
18 | Jun 10 & 12 | Neural networks and computer vision | less depth | |
19 | Jun 12 | Time series data | (Optional) Humour: The Problem with Time & Timezones | new |
20 | Jun 14 | Survival analysis | 📹 (Optional but highly recommended) Calling Bullshit 4.1: Right Censoring | new |
Part III: Communication, ethics, deployment | ||||
21 | Jun 17 | Ethics | 📹 (Optional but highly recommended) |
new |
22 | Jun 17 & 19 | Communication | 📹 (Optional but highly recommended) |
new |
23 | Jun 19 | Model deployment and Conclusions | new | |
24 | (optional reading) Stochastic Gradient Descent | |||
25 | (optional reading) Combining Multiple Tables |