UBC CPSC 330: Applied Machine Learning (2024W1)#
This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the current version (Sep-Dec 2024).
The teaching team#
Instructors#
Giulia Toti (Section 101: Tue Thu 3:30 to 4:50) (Office Hours, Mon’s ICCS 231, 2:00-3:15pm)
Varada Kolhatkar (Section 102: Tue Thu 11:00 to 12:20)
Firas Moosvi (Section 103: Tue Thu 5:00 to 6:20) (Office Hours, Wed’s ICCS 253, 12:30-1:30pm)
Course co-ordinator#
Devyani McLaren (cpsc330-admin@cs.ubc.ca), please reach out to Devyani for: admin questions, extensions, academic concessions etc. Include a descriptive subject, your name and student number, this will help me keep track of emails.
TAs#
Akash Adhikary
Amirali Goodarzvand Chegini
Aryan Ballani
Atabak Eghbal
Derrick Cheng
Frederick Sunstrum
Hongkai Liu
Noah Marusenko
Jialin (Mike) Lu
Kimia Rostin (OH’s, Tues’s 5-6:30pm, zoom - link on Canvas)
Mahsa Zarei (OH’s, Mon’s 5-6pm, zoom - link on Canvas)
Mike Ju
Mishaal Kazmi
Rubia Reis Guerra
Shadab Shaikh
Sohbat Sandhu
Stash Currie
Tianyu (Niki) Duan (OH’s, Wed’s 5-6:30pm, zoom - link on Canvas)
Moein Heidari
License#
© 2024 Varada Kolhatkar, Mike Gelbart, Giulia Toti, and Firas Moosvi
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.
Important links#
Deliverable due dates (tentative)#
Usually the homework assignments will be due on Mondays (except next week) and will be released on Tuesdays. We’ll also add the due dates in the Calendar. If you find inconsistencies in due dates, follow the due date in the Calendar. For this course, we’ll assume that the Calendar is always right!
Assessment |
Due date |
Where to find? |
Where to submit? |
---|---|---|---|
hw1 |
Sept 10, 11:59 pm |
||
hw2 |
Sept 16, 11:59 pm |
||
Syllabus quiz |
Sept 19, 11:59 pm |
||
hw3 |
Oct 01, 11:59 pm |
||
hw4 |
Oct 07, 11:59 pm |
||
Midterm 1 |
Oct 15 and Oct 16 |
PrairieLearn (CBTF, in person) |
PrairieLearn (CBTF, in person) |
hw5 |
~~Oct 28~~ Oct 30th, 11:59 pm |
||
hw6 |
~~November 04~~ Nov 6th, 11:59 pm |
||
Midterm 2 |
Nov 14 and Nov 15 |
PrairieLearn (CBTF, in person) |
PrairieLearn (CBTF, in person) |
hw7 |
November 18, 11:59 pm |
||
hw8 |
November 25, 11:59 pm |
||
hw9 |
December 05, 11:59 pm |
||
Final exam |
TBA |
PrairieLearn (CBTF, in person) |
PrairieLearn (CBTF, in person) |
Lecture schedule (tentative)#
Live lectures: The lectures will be in-person. The location can be found in the Calendar.
This course will be run in a semi flipped classroom format. There will be pre-watch videos for many lectures, at least in the first half of the course. All the videos are available on YouTube and are posted in the schedule below. Try to watch the assigned videos before the corresponding lecture. During the lecture, we’ll summarize the important points from the videos and focus on demos, iClickers, and Q&A.
We’ll be developing lecture notes directly in this repository. So if you check them before the lecture, they might be in a draft form. Once they are finalized, they will be posted in the Course Jupyter book.
Date |
Topic |
Assigned videos |
vs. CPSC 340 |
---|---|---|---|
Sep 3 |
UBC Imagine Day - no class |
||
Sep 5 |
Course intro |
📹 Pre-watch: 1.0 |
n/a |
Sep 10 |
Decision trees |
less depth |
|
Sep 12 |
ML fundamentals |
similar |
|
Sep 17 |
\(k\)-NNs and SVM with RBF kernel |
less depth |
|
Sep 19 |
Preprocessing, |
more depth |
|
Sep 24 |
More preprocessing, |
more depth |
|
Sep 26 |
Linear models |
less depth |
|
Oct 01 |
Hyperparameter optimization, overfitting the validation set |
different |
|
Oct 03 |
Evaluation metrics for classification |
more depth |
|
Oct 08 |
Regression metrics |
📹 Pre-watch: 10.1 |
more depth on metrics less depth on regression |
Oct 10 |
Midterm review |
||
Oct 15 and 16 |
Midterm 1 - no class |
||
Oct 17 |
Ensembles |
similar |
|
Oct 22 |
Feature importances, model interpretation |
feature importances is new, feature engineering is new |
|
Oct 24 |
Feature engineering and feature selection |
None |
less depth |
Oct 29 |
Clustering |
less depth |
|
Oct 31 |
More clustering |
less depth |
|
Nov 05 |
Simple recommender systems |
less depth |
|
Nov 07 |
Text data, embeddings, topic modeling |
new |
|
Nov 12 |
UBC Midterm break - no class |
||
Nov 14 and 15 |
Midterm 2 - no_class |
||
Nov 19 |
Neural networks and computer vision |
less depth |
|
Nov 21 |
Time series data |
(Optional) Humour: The Problem with Time & Timezones |
new |
Nov 26 |
Survival analysis |
📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoring |
new |
Nov 28 |
Communication |
📹 (Optional but highly recommended) |
new |
Dec 03 |
Ethics |
📹 (Optional but highly recommended) |
new |
Dec 05 |
Model deployment and conclusion |
new |
Reference Material#
Click to expand!
Books#
A Course in Machine Learning (CIML) by Hal Daumé III
Introduction to Machine Learning with Python: A Guide for Data Scientists by Andreas C. Mueller and Sarah Guido.
Data Mining: Practical Machine Learning Tools and Techniques (PMLTT)
Artificial intelligence: A Modern Approach by Russell, Stuart and Peter Norvig.
Artificial Intelligence 2E: Foundations of Computational Agents (2023) by David Poole and Alan Mackworth (of UBC!).
Online courses#
Machine Learning (Andrew Ng’s famous Coursera course)
Foundations of Machine Learning online course from Bloomberg.
Machine Learning Exercises In Python, Part 1 (translation of Andrew Ng’s course to Python, also relevant for DSCI 561, 572, 563)
Misc#
A Few Useful Things to Know About Machine Learning (an article by Pedro Domingos)
Metacademy (sort of like a concept map for machine learning, with suggested resources)
Machine Learning 101 (slides by Jason Mayes, engineer at Google)
Syllabus#
The syllabus is available here.
Enjoy your learning journey in CPSC 330: Applied Machine Learning!