New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maximum Inner-Product Search using Tree Data-structures in MLPACK ? #427
Comments
Hi there, The exact MIPS algorithm with the cone tree actually isn't in mlpack, so the paper is incorrect. However, I bet Parikshit has an implementation somewhere, which could be polished and added to mlpack (you can email him: p.ram@gatech.edu; whatever code he gives you, I can help you make it compile and work, and possibly just adapt and add it to mlpack so the paper is correct). On the other hand, what we do have implemented is FastMKS, which solves inner-product search in a more general sense (http://ratml.org/pub/pdf/2014fastmks.pdf). Here's a tutorial on how to use it in mlpack: http://mlpack.org/doxygen.php?doc=fmkstutorial.html . Perhaps that would be useful to you too? I don't know how it will perform for nearest neighbor---our FastMKS implementation doesn't (currently) use cone trees. |
Hi, thanks for the response,
|
Sorry for the slow response; it took a little while to do some refactoring (90a9d93 to 81fe638). Anyway, now you should be able to do FastMKS with sparse datasets (in the git master branch, at least). You'll have to do a little bit of type wrangling to get it to work right, since it's through template parameters. Take a look at the examples in |
Wow, thanks. |
Hmm, I should also add, I don't know how fast it will actually perform in practice, or how useful it will be. Trees on high-dimensional sparse data don't generally work very well, although in this case we are using the cover tree, whose runtime depends instead on a measure of intrinsic dimensionality, so, maybe you can get away with using sparse data here (if it's intrinsically low-dimensional). Either way, another consideration is that |
Hi, I am a CS graduate student at JHU and I came across the paper "Maximum Inner-Product Search using Tree Data-structures", by Parikshit Ram and Alexander Gray while reading "Speeding Up the Xbox Recommender System..." by Pacquet et. al. who cite it as being a good algorithm for doing NN queries over high dimensional sparse data. According to the paper by Parikshit the cone-tree based NN search should be in MLPACK but I couldn't find it in the source or documentation. I just wanted to know if there was a stable release of the code of that paper in some other branch or repo somewhere ?
Thanks.
The text was updated successfully, but these errors were encountered: