Algorithm 查找最近的向量
我们有一个维度大于2的向量列表(维度可以是10、32、64或15)和一个任意向量作为输入 需要从向量列表中找到最接近输入向量的向量 (例如:10000和10001是闭合向量,但10111和10000不是闭合向量),但没有完整通过列表。我知道几种最近邻搜索算法,它们允许我们找到最近的相似元素:kd树、Voronoi图,但它们的目标是在平面或三维空间中找到元素Algorithm 查找最近的向量,algorithm,search,Algorithm,Search,我们有一个维度大于2的向量列表(维度可以是10、32、64或15)和一个任意向量作为输入 需要从向量列表中找到最接近输入向量的向量 (例如:10000和10001是闭合向量,但10111和10000不是闭合向量),但没有完整通过列表。我知道几种最近邻搜索算法,它们允许我们找到最近的相似元素:kd树、Voronoi图,但它们的目标是在平面或三维空间中找到元素 是否有任何算法可以找到维度大于2的最近向量?几乎所有支持多维数据的索引结构 例如,和非常适合低维数据(d
是否有任何算法可以找到维度大于2的最近向量?几乎所有支持多维数据的索引结构 例如,和非常适合低维数据(d<5-10)。当维度数量增加时,您会遇到索引结构退化(它们的选择性降低) 除了20维(这只是一个经验法则,高度依赖于数据分布)之外,这些传统的索引结构与对数据的完全扫描相比没有任何好处。那你也可以
- 尝试优化此扫描(例如,在距离计算或
- 使用近似近邻方法(例如),该方法速度快,但不能保证返回最近邻(但通常是近邻)