Adding some more background that might help with your decision:

On Wed Grant Ingersoll <[email protected]> wrote:
> Robin Anil wrote:
> > 1) Implement a new algorithm which is not there

If you have focused on machine learning and/or have a solid math
background this would probably be the easiest option: The task is to
find an algorithm that is not yet there, read up on the theory behind
and implement it. If you have an adviser knowledgeable in the field it
would be even better.


> > 2) Improve performance of an existing algorithm using some X
> > technique

This task is less theoretically involved but goes more into software
engineering; relevant would be literature that deals with performance
tuning, identifying typical usage scenarios etc.


> 3) I'd love to see some systematic benchmarking of the various
> existing algorithms as nodes and data scale up. 

Again less theory and more software engineering. I'd love to see that as
well - especially if the result is not only a systematic manual
benchmark but maybe something that can be re-run after each release. In
addition it's always nice to be able to add some graphs that show your
work. The result might be complementary to those published in the
original NIPS paper on distributed machine learning algorithms.

I am not exactly sure what your requirements for your final project
are. At least at German universities advisers usually are not content
with implementation work only but students should show that they are
able to analyse their chosen problem: Something like algorithm $A is
better then $B under conditions $X and $Y. Or something like algorithm
$C has better runtime and quality characteristics in configuration $O
compared to configuration $P because of $T. Before you final decision
for some project topic it might be wise to double check it with you
university.


Isabel

Reply via email to