{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/fast-k-nn-search","title":"Fast k-NN search","arxiv_id":"1509.06957","date":"2015-09-23","proceeding":null,"authors":["Ville Hyvönen","Teemu Pitkänen","Sotiris Tasoulis","Elias Jääsaari","Risto Tuomainen","Liang Wang","Jukka Corander","Teemu Roos"],"abstract":"Efficient index structures for fast approximate nearest neighbor queries are\nrequired in many applications such as recommendation systems. In\nhigh-dimensional spaces, many conventional methods suffer from excessive usage\nof memory and slow response times. We propose a method where multiple random\nprojection trees are combined by a novel voting scheme. The key idea is to\nexploit the redundancy in a large number of candidate sets obtained by\nindependently generated random projections in order to reduce the number of\nexpensive exact distance evaluations. The method is straightforward to\nimplement using sparse projections which leads to a reduced memory footprint\nand fast index construction. Furthermore, it enables grouping of the required\ncomputations into big matrix multiplications, which leads to additional savings\ndue to cache effects and low-level parallelization. We demonstrate by extensive\nexperiments on a wide variety of data sets that the method is faster than\nexisting partitioning tree or hashing based approaches, making it the fastest\navailable technique on high accuracy levels.","url_abs":"http://arxiv.org/abs/1509.06957v2","url_pdf":"http://arxiv.org/pdf/1509.06957v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"fast-k-nn-search","repo_url":"https://github.com/ejaasaari/mrpt-comparison","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":null}],"tasks":[{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}