CSE 446, Winter 2019

Machine Learning

Quick links:

Lectures Homework Office Hours Section Materials

Instructor: Sham Kakade

TAs: Kousuke Ariga, Benjamin Evans, Shobhit Hathi, Alina Liokumovich, Mathew (Xi) Liu, Thomas Merth, Patrick Spieker, Yuchong (Yvonna) Xiang.

Class lectures: MWF 9:30-10:20am, Room: SIG 134

Contact: cse446-staff@cs.washington.edu

Please communicate to the instructor and TAs only through this account.

Discussion: Piazza discussion board

Please send all questions about homeworks, lectures, and policies to the Piazza discussion board. If you have a question of personal matters, please email the instructors list: cse446-staff@cs.washington.edu.


Please make sure you monitor for (and receive) announcements from both the official UW class mailing list and from Piazza. Piazza is a convenient to send out some announcements, such as homework corrections and clarifications. It is important for you to make sure you get these announcements in a timely manner.

Office Hours:

***Please double check the website before you arrive for location changes/cancellations.***

Kousuke Ariga: Thursday 4:30-5:30, CSE 286 or 2nd floor breakout

Benjamin Evans: Tuesday 3:30-4:30, CSE 007

Shobhit Hathi: Tuesday 10:30-11:30, CSE 674

Sham Kakade: Monday 3:30-4:45, Gates 303

Alina Liokumovich: Monday 11:00-12:00, Gates 151

Mathew (Xi) Liu: Wednesday 10:30-11:30, CSE 007

Thomas Merth: Wednesday 4:00-5:00 CSE 021

Patrick Spieker: Friday 11:30-12:30, Gates 150

Yuchong (Yvonna) Xiang: Thursday 3:30-4:30, Gates 151

About the Course and Prerequisites

Machine learning explores the study and construction of algorithms that learn from data in order to make inferences about future outcomes. This study is a marriage of algorithms, computation, and statistics, and the class will focus on concepts from all three areas. The study of learning from data is playing an increasingly important role in numerous areas of science and technology, and the goal of this course are to provide a thorough grounding in the fundamental methodologies and algorithms of machine learning.

Prerequisites: Students entering the class should be comfortable with programming and should have a pre-existing working knowledge of probability and statistics (MATH 394, STAT390, STAT 391, or CSE 312), linear algebra (MATH 308), vector calculus (MATH 324), and algorithms. Students who are weak in these areas should either: take the course at a later date, when better prepared, or expect to put in substantially more effort to catch up. For refreshers, there are statistics/probability and linear algebra reference materials below.

Textbooks and reference materials

The required reading assignments will be from the following two books:

Some of the following reference materials may be helpful throughout the quarter and some are more advanced, which you may find useful downstream to deepen your understanding of the topics.

Grading and Policies

Grades will be based on five homework assignments (40%), a midterm (20%), and a final (40%). The cumulative homework score will be the MAXIMUM of the following two weighting schemes: scheme 1 weights the five assignments according to 10%, 22.5%, 22.5%, 22.5%, 22.5%, respectively; scheme 2 weights the five assignments according to 0%, 25%, 25%, 25%, 25%, respectively. (There may be minor reweighting of HW1-HW4 based on the difficulty of the HWs). The first homework assignment carries less weight due to it serving as a refresher of the prerequisite background knowledge in probability, statistics, and linear algebra. It is mandatory that you turn in the first homework.

NEW: we will also consider another weighting scheme of assignments (60%), a midterm (15%), and a final (25%), and we will take the max of these two schemes when determining the final grade.

The course will have a substantial amount of extra credit, which will at most impact a student score by half a letter grade, e.g. B+ to A-. The extra credits are given to encourage a mastery of the subject matter. In a small number of cases, grades may be adjusted after this breakdown for the following reasons: active participation in the discussion boards (both for asking questions and helping others out); particularly remarkable exam scores; consistently remarkable homeworks or remarkable extra credit solutions; grades will (significantly) drop based on failure to submit all the HWs.


The midterm will be announced during week 1 of class and will be posted below in the Lecture Notes section. The final exam will be at the university scheduled time, on Weds, March 20th from 8:30am-10:20am. If you are unable to make the exam dates (and do not have an exception based on UW policies), then do not enroll in the course. Exams will not be given on alternative dates.


Homework must be done individually: each student must hand in their own answers. In addition, each student must submit their own code in the programming part of the assignment (we may run your code). It is acceptable for students to discuss problems with each other; it is not acceptable for students to look at another students written answers. It is acceptable for students to discuss coding questions with others; it is not acceptable for students to look at another students code. You must also indicate on each homework with whom you collaborated with.

We expect the students not to copy, refer to, or seek out solutions in published material on the web or from other textbooks (or solutions from previous years or other courses) when preparing their answers. Students are certainly encouraged to read extra material for a deeper understanding. If you happen to find an assignment's answer, it must be acknowledged clearly with an appropriate citation on the submitted solution.

HW LATE POLICY: Homeworks must be submitted by the posted due date. You are allowed up to 4 total LATE DAYs for the homeworks throughout the entire quarter and up to 2 late days PER HOMEWORK assignment; these will be automatically deducted if your assignment is late. For example, any day in which an assignment is late by up to 24 hours, then one late day will be used (up to two late days). After your late days are used up, late penalties will be applied: any assignment turned in late will incur a reduction in score by 33% for each late day, so if an assignment is up to 24 hours late, it incurs a penalty of 33%. Else if it is up to 48 hours late, it incurs a penalty of 66%. And any longer, it will receive no credit. We will track all your late days and any deductions will be applied in computing the final grades. If you are unable to turn in HWs on time, aside from permitted days, then do not enroll in the course.

Re-grading policy:

All re-grading requests (for the homework and the midterm) must be submitted on Gradescope within seven days after the grades are released. For example, if we return the grades on Monday, then you have until midnight the following Monday to submit any re-grade requests. If you feel that we have made an error in grading your homework, please let us know with a written explanation. This policy is to ensure that we can address any concerns in a timely and fair manner. The focus of office hours and in person discussions are solely limited to asking knowledge related questions, and grade related questions must be submitted to the instructor mailing list.

Honor Code

The instructor expects (and believes) that each student will conduct himself or herself with academic (and personal) integrity. While the TAs will follow the course and university policies with regards to grading and proctoring (see CSE conduct policy), it is ultimately up to you to conduct yourself with academic and personal integrity for a number of reasons that go beyond the scope of just this class.

Diversity and Gender in STEM

While many academic disciplines have historically been dominated by one cross section of society, the study of and participation in STEM disciplines is a joy that the instructor hopes that everyone can pursue, regardless of their socio-economic background, race, gender, etc. The instructor encourages students to both be mindful of these issues, and, in good faith, try to take steps to fix them. You are the next generation here.


The required readings are for your benefit and they encompass material that you are required to understand. Furthermore, the readings will help in being able to better understand the machine learning terminology being used, both in the homeworks and exams. Sometimes there are alternative, equivalent ways to refer to the same object (a classifier, a hypothesis, a target function, etc.), and the required readings also ensure you will be better versed in machine learning terminology. The extra reading is provided to give you additional background.


Homeworks should be submitted via Gradescope. There will be a log of any changes to the HW (e.g. typos fixed, clarifications, etc) in the discussion board.

Section Materials

Lecture Notes and Readings