The project in this course is an opportunity to develop a machine learning application in an area of your own choosing. It also provides the chance to do a full engineering project that is much closer to real-world engineering and research than most course assignments that you've done so far. While this project has some structure, you will be required to deal with the ambiguity and significant decision making that make up the life of a real engineering practitioner.
Completing an open-ended project comes with significant benefits:
- The only way to really become an engineer is to do what real engineers do, which includes understanding the difficulties of open-ended goals and projects. Even if it doesn't go well, and you spend time reflecting on why that was so, you will be taking an important step towards becoming a professional engineer.
- You will have an opportunity to practice the ever-crucial oral and written communication skills that an engineer needs to operate successfully. You might not think that communication is important, but if so, you're wrong!
- When I have interviewed people for full-time jobs, internships, and for graduate school, the most important question I ask is to have them tell me about a major project they did. This is such a project.
- If you were to have a video of yourself presenting your project, and you think that video has sufficient quality, you can put a link to it on your personal LinkedIn page. LinkedIn has taken the place of a personal CV or resume, and such a video would be a compelling statement of what you are capable of. Rather than the usual simple listings of skills and previous jobs, it brings who you are to life.
- Projects must be done in groups of 3. If you prefer to work in a group of 2, please speak to the instructor.
- The project must make use of machine learning, as taught in this course, and the training, validation and testing of some kind of ML system should form an important part of the project.
- The project topic is of your own choosing. It must be unique within the class. No two projects can be on the same topic, as determined by a "uniqueness approval" step in the project.
- There should be some data collection or cleaning that is a meaningful part of the training process. You will not be able to use a known data set for the initial purpose that the data set is used for. You can repurpose a data set, combine data sets, or collect your own data.
- University of Toronto rules on plagiarism apply. We are aware that there are many machine learning projects already posted on the internet, and these will be checked for plagiarism.
Timeline and Deliverables
The project has several steps and deliverables, listed in the table below. The following sections provide more detail.
|Team Formation and Uniqueness Approval|
|Progress Meeting with TA Mentor||3%||July 11-15 (schedule with TA)|
|Progress Report||4%||July 24, 9pm|
|Project Report||10%||August 15, 2019|
Once you have formed a team, you should brainstorm ideas for what your project topic should be. Every group must have a unique project idea, and use a unique data set. To claim your idea/data, send an email to Lisa including:
- The names, utorids, and email addresses of your group members
- A short (2 sentence) description of the project idea you wish to work on
- The dataset(s) that you plan on using, and how you plan on collecting/cleaning/processing the data
I will either respond with "you have uniqueness approval" (meaning no-one else has proposed a similar topic) or "please try again, that topic is taken." You must have received uniqueness approval by the deadline above.
The purpose project proposal is to demonstrate that your team:
- knows what the goals and motivations for your project are.
- knows what dataset you will use to train your model.
- has a rough idea of the type of neural network(s) you will use.
- has a rough idea of the relate work that you can build on.
- has a reasonable idea of how you will measure success of your model,
- has a clear idea of how you will work together, and how to distribute
Each team is assigned to meet with a TA mentor, and must schedule a 45 minute meeting with the TA. Teams should use this time to ask questions, report progress, and brainstorm with a more experienced machine learning researcher.Here is the progress meeting handout and rubric.
The project progress report is a check-in to show that you are on track to complete your project. By the project progress date, you should have collected all the data, produced a baseline model, and produced at least one result from training your neural network model.Here is the progress report handout and rubric.
The team will make a 6-8 minute final presentation, describing the project goals, the machine learning model, and demonstrate models' results.Here is the final presentation handout and rubric.
Each group will submit a final project report. The report will be structured somewhat like a research paper.
Along with the final report, every group member must submit a maximum 500-word addendum that describes their personal contribution to the project. The word limit is hard.Here is the final report handout and rubric.