Skip to content

UBC-CS/cpsc330-2024W1

Repository files navigation

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) (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 ([email protected]), 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 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!