Final project

The final project offers you an opportunity to apply machine learning techniques on a problem that you care about beyond the scope of homeworks. It also helps you practice a diverse set of skills, including working in a team and providing constructive feedback.


  • Project brainstorming: Aug 28 -- starting from the first day, getting yourself in ML mode
  • Group formation due: Oct 4
  • Final project proposal due: Oct 17
  • Final project peer feedback due: Oct 25
  • Midpoint spotlight: Nov 15
  • Midpoint peer feedback due: Nov 27
  • Final project poster session: Dec 13
  • Final project report due: Dec 15

Project brainstorming

We will use Piazza and office hours heavily to discuss final project ideas. Please use #projectideas to tag corresponding posts on Piazza. Course staff will offer feedback to these posts.

A good project should

  • be an interesting well-motivated problem;
  • have readily available data, or a clear plan to gather the dataset by Oct 31;
  • can be formulated or partially addressed with machine learning techniques;
  • have a solution (ideally multiple solutions) that you can implement within the scope of this class.

Theoretical projects are also allowed, but you should contact me as early as possible.


You must form a group of 4-5 students enrolled in this course and make a post on Piazza with your names (use finalproject to tag the post) by 11:59pm on Oct 4. Participation in brainstorming project ideas is a great way to find other students with similar interests. It is important to convince your peer that your idea is brilliant both in academia and in industry.

Final project proposal

Each group will submit a proposal of at most two pages and a presentation of at most three slides by 11:59pm on Oct 17 on Moodle. Each group will make a presentation of three minutes on Oct 18.

A good proposal should

  • explain why the project is worth studying;
  • explain why machine learning techniques are appropriate;
  • demonstrate that you (will) have access to datasets;
  • present initial thoughts of possible approaches.

Peer feedback for project proposal

Each student will provide feedback to one projects from other groups on Piazza by 11:59pm on Oct 25. The feedback should use the following template:

  • What I like about this proposal
  • What I would have done differently (practical constructive feedback for improvements)
  • What I wish that this project can achieve with unlimited resources (moonshot ideas)

Your feedback will be evaluated based on whether it is clear and constructive.

Midpoint spotlight

Prepare at most three slides to describe

  • What you have done so far
  • What kind of advice that you rae seeking.

This presentation will happen on Nov 15. You slides are due at 11:59PM, Nov 14 on Moodle.

Midpoint peer feedback

Each student will provide feedback to one projects from other groups on Piazza by 11:59pm on Nov 27. The feedback should use the following template:

  • What I like about the current progress
  • What I would improve over what has been done
  • What I would try in the next two weeks

Your feedback will be evaluated based on whether it is clear and constructive.

Final poster presentation

The poster presentation will be on December 13 (location and time TBD, likely not the usual class time). In the poster presentation you will present a poster in the same format of a research conference. You need to

  • Explain what you did and what you think is the most exciting thing from this project

  • What challenges you had

  • Review how well you did

This poster session will last roughly one and a half hours. Course staff will visit each poster to grade your poster presentation.

Final report

The final report is due on Dec 15 on Moodle. List group members in the report and sort the name alphabetically. You report should explain what you did and what results you achieved. This document should make it clear:

  • Why this project is a good (or bad) idea,
  • What you did,
  • Whether your technique worked or not,
  • Who did what.

Please do not go over 2500 words unless you have a really good reason. Images are a much better use of space than words, usually (there's no limit on including images, but use judgement and be selective).

We will use the NIPS format. You can download the LaTex template here. We strongly recommend using LaTex, but you can use this Microsoft word template from 2013. All submissions must be in PDF format.

The final report will be evaluated based on the following aspects:

  • Writeup: Does the writeup explain what you did in a way that is clear and effective?

  • Technical Soundness: Did you use the appropriate tools for the problem? Were they relevant to this class?

  • Effort: The amount of effort that you spend in the process.

  • Performance: How did your techniques perform?

Tips to get your report better:

  • Provide an error analysis. An error analysis must contain examples from the development set that you get wrong. You should show those examples and explain why (in terms of features or the model) they have the wrong answer. You should have been doing this all along as your derive new approaches, but this is your final inspection of your errors. The feature or model problems you discover should not be trivial features you could add easily. Instead, these should be features or models that are difficult to correct. An error analysis is not the same thing as simply presenting the error matrix, as it does not inspect any individual examples.

  • Explain the motivation for your approaches. For example, features shouldn't come out of nowhere; you should have a clear domain-specific story for how you derived the features or an error analysis motivations for the features you create.


The grade will be as follows:

  • Proposal: 4 points,
  • Proposal peer feedback: 4 points,
  • Midpoint spotlight: 4 points,
  • Midpoint peer feedback: 4 points,
  • Poster presentation: 4 points,
  • Final report: 20 points,

in total, 40 points.