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 2022). You can find the earlier versions here:
- Sep-Dec 2020 taught by Mike Gelbart
- Sep-Dec 2021 taught by Varada Kolhatkar
- Jan-April 2022 taught by Giulia Toti
- May-June 2022 taught by Mehrdad Oveisi
Instructor: Varada Kolhatkar
© 2021 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.
- Course GitHub page
- Course Jupyter book
- Course videos YouTube channel
- Canvas link
- Class + office hours calendar
- Syllabus / administrative info
- Piazza (this is where all announcements will be made)
- Other course documents
- Past exams
Usually the homework assignments will be due on Mondays (except next week) and will be released on Tuesdays.
Assessment | Due date | Where to find? | Where to submit? |
---|---|---|---|
Syllabus quiz | Sept 13, 11:59pm | Canvas | Canvas |
hw1 | Sept 12, 11:59pm | Github repo | Gradescope |
hw2 | Sept 19, 11:59pm | Github repo | Gradescope |
hw3 | Oct 03, 11:59pm | Github repo | Gradescope |
hw4 | TBD | Github repo | Gradescope |
hw5 | TBD | Github repo | Gradescope |
Midterm | Oct 27, during class time | Canvas | Canvas |
hw6 | TBD | Github repo | Gradescope |
hw7 | TBD | Github repo | Gradescope |
hw8 | TBD | Github repo | Gradescope |
Final exam | TBD | Canvas | Canvas |
Live lectures: The lectures will be in-person in TBD from 11am to 12:20pm. See this Calendar.
Lectures:
- Try to watch the "Pre-watch" videos before each lecture.
- I'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, I'll post them on the Jupyter book.
Date | Topic | Assigned videos and datasets | vs. CPSC 340 |
---|---|---|---|
Sep 6 | UBC Imagine Day - no class | ||
Sep 8 | Course intro | 📹 Pre-watch: 1.0 | n/a |
Sep 13 | Decision trees | 📹 Pre-watch: 2.1, 2.2, 2.3, 2.4 | less depth |
Sep 15 | ML fundamentals | 📹 Pre-watch: 3.1, 3.2, 3.3, 3.4 | similar |
Sep 20 | $k$-NNs and SVM with RBF kernel | 📹 Pre-watch: 4.1, 4.2, 4.3, 4.4 | less depth |
Sep 22 | Preprocessing, sklearn pipelines |
📹 Pre-watch: 5.1, 5.2, 5.3, 5.4 | more depth |
Sep 27 | More preprocessing, sklearn ColumnTransformer , text features |
📹 Pre-watch: 6.1, 6.2 | more depth |
Sep 29 | Linear models | 📹 Pre-watch: 7.1, 7.2, 7.3 | less depth |
Oct 04 | Hyperparameter optimization, overfitting the validation set | 📹 Pre-watch: 8.1, 8.2 | different |
Oct 06 | Evaluation metrics for classification | 📹 Reference: 9.2, 9.3,9.4 | more depth |
Oct 11 | Regression metrics | 📹 Pre-watch: 10.1 | more depth on metrics less depth on regression |
Oct 13 | Ensembles | 📹 Pre-watch: 11.1, 11.2 | similar |
Oct 18 | Feature importances, model interpretation | 📹 Pre-watch: 12.1,12.2 | feature importances is new, feature engineering is new |
Oct 20 | Feature engineering and feature selection | None | less depth |
Oct 25 | Midterm review | ||
Oct 27 | Midterm | ||
Nov 1 | Clustering | 📹 Pre-watch: 14.1, 14.2, 14.3 | less depth |
Nov 2 | More clustering | 📹 Pre-watch: 15.1, 15.2, 15.3 | less depth |
Nov 8 | Simple recommender systems | less depth | |
Nov 10 | Midterm break - no class | ||
Nov 15 | Text data, embeddings, topic modeling | 📹 Pre-watch: 16.1, 16.2 | new |
Nov 17 | Neural networks and computer vision | less depth | |
Nov 22 | Time series data | (Optional) Humour: The Problem with Time & Timezones | new |
Nov 24 | Survival analysis | 📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoring | new |
Nov 29 | Ethics | 📹 (Optional but highly recommended) |
new |
Dec 1 | Communication | 📹 (Optional but highly recommended) |
new |
Dec 6 | Model deployment and conclusion | new |
We are working together on this course during a global pandemic. Everyone is struggling to some extent. If you tell me you are having trouble, I am not going to judge you or think less of you. I hope you will extend me the same grace!
Here are some ground rules:
- If you are unable to submit a deliverable on time, please reach out before the deliverable is due.
- If you need extra support, the teaching team is here to work with you. Our goal is to help each of you succeed in the course.
- If you are struggling with the material, the new hybrid teaching format, or anything else, please reach out. I will try to find time and listen to you empathetically.
- If I am unable to help you, I might know someone who can. UBC has some great student support resources.
Masks: This class is going to be in person. Masks are required indoors, including in classrooms, as per the BC Public Health Officer orders. For the purposes of this order, the term "masks" refers to medical and non-medical masks that cover our noses and mouths. Masks are a primary tool to make it harder for Covid-19 to find a new host. You will need to wear a medical or non-medical mask anytime you are indoors at UBC, for your own protection, and the safety and comfort of everyone else in the class. Please do not eat in the classroom. If you need to drink water/coffee/tea/etc, please keep your mask on between sips. Please note that there are some people who cannot wear a mask. These individuals are equally welcome in our class.
Vaccination: If you have not yet had a chance to get vaccinated against Covid-19, vaccines are available to you, free, and on campus [http://www.vch.ca/covid-19/covid-19-vaccine]. The higher the rate of vaccination in our community overall, the lower the chance of spreading this virus. You are an important part of the UBC community. Please arrange to get vaccinated if you have not already done so.
COVID-19 testing: UBC will require COVID-19 testing for all students, faculty and staff, with exemptions provided for those who are vaccinated against COVID-19: [https://news.ubc.ca/2021/08/26/ubc-implements-vaccine-declaration-and-rapid-testing-for-covid-19/]
Your personal health: If you're sick, it's important that you stay home – no matter what you think you may be sick with (e.g., cold, flu, other). A daily self-health assessment is required before attending campus. Every day, before leaving home, complete the self-assessment for Covid symptoms using this tool.
Stay home if you have Covid symptoms, have recently tested positive for Covid, 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.
- Most of the class activity will be video recorded and will be made available to you.
- Before each class, I'll also try to post some videos on YouTube to facilitate hybrid learning.
- There will be at least a few office hours which will be held online.
During this pandemic, the shift to online learning has greatly altered teaching and studying at UBC, including changes to health and safety considerations. Keep in mind that some UBC courses might cover topics that are censored or considered illegal by non-Canadian governments. This may include, but is not limited to, human rights, representative government, defamation, obscenity, gender or sexuality, and historical or current geopolitical controversies. If you are a student living abroad, you will be subject to the laws of your local jurisdiction, and your local authorities might limit your access to course material or take punitive action against you. UBC is strongly committed to academic freedom, but has no control over foreign authorities (please visit http://www.calendar.ubc.ca/vancouver/index.cfm?tree=3,33,86,0 for an articulation of the values of the University conveyed in the Senate Statement on Academic Freedom). Thus, we recognize that students will have legitimate reason to exercise caution in studying certain subjects. If you have concerns regarding your personal situation, consider postponing taking a course with manifest risks, until you are back on campus or reach out to your academic advisor to find substitute courses. For further information and support, please visit: http://academic.ubc.ca/support-resources/freedom-expression.
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.