Annoy 求近似最近邻的库开源项目

我要开发同款
匿名用户2019年10月12日
103阅读
开发技术C/C++
所属分类大数据、数据处理
授权协议Apache-2.0

作品详情

Annoy是Spotify 开源的高维空间求近似最近邻的库,在Spotify使用它进行音乐推荐。最邻近搜索(NearestNeighborSearch,NNS)又称为“最近点搜索”(Closestpointsearch),是一个在尺度空间中寻找最近点的优化问题。

Annoy能够使用静态文件作为索引,意味着可以跨进程共享索引。它还创建了大量的基于只读文件的数据结构,这些数据结构被嵌入内存中,以便许多进程可以共享相同的数据。Annoy的另一个好处是它试图最小化内存占用,因此索引非常小。

特性:

欧几里德距离, 曼哈顿距离, 余弦距离, 汉明距离或 点(内)积距离余弦距离等价于归一化向量的欧氏距离=sqrt(2-2*cos(u,v)如果你的维度不多(比如<100),效果会更好,即使达到1000个维度,它也表现得非常出色内存使用量小允许你在多个进程之间共享内存索引创建与查找是分开的(特别是在创建树后,就无法添加更多项目)原生Python支持在磁盘上生成索引,以便为不适合内存的大型数据集建立索引

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论