我们有一个向量列表,这些向量的尺寸大于2(维度可以是10、32、64或15),并且任意向量作为输入。
需要从向量列表中找到最接近输入向量的
(例如:10000和10001是闭合向量,但是10111和10000不是闭合向量),但是没有完全通过列表。我知道有几种最邻近搜索算法,可以让我们找到最相似的元素:kd-trees,Voronoi图,但它们的目的是在平面或3维空间中找到元素。
有没有算法可以找到最接近的矢量,其维数大于2?
答案 0 :(得分:0)
nearest-neighbour search的几乎所有索引结构都支持多维数据。
例如KD-Trees和R-Trees非常适合于低维数据(d <5-10)。当维数增加时,您会遇到curse of dimensionality,并且大多数索引结构会退化(它们的选择性降低)。
除了20个维度(这只是经验法则和高度依赖数据分布)之外,这些传统索引结构没有对数据进行全面扫描带来任何好处。然后,您可以