是否存在支持高维向量空间中的快速近似最近邻查询的数据库?
我正在寻找一个适合以下用例的数据库:
是否存在强有力的实施?
答案 0 :(得分:3)
ANN库对于高维大型数据集非常有效,但它不是一个完整的数据库"并不是分布式解决方案。
有一家名为SpaceCurve的创业公司(与我无关)在商业空间数据库上工作,因此根据您的需求和预算,他们可能值得研究。
作为一条建议:你应该深入思考最近的邻居"真的意味着当你谈论"数十万个维度"。如果在20维立方体中取一百万个随机点,则任何两个最近邻居之间的平均距离大约是立方体边缘长度的一半。
这只会在您添加尺寸时呈指数级变差。一旦你谈论了数百个维度,如果它们在某种程度上均匀分布,你真的需要不可能的大量积分(例如> 10 30 );如果他们的分布不同,那么你最好采用其他分类方法。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可能想看看Facebook的Faiss。
从文档中:
Faiss是一个用于高效相似性搜索和聚类的库 密集向量。它包含在向量集中搜索的算法 任何大小,最多可能不适合RAM的大小
注意,它仅适用于L2(欧几里得)距离和点积。
链接到项目-Faiss