求近似最近邻的库Annoy
-
Annoy 是 Spotify 开源的高维空间求近似最近邻的库,在 Spotify 使用它进行音乐推荐。最邻近搜索(Nearest Neighbor Search, NNS)又称为 “最近点搜索”(Closest point search),是一个在尺度空间中寻找最近点的优化问题。
Annoy 能够使用静态文件作为索引,意味着可以跨进程共享索引。它还创建了大量的基于只读文件的数据结构,这些数据结构被嵌入内存中,以便许多进程可以共享相同的数据。Annoy 的另一个好处是它试图最小化内存占用,因此索引非常小。欧几里德距离, 曼哈顿距离, 余弦距离, 汉明距离或 点 (内) 积距离;余弦距离等价于归一化向量的欧氏距离 = sqrt (2-2*cos (u,v);如果你的维度不多 (比如 < 100),效果会更好,即使达到 1000 个维度,它也表现得非常出色;内存使用量小;允许你在多个进程之间共享内存;索引创建与查找是分开的(特别是在创建树后,就无法添加更多项目);原生 Python 支持;在磁盘上生成索引,以便为不适合内存的大型数据集建立索引。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏