## Overview

This is an introductory grad course on machine learning. Machine learning is a set of techniques that allow machines to learn from data and experience, rather than requiring humans to specify the desired behavior by hand. Over the past two decades, machine learning techniques have become increasingly central both in AI as an academic field, and in the technology industry. This course provides a broad introduction to some of the most commonly used ML algorithms.

The first half of the course focuses on supervised learning. We begin with nearest neighbours, decision trees, and ensembles. Then we introduce parametric models, including linear regression, logistic and softmax regression, and neural networks. We then move on to unsupervised learning, focusing in particular on probabilistic models, but also principal components analysis and K-means. Finally, we cover the basics of reinforcement learning.

We will have a single section, taught on Thursdays from 10‐12 EST. Lectures will be delivered online synchronously and students will have the opportunity to ask questions and participate. Recordings for those unable to attend will be posted internally on MyMedia. The tutorials of this course will be the flipped classroom model, students are to follow the self-study guide here before each tutorial and tutorials will be Q/A office hours delivered online synchronously. Tutorials will be held at Tuesdays 10pm and Fridays 10am EST so that it'll work for every time zone. You only need to attend one of the two each week.

Students will be required to attend two course meeting times for synchronous assessments, including the midterm and the final project presentation. The midterm is on Oct 22th (detailed time TBD) and the final project presentation will be during lecture time on week 13 Dec 10th 10am-12am EST.

## Where and When

Lecture and tutorials will be held online. A link will be provided

 Lecture Time Tutorial Time Lecture/Tutorial "Room" Start End Thursday, 10am-12am EST Tuesday 10pm & Friday 10am EST Online, find details on Quercus Sept. 10 Dec. 3

## Contact

• Instructor: Marzyeh Ghassemi (marzyeh at cs.toronto.edu)
• Head TA: Sicong (Sheldon) Huang (huang at cs.toronto.fedu)
• TAs: Nathan Ng, Haoran Zhang, Sindhu Gowda, Sana Tonekaboni
• Office hours:
• Instructor office hours: TBD
• TA office hours will be scheduled on an ad-hoc basis for each assignment. See the homework schedule below for details.
• Piazza. We will use Piazza for the course forum. If your question is about the course material and doesn't give away any hints for the homework, please post to Piazza so that the entire class can benefit from the answer. We will also selectively post representative questions on the course website. If your question involves your partial solution to a homework, make a private piazza post instead emailing.
• Email policy. If your question is not appropriate for piazza, please first contact Sheldon. Please put "CSC2515" in your subject and only use UofT official email address, and include your full official name, student number and UTORID in the body of the email. If you enrolled late, and don't have access to Quercus, please email: instrsupport at cs dot toronto dot edu to grant you quercus access as soon as possible.

## Policies

Prerequisites (an undergrad course in each is sufficient):

• Linear algebra
• Probability theory
• Multivariable calculus
• Some programming experience (Python recommended)

Marking Scheme.

• 44% Homeworks (11% each)
• 20% Midterm (Take home)
• 36% Final Project

Collaboration policy. You are expected to work on the homeworks by yourself. You should not discuss them with anyone except the TAs or the instructor. A team of two is allowed for the final project.

Academic Integrity. By this point in your studies, you've heard this lots of times, so we'll keep it brief: avoid academic offenses (i.e. cheating). All graded work in this course is individual work.

Lateness. Homeworks will be accepted up to 3 days late, but 10% will be deducted for each day late, rounded up to the nearest day.

Remarks. Remark requests for homeworks should be made through Crowdmark, and will be considered by the same TA who marked the assignment. The deadline for requesting a remark is typically one week after the marked assignments are returned. Remark requests for exams will be handled by the instructor; details to be announced later.

Exceptions. Exceptions to the course policies such as late homeworks or missed tests require permission of the instructor. For medical excuses, you should obtain an official Student Medical Certificate.

Auditing. This year due to the pandemic everything is moved online and access is only granted to enrolled students, so unfortunately this year we are not allowing auditing. However anyone is welcome to follow the self-study guide in the tutorial tab.

## Computing Resources

For the homework assignments, we will use Python, and libraries such as NumPy, SciPy, and scikit-learn. We will use Python 3. You have two options:
• The easiest option is probably to install everything yourself on your own machine.

• If you don't already have python 3, install it.

We recommend some version of Anaconda (Miniconda, a nice lightweight conda, is probably your best bet). You can also install python directly if you know how.

• Optionally, create a virtual environment for this class and step into it. If you have a conda distribution run the following commands:

    conda create --name csc2515
source activate csc2515
• Use pip to install the required packages

    pip install scipy numpy autograd matplotlib jupyter sklearn
• All the required packages are already installed on the Teaching Labs machines.

Website and course still under development, any feedback is very appreciated, please reach out to: Sheldon, email: huang at cs dot toronto dot edu