Machine Learning (EECS 349)

Spring 2015
Electrical Engineering and Computer Science Department
Northwestern University

Class Meets: 1:00PM-1:50PM MWF, Leverone Auditorium

Instructor: Doug Downey
Office Hours: 2:00-3:00PM Monday EXCEPT June 1, instead 3-4PM Wednesday June 3 (or by appt), Ford 3-345
Email: ddowney <at> eecs <dot> northwestern <dot> edu

Teaching Assistant: Mohammed Alam ("Rony")
Office Hours: 2-3PM Thursday, Ford 3-340

Teaching Assistant: Yanran Wang ("Joyce")
Office Hours: Friday 4-5PM, normally Tech L440, but Ford 3.340 on May 8 and June 12

Teaching Assistant: Zack Witten
Office Hours: 2:00-3:30PM Tuesday, Ford 3-340 EXCEPT April 28

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

Completed Course Projects


Four homework assignments make up 40 45 points of the grade, a course project makes up 55 50 points, and in-class quizzes comprise 8 points for a total of 103 points. Grades are assigned using the standard scale (given in the "introduction" lecture notes), so 93-103 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 assignments are penalized by 5% a day, and will NOT BE ACCEPTED more than one week after the original deadline.
Problem Set 1Due 11:59PM Tuesday, April 1410 pts
Problem Set 2Due 11:59PM Friday, May 115 pts
Problem Set 3Due 11:59PM Thursday, May 1410 pts
Problem Set 4Due 11:59PM Tuesday. June 210 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 and other years are available for perusal.

Proposal (1 pg)Due 11:59PM Thursday, April 95 pts
Proposals Peer Review (0.5 pg each)Due 11:59PM Monday, April 205 pts
Status Report (1-2 pg)Due 11:59PM Wednesday May 275 pts
Status Peer Review (0.5 pg each)Due 11:59PM Wednesday, June 35 pts
Project VideoDue 11:59PM Friday, June 510 pts
Project Web pageDue 11:59PM Wednesday, June 102030 pts
Web page Peer Review (0.5 pg each)Due 11:59PM Monday, June 85 pts


Week of March 30 Forbes article on ML popularity
Alpaydin Ch. 1, 2 (skip 2.2, 2.3); Mitchell Ch. 1, 2
Week of April 6 Alpaydin Ch. 9, 19.5, 19.6; Mitchell Ch. 3
Week of April 13 Alpaydin Ch. 8, Mitchell Ch. 8
Brief LSH tutorial
Finding Similar Items
Alpaydin 10.6
Week of April 20 Mitchell Ch. 4, 9; Alpaydin Ch. 11
Week of April 27 Alpaydin Ch. 4.2
Week of May 4 Alpaydin Ch. 16, Mitchell Ch. 6
Week of May 11 Alpaydin Ch. 7, 10
Week of May 18 Mitchell Ch. 7
Optional: Modeling Redundancy in Web Information Extraction
Week of May 25 Alpaydin Ch. 13
Recommended: SVM Tutorial
Week of June 1 Alpaydin Ch. 17

Lectures and Schedule (subject to change)

Week of March 30 M: Introduction
W-F: Decision Trees
Week of April 6 M: Decision Trees (cont.)
W: Project Guidelines and Suggestions
F: Instance-based Learning
Week of April 13 M: Instance-based Learning (cont.), Distance Measures
W: Locality-sensitive hashing and MinHash 1   2
F: Greedy Local Search, Optimization
Week of April 20 M: Genetic Algorithms, See: NetLogo
W-F: Neural Networks
Week of April 27 M: Neural Networks (cont.) See: TextJoiner, Word2Vec Demo
W: Basics of Probability for Machine Learning
F: Statistical Estimation
Week of May 4 M: Bayes Nets
W: Bayes Nets (cont.)
F: Machine Learning for Robotics (Brenna Argall)
Week of May 11 M: Naive Bayes Classifiers
W: Logistic Regression
F: Unsupervised Learning
Week of May 18 M: Unsupervised Learning (cont.)
W: Computational Learning Theory and Evaluating Hypotheses
F: Application: Unsupervised Information Extraction
Week of May 25 M: No class (Memorial Day)
W: Support Vector Machines
F: Project Status Reports
Week of June 1 M: Active Learning
W: Ensemble Methods
F: Reinforcement Learning