# 10-606, Fall 2022

Mathematical Foundations for Machine Learning

# Overview

Key Information

Mondays and Wednesdays: 11:50 AM - 1:10 PM, Wean 2302.

Fridays: 11:50 AM - 1:10 PM, Wean 2302.

Michael Feffer and Aishwarya Jadhav, see the Staff section

There is no required textbook for this course. However, the following textbooks are recommended as a way to get an alternate presentation of some of the course material:

We will use Canvas for any course announcements.

Students will turn in their homework electronically using Gradescope.

## Course Description

This course provides a place for students to practice the necessary mathematical background for further study in machine learning. Topics covered include probability (random variables, modeling with continuous and discrete distributions), linear algebra (inner product spaces, linear operators), and multivariate differential calculus (partial derivatives, matrix differentials). The course assumes some background in each of the above, but will review and give practice in each. (It does not provide from-scratch coverage of all of the above, which would be impossible in a course of this length.) Some coding will be required: the course will provide practice with translating the above mathematical concepts into concrete programs.

### Relationship between 10-606 and 10-607

These two minis are intended to prepare students for further study in machine learning – particularly for taking 10-601 and 10-701. One of the courses (10-606) focuses on mathematical background, and the other course (10-607) focuses on computational background. Most students take both mini courses, but this is not required. 10-606 is not a prerequisite of 10-607.

## Prerequisites

Below is a summary of the background required for 10-606 (consistent with previous offerings):

• We’re assuming mathematical maturity: you should be familiar with the idea of derivations and proofs, and of building formal representations for objects given their English­ language description.
• We’ll assume that you can take scalar derivatives.
• We’ll assume that you’ve seen real vector spaces and matrices (linear operators) and know how to reason about things like matrix multiplication and solving systems of linear equations.
• We’ll assume that you’ve seen sets and data types.
• We’ll assume that you’ve worked with probabilities (e.g., conditioning, Bayes rule).
• We will also assume familiarity with coding. The assignments and in-class activities will include some Python.
• For the above topics, we intend to give complete definitions and/or resources to learn from, but often we will go over them quickly: we expect that most people will know a lot of the definitions, and will be willing to work outside of class to understand the ones they don’t know. So, for each topic that you’re unfamiliar with, you should expect to do some extra work; if you’re unfamiliar with several of them, that could make it hard to keep up.

Please see the instructor if you are unsure whether your background is suitable for these courses.

# Staff

 Instructor HodaHeidari hheidari

Teaching Assistants

# Office Hours

See office hours below.

Hoda Hediari:

Mondays in GHC 8229 at 4 PM

Michael Feffer:

Fridays in Porter A20 at 10 AM

Tuesdays via Zoom at 6 PM

# Assignments

There will be two homework assignments. Homework assignments will often have both written and online components. Follow the instructions in the Canvas post when homework is announced to make sure complete all necessary components. Due dates are tentative for any assignments that haven't been released yet.

### Assignment due dates

Assignment Link (if released) Due Date
10-606 HW 1 (online and written) PDF, zip 9/19 Mon, 11:59 pm
10-606 HW 2 (online and written) PDF, zip 10/10 Mon, 11:59 pm

# Calendar

See below for a calendar of all lectures, recitations, and important events.

# Policies

### Late Policy

Homework assignments:

• 4 flex days across all assignments
• Flex days are counted by the granularity of days. For example, if you turn in your assignment 30 minutes after the deadline, that will count as one full flex day.
• You may use these at your discretion, but they are intended for minor illness and other disruptive events outside of your control, and not for poor time management
• You do not need to provide the reason: simply email the teaching staff and tell them how many of your flex days you would like to use.
• You are responsible to keep track of your own flex days. Gradescope will not enforce the total number of flex days
• Once you’ve exhausted your flex days, then point deductions will occur for any assignment submitted after the deadline.
• An assignment submitted 24 hours after the due date will only be eligible for 80% of the maximum number of points allotted.
• Assignments submitted more than 24 hours after the due date will not be accepted.
• Note that you cannot use your flex days for in-class quizzes.

Aside from this, there will be no extensions on assignments in general. If you think you really really need an extension on a particular assignment, contact the instructor as soon as possible and before the deadline. Please be aware that extensions are entirely discretionary and will be granted only in exceptional circumstances outside of your control (e.g., due to severe illness or major personal/family emergencies, but not for competitions, club-related events or interviews). The instructors will require confirmation from University Health Services or your academic advisor, as appropriate.
Nearly all situations that make you run late on an assignment homework can be avoided with proper planning — often just starting early. Here are some examples:

• It's a minute before the deadline and the network is down: you always have multiple submissions - it's not a good idea to wait for the deadline for your first submission.
• My computer crashed and I lost everything: Use Dropbox or similar to do real-time backup - recover your files onto AFS and finish your homework from a cluster machine.
• My fraternity/sorority/club has that big event that is taking all my time: Schedule your extra-curricular activities around your classes, not vice versa.

### Collaboration Policy

We encourage you to discuss course content and assignments with your classmates. However, these discussions must be kept at a conceptual level only.

• You may NOT view, share, or communicate about any artifact that will be submitted as part of an assignment. Example artifacts include, but are not limited to: code, pseudocode, diagrams, and text.
• You may look at another student's code output and discuss it at a conceptual level, as long as it is not output that appears directly in the homework submission.
• You may look at another student's code error messages and discuss what the error means at a conceptual level. However, you may NOT give specific instructions to fix the error.
• All work that you present must be your own.
• Using any external sources of code or algorithms in any way must have approval from the instructor before submitting the work. For example, you must get instructor approval before using an algorithm you found online for implementing a heuristic function in a programming assignment.