Posted by Danny TarlowSarath writes about doing a project during his final year of university related to machine learning:
I am writing this email to ask for some advice. well the thing is i haven't decided on my project yet, as i decided it will be better if i took some time to just strengthen my fundamentals and may be work on something small. well i came across this great blog called measuring measures where they had put up a reading list for machine learning and it was may i say a bit overwhelming. http://measuringmeasures.com/blog/2010/3/12/learning-about-machine-learning-2nd-ed.htmlThere are others who are likely more qualified than I am to answer this one, but here are my two cents:
My present goal is doing a graduate course in some good university with some good machine learning research and one of the reason i wanted to do a great project as i have heard that would be a great way to getting into a good university.
So my question is should my first priority be getting a really good and deep understanding of the subject or should i be more concerned with doing some good project with respect to admissions?
That post certainly has things that would be nice to learn, but you don't need to know all of that in order to be a successful researcher. Depending on what area you go into, you might need different subsets of those references, or you might need something different all together. (For example, a reference I go back to time and time again is Schrijver's Combinatorial Optimization, but it's not on that list).
I think you should pick a project in an area that you find interesting, then just dive in. At first, I'd be less concerned with doing something new. First, focus on understanding a couple different existing approaches to the specific problem you've chosen, and pick up the necessary background as you go by trying to implement the algorithms and replicate published results, following references when you get confused, looking up terms, etc. Perhaps most importantly, work on your research skills. Important things:
- Clearly write up exactly what you are doing and why you are doing it. Keep it as short as possible while still having all the important information.
- Set up a framework so you are organized when running experiments
- Even if the results are not state of the art or terribly surprising, keep track of all the outputs of all your different executions with different data sets as inputs, different parameter settings, etc.
- Visualize everything interesting about the data you are using, the execution of your algorithms, and your results. Look for patterns, and try to understand why you are getting the results that you are.
In my estimation, I'd think graduate schools would be more impressed by a relevant, carefully done project, even if it's not terribly novel, than they would be with you saying on your application that you have read a lot of books.
If you're looking for project ideas, check out recent projects that have been done by students of Andrew Ng's machine learning course at Stanford:
Perhaps some readers who have experience on graduate committees can correct or add to anything that I said that was wrong or incomplete.