Machine Learning (EECS 349)

Spring 2018
Electrical Engineering and Computer Science Department
Northwestern University

Class Meets: 1:00-1:50PM MWF, Tech LR3

Instructor: Doug Downey
Email: ddowney <at> eecs <dot> northwestern <dot> edu

Teaching Assistants:
 Dave Demeter
 Zheng Yuan
 Xutong Chen
Peer Mentors:
 Chiu Yin Cheung
 Jared Fernandez
 Agam Gupta
 Daniel Knight
 Vickie Li
 Brian Margolis
 Avi Vaid

Office Hours:
  Monday, 3PM-4PM, Ford 3-340 (Professor)
  Wednesday, 11AM-noon, Ford SB-350 (TAs and Peer Mentors)
  Thursday, 11AM-noon, Ford 3-340 (TAs and Peer Mentors)

Contacting the TAs: Please use the following e-mail address to reach all TAs at once: eecs349northwestern <at> gmail <dot> com

Completed Course Projects


See the course syllabus.

Four homework assignments make up 40 points of the grade, a course project makes up 40 points, and two in-class exams comprise 20 points for a total of 100 points. Grades are assigned using the standard scale (given in the "introduction" lecture notes), so 93-100 points is an A, 90-93 points is an A-, etc.


Homework will be submitted via Canvas. Details on the specific files to include are given in each homework assignment.

Late peer review assignments are penalized 33% per day. All other late assignments are penalized by 10% a day, and will NOT BE ACCEPTED more than one week after the original deadline. Due dates subject to change:
Problem Set 1Due 11:59PM April 1815 pts
Problem Set 2Due 11:59PM April 255 pts
Problem Set 3 Due 11:59PM May 2410 pts
Problem Set 4Due 11:59PM June 810 pts

Course Projects

Course projects will be performed by groups of students; any number of students can work together, but larger groups will be expected to complete more substantial projects. Your assignment is to formulate an interesting task for which machine learning can be used, gather training and test data for the task, and then evaluate one or more machine learning algorithms on the data. The final output will include a report Web page.

The Web pages for the completed course projects from 2008, 2010, 2014, 2015, 2016 and and other years are available for perusal.

Proposal (1 pg)Due 11:59PM Friday, May 45 pts
Proposals Peer ReviewDue 11:59PM Friday, May 115 pts
Status Report (1-2 pg)Due 11:59PM Monday, May 215 pts
Status Peer ReviewDue 11:59PM Wednesday, May 305 pts
Project Web pageDue 11:59PM Tuesday, June 12 (small bonus for turning in June 10)20 pts

You can use any learning algorithm libraries or packages that you like for your final project. You don't have to code up your own algorithms, but you can do so if you want to make that a focus of your project (implementing algorithms on your own will probably mean you spend less time on data acquisition and experimentation). See links to some general ML and neural net packages below.

General ML packages:

Neural Net packages:


See lecture slides.

Lectures and Schedule (subject to change)

Week of April 2 T: Introduction
W: Decision Trees
F: No class
Week of April 9 M: Decision Trees (cont.)
W: Decision Trees (cont.), Instance-based Learning
F: Instance-based Learning (cont.)
Week of April 16 M: Instance-based Learning (cont.)
W: Recommenders, Distance Measures
F: Linear Regression
Week of April 23 M: Greedy Local Search, Gradient Descent, Optimization
W: Project Guidelines and Suggestions, Exam Review
F: Exam 1
Week of April 30 M: Genetic Algorithms
W: Neural Networks
F: Neural Networks (cont.)
Week of May 7 M: Deep Learning, Recurrent Neural Networks and TensorFlow
W: RNNs (cont.)
F: No class
Week of May 14 M: RNNs (cont.)
W: Basics of Probability for Machine Learning
F: Statistical Estimation
Week of May 21 M: Naive Bayes Classifiers   Logistic Regression
W: Unsupervised Learning
F: Ensemble Methods
Week of May 28 M: No class (Memorial Day)
W: Bias in Machine Learners, exam review
F: Exam 2
Week of May 30 M: Computational Learning Theory and Evaluating Hypotheses
W: Support Vector Machines
F: Reinforcement Learning, MDPs