Projects

Credits: Much of the architecture for this course project comes from Bryan Low (NUS) and Thorsten Joachims (Cornell)

A key part of the mastery of machine learning is practicing it, outside of the formal mathematical and statistical basis for the algorithms. The student projects form an integral part of the assessment. Student teams should have 5-6 members and will be assembled by the teaching staff. There are two kinds of projects that can be done: Self-Defined Projects and Kaggle Competition Projects. Choose only one of the two.

Self-Defined Projects

The final project is intended to be a limited investigation in an area of machine learning of your choice. The purpose of the project is to enable you to study an area of your interest in greater detail in a practical way. The project can take on many forms, including but not limited to:

Doing such a project gives you more flexibility and allows you work on something of your liking. However at the same time, this may potentially require some additional effort (depending on your problem) such as data collection or coming up with suitable baselines, and/or explicitly declaring what is being extended or novel for the scope proposed for the class. The teaching staff will take these factors into account when grading.

Kaggle Competition Projects

On the Kaggle website, you can find and choose from a number of interesting machine learning competitions. Upon joining a competition, you will be provided with a training and testing sets, and your performance will be measured with specified metrics and ranked with other competitors on the web.

Note that performance on the different metrics is not the critical factor in your grade on the project. While doing well on the competition helps, we primarily evaluate with respect to the (interesting) ideas your team employs to solve the task. While the data is easier to obtain for such a project, there is less flexibility and more emphasis on coming up with interesting methods.

Project Structure

DescriptionPercentage
Proposal3%
Interim Presentation6%
Project Poster, Video and Poster Presentation6 + 5 + 6 = 17%
Final Project Report9%
Peer Grading (of three other projects)(counts towards Participation)
Total35%


You will need to form teams and propose a topic to for your project in a formal project proposal. The staff and your peers will give you feedback. After the project proposal, you will be assigned a contact TA that you can use as a resource for questions and advice.

In Weeks 7-8, the staff will meet with all teams for a first, mandatory consultation. Your team will need to prepare a short presentation deck to present to the staff about the progress of your project. Based on your team’s interest and the staff’s opinion on your project, you may elect to present at 17th STePS. Teams that present at STePS will have a slightly different path and grading rubric for their project which involves additional consultation with staff and cumulates with a public presentation at STePS.

Detailed grading rubrics for all phases of the project are provided as part of the project reporting templates provided in class, as well as through the accompanying project videos that are released on Week 1. The general grading metrics are as follows:

As with supervised machine learning, sometimes it’s easier to learn from data than from rubrics. You can get a look at past projects by looking the previous iterations of CS3244 projects as housed in SoC’s STePS platform, from either Semester I, AY 19/20 or Semester I, AY 18/19.

We also would like to thank AWS Educate for their continued sponsorship of our course by allowing our course administrators to distribute 10,000 USD worth of AWS credits to project teams that declare that they will be using AWS platform for their course project work.