找到所有k近邻

时间:2015-01-28 10:04:44

标签: algorithm cluster-analysis computational-geometry hamming-distance

问题:

我有N(~100m)个字符串,每个D(例如100个)字符长且字母表低(例如4个可能的字符)。我想为这N个点中的每一个找到k-最近邻点(k~0.1D)。相邻的弦通过汉明距离定义。解决方案不一定是最好的,但越接近越好。

关于这个问题的想法

我有一种不好的感觉,这是一个非常重要的问题。我已经阅读了很多论文和算法,但是大多数都在高维度上有较差的结果,并且当维度小于5时它起作用。例如this paper建议一种有效的算法,但它的常数与指数维度相关。

目前,我正在研究如何以保持汉明距离或计算汉明距离的方式减少维数。

另一个选项是locality sensitive hashing,在所选指标下彼此接近的点以高概率映射到同一个存储桶。任何帮助?您更喜欢哪个选项?

1 个答案:

答案 0 :(得分:3)

之前提出的一个问题有一些很好的讨论,所以你可以参考,

Nearest neighbors in high-dimensional data?

除此之外,您还可以查看,

http://web.cs.swarthmore.edu/~adanner/cs97/s08/papers/dahl_wootters.pdf

很少有论文分析不同的方法,

http://www.jmlr.org/papers/volume11/radovanovic10a/radovanovic10a.pdf

https://www.cse.ust.hk/~yike/sigmod09-lsb.pdf