Wednesday, February 11, 2009

Fast algorithm

Fast CF algorithms have a future, as I don't think that blending hundreds (or even dozens) of predictors is acceptable in real recommender system.
Unfortunately, most of published algorithms tried in this contest needs hours of computations to produce a decent result.

I've been recently working on my "fast" algorithm; the goal was to develop an algorithm with lowest RMSE and running time not exceeding 10 minutes.
Now it's time I may proudly announce the result: my algorithm can produce a 0.8927 QRMSE solution in seven (7) minutes (including reading raw data and writing result file) on my AMD 64 X2 Dual Core @5200+ machine, without using parralelism of any kind (like CUDA, OpenMP, etc.). It's not a totally new algorithm, but rather a clever modification of what was already published by one of the leading teams.

If anyone has an algorithm which offers a better solution in similar time, please let me know.

5 comments:

  1. Sure I don't have a better score in such a sort time... but you could at least name the variant of the algorithm! SVD? SVD++? ...or something like that would be helpful :)

    ReplyDelete
  2. teCh poVerA - it's a variant of SVD. I can't write more details, as I believe there's still room for improvement.

    ReplyDelete
  3. Awesome. For something to learn that fast, I'm guessing he uses either E.M. or some other sort of re-estimation equations for the weights, rather than an incremental algorithm with a learning rate. :-D

    ReplyDelete
  4. Hi, have you got RBM working yet ? It improved my blend about 0.0015.

    ReplyDelete
  5. dmnewbie - no, I haven't. I'll try to implement RBM when I'll be about 0.0015 from 10% :-)

    ReplyDelete