deploy-book

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)

  • 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.

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

GitHub repo

Gradescope

hw2

Sept 16, 11:59 pm

GitHub repo

Gradescope

Syllabus quiz

Sept 19, 11:59 pm

PrairieLearn

PrairieLearn

hw3

Oct 01, 11:59 pm

GitHub repo

Gradescope

hw4

Oct 07, 11:59 pm

GitHub repo

Gradescope

Midterm 1

Oct 15 and Oct 16

PrairieLearn (CBTF, in person)

PrairieLearn (CBTF, in person)

hw5

~~Oct 28~~ Oct 30th, 11:59 pm

GitHub repo

Gradescope

hw6

~~November 04~~ Nov 6th, 11:59 pm

GitHub repo

Gradescope

Midterm 2

Nov 14 and Nov 15

PrairieLearn (CBTF, in person)

PrairieLearn (CBTF, in person)

hw7

November 18, 11:59 pm

GitHub repo

Gradescope

hw8

November 25, 11:59 pm

GitHub repo

Gradescope

hw9

December 05, 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. 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

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

less depth

Sep 12

ML fundamentals

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

similar

Sep 17

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

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

less depth

Sep 19

Preprocessing, sklearn pipelines

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

more depth

Sep 24

More preprocessing, sklearn ColumnTransformer, text features

📹 Pre-watch: 6.1, 6.2

more depth

Sep 26

Linear models

📹 Pre-watch: 7.1, 7.2, 7.3

less depth

Oct 01

Hyperparameter optimization, overfitting the validation set

📹 Pre-watch: 8.1, 8.2

different

Oct 03

Evaluation metrics for classification

📹 Reference: 9.2, 9.3,9.4

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

📹 Pre-watch: 11.1, 11.2

similar

Oct 22

Feature importances, model interpretation

📹 Pre-watch: 12.1,12.2

feature importances is new, feature engineering is new

Oct 24

Feature engineering and feature selection

None

less depth

Oct 29

Clustering

📹 Pre-watch: 14.1, 14.2, 14.3

less depth

Oct 31

More clustering

📹 Pre-watch: 15.1, 15.2, 15.3

less depth

Nov 05

Simple recommender systems

less depth

Nov 07

Text data, embeddings, topic modeling

📹 Pre-watch: 16.1, 16.2

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)

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

    Dec 03

    Ethics

    📹 (Optional but highly recommended)

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

    Dec 05

    Model deployment and conclusion

    new

    Reference Material#

    Click to expand!

    Books#

    Online courses#

    Misc#

    Syllabus#

    The syllabus is available here.

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