*距离可以是L2;在讨论单位向量时,比例成比例地等于余弦相似度。
我的近似方法(固定时间):1.为每个向量维排序所有文档。2.使用排序索引仅对数据的子集进行暴力破解:f.e.包括每个向量维度中最接近的1000个文档,通过蛮力计算通过所有(或大多数)维度中接近的文档(1000)的L2距离。 (最多1000个)
但是,我想知道是否有一种“更干净”的精确解决方案,例如用于最接近点对问题的分而治之的算法,其运行时间为log(n)。
PS:内存也应线性扩展。但这应该没问题。
示例:我将32个浮点数存储1M文档的100维矢量表示形式。