UBC CPSC 330: Applied Machine Learning (2023W1)#

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 2023).

The teaching team#

Instructors#

  • Andrew Roth (Section 101: Tue Thu 15:30 to 17:00 Swing Space 121)

  • Varada Kolhatkar (Section 102: Tue Thu 11:00 to 12:30 West Mall Swing Space 221)

Course co-ordinator#

  • Michelle Pang (cpsc330-admin@cs.ubc.ca)

TAs#

  • Chen Liu (chenliu5@student.ubc.ca)

  • Colleen Rideout (colleenx@student.ubc.ca)

  • Justice Sefas (jsefas@cs.ubc.ca)

  • Kaiyun Gao (gky0722@cs.ubc.ca)

  • Mahsa Zarei (mzarei@chem.ubc.ca)

  • Miranda Chan (mc835@student.ubc.ca)

  • Sparsh Trivedy (sparsh01@student.ubc.ca)

  • Vee Rajesh Bahel (bvedant@cs.ubc.ca)

  • Wilson Tu (linshuan@student.ubc.ca)

  • Yeojun Han (yeojunh@student.ubc.ca)

License#

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

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 12, 11:59 pm

Github repo

Gradescope

Syllabus quiz

Sept 19, 11:59 pm

Canvas

Canvas

hw2

Sept 18, 11:59 pm

Github repo

Gradescope

hw3

Oct 02, 11:59 pm

Github repo

Gradescope

hw4

Oct 10, 11:59 pm

Github repo

Gradescope

Midterm

Oct 26 6:00 pm to 7:20 pm

In person on Canvas ESB 1013 + CIRS 1250

Canvas

hw5

Oct 30, 11:59 pm

Github repo

Gradescope

hw6

November 13, 11:59 pm

Github repo

Gradescope

hw7

November 20, 11:59 pm

Github repo

Gradescope

hw8

November 27, 11:59 pm

Github repo

Gradescope

hw9

December 7, 11:59 pm

Github repo

Gradescope

Final exam

TBA

Canvas

Canvas

Lecture schedule (tentative)#

Live lectures: The lectures will be in-person. The location can be found in the Calendar. The lectures will be recorded and will be made available after 5 pm on lecture days. You can find the link of Panopto videos in Canvas. That said, consider the recordings a backup resource and do not completely rely on it. You will get a lot more out of the course if you show up 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, worksheets, 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 5

UBC Imagine Day - no class

Sep 7

Course intro

📹 Pre-watch: 1.0

n/a

Sep 12

Decision trees

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

less depth

Sep 14

ML fundamentals

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

similar

Sep 19

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

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

less depth

Sep 21

Preprocessing, sklearn pipelines

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

more depth

Sep 26

More preprocessing, sklearn ColumnTransformer, text features

📹 Pre-watch: 6.1, 6.2

more depth

Sep 28

Linear models

📹 Pre-watch: 7.1, 7.2, 7.3

less depth

Oct 03

Hyperparameter optimization, overfitting the validation set

📹 Pre-watch: 8.1, 8.2

different

Oct 05

Evaluation metrics for classification

📹 Reference: 9.2, 9.3,9.4

more depth

Oct 10

Regression metrics

📹 Pre-watch: 10.1

more depth on metrics less depth on regression

Oct 12

No class. Monday classes moved to Thursday.

Oct 17

Ensembles

📹 Pre-watch: 11.1, 11.2

similar

Oct 19

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 26

Midterm. No classes.

Oct 31

Clustering

📹 Pre-watch: 14.1, 14.2, 14.3

less depth

Nov 02

More clustering

📹 Pre-watch: 15.1, 15.2, 15.3

less depth

Nov 07

Simple recommender systems

less depth

Nov 09

Text data, embeddings, topic modeling

📹 Pre-watch: 16.1, 16.2

new

Nov 14

Midterm break - no class

Nov 16

Neural networks and computer vision

less depth

Nov 21

Time series data

(Optional) Humour: The Problem with Time & Timezones

new

Nov 23

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

    Nov 30

    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

    Dec 07

    (Optional but fun) LLMs/Bayesian modeling

    new

    Covid Safety at UBC#

    Please read Covid Campus Rules.

    Masks: This class is going to be in person. UBC no longer requires students, faculty and staff to wear non-medical masks, but continues to recommend that masks be worn in indoor public spaces.

    Your personal health: If you are ill or believe you have COVID-19 symptoms or been exposed to SARS-CoV-2 use the Thrive Health self-assessment tool for guidance, or download the BC COVID-19 Support App for iOS or Android device and follow the instructions provided. Follow the advice from Public Health.

    Stay home if you have recently tested positive for COVID-19 or are required to quarantine. You can check this website to find out if you should self-isolate or self-monitor.

    Your precautions will help reduce risk and keep everyone safer. In this class, the marking scheme is intended to provide flexibility so that you can prioritize your health and still be able to succeed:

    • All course notes will be provided online.

    • All homework assignments can be done and handed in online.

    • All exams will be held online. (But you need to be present in the classroom to write the exam unless there is a legitimate reason for not doing so.)

    • Most of the class activity will be video recorded and will be made available to you.

    • There will be at least a few office hours which will be held online.

    Land Acknowledgement#

    UBC’s Point Grey Campus is located on the traditional, ancestral, and unceded territory of the xwməθkwəy̓əm (Musqueam) peple. The land it is situated on has always been a place of learning for the Musqueam people, who for millennia have passed on their culture, history, and traditions from one generation to the next on this site.

    It is important that this recognition of Musqueam territory and our relationship with the Musqueam people does not appear as just a formality. Take a moment to appreciate the meaning behind the words we use:

    TRADITIONAL recognizes lands traditionally used and/or occupied by the Musqueam people or other First Nations in other parts of the country.

    ANCESTRAL recognizes land that is handed down from generation to generation.

    UNCEDED refers to land that was not turned over to the Crown (government) by a treaty or other agreement.

    As you begin your journey at UBC, take some time to learn about the history of this land and to honour its original inhabitants.