快速计算距离Annoy算法原理及Python使用_召唤师的峡谷-CSDN博客

快速计算距离Annoy算法

基本原理

高维稀疏数据进行快速相似查找,可以采用learning to hash参考:Minhashing & LSH & Simhash 技术汇总,但高维稠密数据查找则采用annoy

如何从海量文本中快速查找出相似的Top N 文本
Annoy(Approximate Nearest Neighbors Oh Yeah)快速算法,在实际应用中发现无论计算速度和准确性都非常不错。

原始2D数据分布图:
在这里插入图片描述

1. 建立索引过程

Annoy的目标是建立一个数据结构,使得查询一个点的最近邻点的时间复杂度是次线性。Annoy 通过建立一个二叉树来使得每个点查找时间复杂度是O(log n)。 看下面这个图,随机选择两个点,以这两个节点为初始中心节点,执行聚类数为2的kmeans过程,最终产生收敛后两个聚类中心点。这两个聚类中心点之间连一条线段(灰色短线)ÿ


原网址: 访问
创建于: 2021-10-20 10:38:01
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论