Optional, can replace a HW assignment. Discuss with instructor.
You are encouraged to work on a project involving Machine
Learning techniques, if it is something related to your interest, or
your data, or your ongoing research. Such a project will be accepted if
Your project for the course should be one of the following :
This will be by far the most common choice. Here and here are some collections of past student projects from Stanford University.
Empirical studies of what works and what does not, in terms of modifying or combining learning algorithms. While no math proofs are required, a hypothesis has to be formulated and shown to be consistent over multiple datasets.
Theoretical work includes generalization error bounds, proves of convergence, running time analysis, etc. The work has to be somehow novel, and the concepts non-trivial. This choice is definitely the hardest, but no-doubt the most satisfying (if you succeed).
This kind of project requires the student(s) to look into an advance topic and comprehensively understand the subject. Several initial readings may be provided by the instructor; it is the student job to cover the rest. The report should be a lecture-type treatment, perhaps with a demo of a software implementation.
You can propose your own project, especially (but not necessary) if it is work advised by a faculty at NEU. The work for the ML class has to be done during the class term, has to be appropriate for the material covered in class, and has to be yours even if the project is joint work with others.
The instructor may or may not work on a project that could benefit from students participation. Involvement in such projects could be more demanding, but also more rewarding (if it leads to a publication).
Your report has to be in pdf format, not longer than 10 pages. Make sure you state the problem you solve, why is it important and give an outline of how you solve it.You should include reports of the experiments you run, analyses and profs.
The code should not be printed (unless your project is about a smart implementation; even then, only include the relevant segment of the code).