/cpsc330-2023s

CPSC 330: Applied Machine Learning

Primary LanguageJupyter NotebookOtherNOASSERTION

UBC CPSC 330: Applied Machine Learning (2023s)

This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the current version (May-June 2023). Some of the previous offerings are as follows:

  • 2020w1 by Mike Gelbart
  • 2022s    by Mehrdad Oveisi
  • 2022w1 by Varada Kolhatkar
  • 2022w2 by Giulia Toti, Mathias Lecuyer, Amir Abdi

Instructor

Mehrdad Oveisi

  • moveisi@cs.ubc.ca
  • LinkedIn.com/in/oveisi
  • Google Scholar
  • Office hours:
    • When: One hour after each class. For clarity, that will be potentially four hours per week. I will leave once there are no more questions.
    • Where: Office hours are held in the same classroom after each class.
    • Who: Students form both sections are welcome to attend all office hours.

Class Schedule

Section Day Lecture Office Hour Location
911 Tue, Thu 13:30 - 17:00 17:00 - 18:00 FSC 1005
912 Wed, Fri 13:30 - 17:00 17:00 - 18:00 DMP 110

Course Coordinator

Jeffrey Ho

Please email Jeffrey Ho at the above email address for all administrative concerns such as CFA accommodations, extensions or exemptions due to sickness or extenuating circumstances.

License

ยฉ 2021 Varada Kolhatkar, Mike Gelbart, and Mehrdad Oveisi

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

Compact course schedule (tentative)

IMPORTANT NOTE
As a general rule, summer terms are quite compact and thus time management is crucial to keep up with the course content and the deadlines. More precisely, based on the university calendar, the number of Teaching Days is 63 in winter terms and it is 28 in summer terms. That means there will be 2.25 (63รท28) times more content to learn per week, and 2.25 times faster pace for the homework due dates. In other words, you are expected to learn and deliver the same amount of work compared to winter terms, but do it 2.25 times faster! For this reason, time management is of utmost importance in order to succeed in the course.

The following chart is a very compact version of the course tentative schedule.

tentative schedule

 

The following sections provide for more detailed course schedule.

Deliverable due dates (tentative)

Assessment Due date Where to find? Where to submit?
Syllabus quiz May 19, 13:00 Canvas Canvas
hw1 May 20, 13:00 Github repo Gradescope
hw2 May 23, 13:00 Github repo Gradescope
hw3 May 27, 13:00 Github repo Gradescope
hw4 May 31, 13:00 Github repo Gradescope
Midterm June 05,
13:30 to 15:00
Section 911: LIFE 2201
Section 912: BIOL 1000
Canvas
hw5 June 08, 13:00 Github repo Gradescope
hw6 June 13, 13:00 Github repo Gradescope
hw7 June 17, 13:00 Github repo Gradescope
hw8 June 22, 13:00 Github repo Gradescope
Final exam TBA Location: TBA Canvas

Lecture schedule (tentative)

Lectures:

  • The lectures will be in-person (see Class Schedule above for more details).
  • All lecture files are subject to change without notice up until they are covered in class.
  • You are expected to watch the "Pre-watch" videos before each lecture.
  • You are expected to attend the lectures.
  • You will find the lecture notes under the lectures in this repository. Lectures will be posted as they become available.
# Date Topic Assigned videos vs. CPSC 340
1 May 16,17 Course intro ๐Ÿ“น
  • Pre-watch: None
  • Recap video (after lecture): 1.0
  • n/a
    Part I: ML fundamentals and preprocessing
    2 May 16,17 Decision trees ๐Ÿ“น
  • Pre-watch: 2.1, 2.2
  • After lecture: 2.3, 2.4
  • less depth
    3 May 16,17 ML fundamentals ๐Ÿ“น
  • Pre-watch: 3.1, 3.2
  • After lecture: 3.3, 3.4
  • similar
    4 May 18,19 $k$-NNs and SVM with RBF kernel ๐Ÿ“น
  • Pre-watch: 4.1, 4.2
  • After lecture: 4.3, 4.4
  • less depth
    5 May 18,19 Preprocessing, sklearn pipelines ๐Ÿ“น
  • Pre-watch: 5.1, 5.2
  • After lecture: 5.3, 5.4
  • more depth
    6 May 23,24 More preprocessing, sklearn ColumnTransformer, text features ๐Ÿ“น
  • Pre-watch: 6.1, 6.2
  • more depth
    7 May 23,24 Linear models ๐Ÿ“น
  • Pre-watch: 7.1, 7.2, 7.3
  • less depth
    8 May 25,26 Hyperparameter optimization, overfitting the validation set ๐Ÿ“น
  • Pre-watch: 8.1,8.2
  • different
    9 May 25,26 Evaluation metrics for classification ๐Ÿ“น
  • Pre-watch: 9.2,9.3,9.4
  • more depth
    10 May 30,31 Regression metrics ๐Ÿ“น
  • Pre-watch: 10.1
  • more depth on metrics less depth on regression
    11 May 30,31 Ensembles ๐Ÿ“น
  • Pre-watch: 11.1,11.2
  • similar
    12 Jun 1,2 Feature importances, model interpretation ๐Ÿ“น
  • Pre-watch: 12.1,12.2
  • feature importances is new, feature engineering is new
    13 Jun 1,2 Feature engineering and feature selection None less depth
    Jun 5 Midterm
    Part II: Unsupervised learning, transfer learning, different learning settings
    14 Jun 6,7 Clustering ๐Ÿ“น
  • Pre-watch: 14.1,14.2,14.3
  • less depth
    15 Jun 6,7 More clustering
  • Post-lecture: 15.1, 15.2, 15.3, 201 lecture recording
  • less depth
    16 Jun 8,9 Simple recommender systems None less depth
    17 Jun 8,9 Text data, embeddings, topic modeling ๐Ÿ“น
  • Pre-watch: 16.1,16.2
  • new
    18 Jun 13,14 Neural networks and computer vision less depth
    19 Jun 13,14 Time series data (Optional) Humour: The Problem with Time & Timezones new
    20 Jun 15,16 Survival analysis ๐Ÿ“น (Optional but highly recommended) Calling Bullshit 4.1: Right Censoring new
    Part III: Communication, ethics, deployment
    21 Jun 15,16 Ethics ๐Ÿ“น (Optional but highly recommended)
  • Calling BS videos Chapter 5 (6 short videos, 50 min total)
  • The ethics of data science
  • new
    22 Jun 20,21 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
    23 Jun 20,21 Model deployment and Conclusions new
    24 (optional reading) Stochastic Gradient Descent
    25 (optional reading) Combining Multiple Tables