deploy-book

UBC CPSC 330: Applied Machine Learning (2024W2)#

This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the current version (Jan-May 2025).

Syllabus#

The syllabus is available here. Please read it carefully to understand all rules and expectations of this course. The content of the syllabus is tested in a quiz, to be completed by Jan 24, 11:59 pm.

The teaching team#

Instructors#

  • Mathias Lecuyer (Section 201: Tue Thu 9:30 to 10:50, SWNG 222) (Office Hours, Thu’s ICCS 317, 2:00-3:00pm)

  • Giulia Toti (Section 202: Tue Thu 3:30 to 4:50, Section 203: Tue Thu 5:00 to 6:20, MCML 360) (Office Hours, Tue’s ICCS 231, 2:00-3:15pm)

  • Andrew Roth (Section 204: Tue Thu 11:00 to 12:20, GEOG 212) (Office Hours, Tue’s ICCS 353, 12:30-1:30pm)

Course co-ordinator#

  • Ancuta (Anca) Barbu (cpsc330-admin@cs.ubc.ca), please reach out to Anca for: admin questions, extensions, academic concessions etc. Include a descriptive subject, your name and student number, and course section so that we can keep track of emails.

TAs#

  • Amirali Goodarzvand Chegini

  • Frederick Sunstrum

  • Kimia Rostin

  • Tianyu (Niki) Duan

  • Abdelrahman Ahmed

  • Maissan Bazazeh

  • Gaurav Bhatt

  • Patrick Cui

  • Neo Ghassemi

  • Alison Hardy

  • Mishaal Kazmi

  • Zefeng Li

  • Yifei Li

  • Harry Wang

  • Allya Wellyanto

  • Yan Zeng

  • Alain Zhiyanov

  • Mahsa Zarei

  • Felix Fu

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.

Deliverable due dates (tentative)#

Usually the homework assignments will be due on Mondays (except next week) and will be released on Tuesdays (the links below will lead to a “page not found” if the assignment has not been published yet).

Important: use the link in the Canvas course to access Gradescope for the first time, so that your accounts are correctly linked. Failing to do so will result in delays in getting your grades and risk of miscalculations.

Assessment

Due date

Where to find?

Where to submit?

hw1

Jan 14, 11:59 pm

GitHub repo

Gradescope

hw2

Jan 20, 11:59 pm

GitHub repo

Gradescope

Syllabus quiz

Jan 24, 11:59 pm

PrairieLearn

PrairieLearn

hw3

Feb 03, 11:59 pm

GitHub repo

Gradescope

hw4

Feb 10, 11:59 pm

GitHub repo

Gradescope

Midterm 1

Feb 12-14

PrairieLearn (CBTF, in person)

PrairieLearn (CBTF, in person)

hw5

Mar 10, 11:59 pm

GitHub repo

Gradescope

hw6

Mar 17, 11:59 pm

GitHub repo

Gradescope

Midterm 2

Mar 19-21

PrairieLearn (CBTF, in person)

PrairieLearn (CBTF, in person)

hw7

Mar 26, 11:59 pm

GitHub repo

Gradescope

hw8

Apr 07, 11:59 pm

GitHub repo

Gradescope

Final exam

TBA

PrairieLearn (CBTF, in person)

PrairieLearn (CBTF, in person)

Lecture schedule (tentative)#

Live lectures: The lectures will be in-person.

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.

Date

Topic

Assigned videos

vs. CPSC 340

Jan 7

Course intro

📹 Pre-watch: 1.0

n/a

Jan 9

Decision trees

📹 Pre-watch: 2.1, 2.2, 2.3, 2.4

less depth

Jan 14

ML fundamentals

📹 Pre-watch: 3.1, 3.2, 3.3, 3.4

similar

Jan 16

\(k\)-NNs and SVM with RBF kernel

📹 Pre-watch: 4.1, 4.2, 4.3, 4.4

less depth

Jan 21

Preprocessing, sklearn pipelines

📹 Pre-watch: 5.1, 5.2, 5.3, 5.4

more depth

Jan 23

More preprocessing, sklearn ColumnTransformer, text features

📹 Pre-watch: 6.1, 6.2

more depth

Jan 28

Linear models

📹 Pre-watch: 7.1, 7.2, 7.3

less depth

Jan 30

Hyperparameter optimization, overfitting the validation set

📹 Pre-watch: 8.1, 8.2

different

Feb 4

Evaluation metrics for classification

📹 Reference: 9.2, 9.3,9.4

more depth

Feb 6

Regression metrics

📹 Pre-watch: 10.1

more depth on metrics less depth on regression

Feb 11

Midterm review

Feb 12-14

Midterm 1 - no class, no tutorials

Feb 17-21

Midterm break - no class, no tutorials

Feb 25

Ensembles

📹 Pre-watch: 11.1, 11.2

similar

Feb 27

Feature importances, model interpretation

📹 Pre-watch: 12.1,12.2

feature importances is new, feature engineering is new

Mar 4

Feature engineering and feature selection

None

less depth

Mar 6

Clustering

📹 Pre-watch: 14.1, 14.2, 14.3

less depth

Mar 11

More clustering

📹 Pre-watch: 15.1, 15.2, 15.3

less depth

Mar 13

Simple recommender systems

less depth

Mar 18

Text data, embeddings, topic modeling

📹 Pre-watch: 16.1, 16.2

new

Mar 19-21

Midterm 2 - no class, no tutorials

Mar 25

Neural networks and computer vision

less depth

Mar 27

Time series data

(Optional) Humour: The Problem with Time & Timezones

new

Apr 1

Survival analysis

📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoring

new

Apr 3

Ethics

📹 (Optional but highly recommended)

  • Calling BS videos Chapter 5 (6 short videos, 50 min total)
  • The ethics of data science
  • new

    Apr 8

    Communication

    📹 (Optional but highly recommended)

  • Calling BS videos Chapter 6 (6 short videos, 47 min total)
  • Can you read graphs? Because I can’t. by Sabrina (7 min)
  • new

    Reference Material#

    Click to expand!

    Books#

    Online courses#

    Misc#

    Enjoy your learning journey in CPSC 330: Applied Machine Learning!