CS66 Final Project Ideas


Your project must be novel work related to the field of machine learning -- it should go beyond what we have covered in the course in terms of assignments or core lecture materials. It also most be considerably different than previous work you have done in other courses or for research. If you want to build on existing framework (yours or someone elses), you must be explicit about your unique contributions in your proposal. You can and should work with Professor Soni throughout the process of brainstorming and designing a proposal.

Within these bounds, there is a great deal of flexibility in the style of project you can consider. All papers are expected to have the following components:

Your project could be very deep on algorithmic analysis (e.g., considering learning theory, or a very unique framework) or could be focused on experimentation (e.g., doing a metareview of a class of algorithms, or by attacking a real-world problem that requires a good deal of effort in gathering, processing, and analyzing the data). There is a continuum of projects in these two dimensions, but are some tangible examples: Some topics suggestions include:

The key piece of advice I have is to make sure the goal is tangible. For example, many previous projects on deep learning have failed because it is notoriously difficult to debug and manage large data sets (e.g., 3D medical images). Look for papers related to your idea to ensure it is tangible. If it is difficult to find related work, treat it as a warning sign. Usually, it means it isn't a suitable machine learning task, but it could also mean that you need to learn a bit more about the idea first.

You may use existing libraries and software if you want to spend less time on implementation and more on experiments. I recommend creating virtual environments for tensorflow and Keras (you may be able to reuse the CS81Envs as well). Sci-kit learn and Weka are already on our systems.

Resources

Look for research papers in top machine learning venues (NIPS, Journal of ML Reserch (JLMR), Int. Conference on ML (ICML), ICMLA (Applications), Euro. Conf. on ML (ECML), Int Conf. on Data Mining (ICMD), AAAI). NIPS has all papers available online, as does JMLR. The library should be able to get you access to the other materials although most authors have PDFs of their papers on their websites. For data sets: