【问题标题】:What does EuclideanHash in Location Sensitive Hash mean?位置敏感哈希中的 EuclideanHash 是什么意思?
【发布时间】:2015-09-15 09:28:41
【问题描述】:

我发现 Location Sensitive Hash 支持 EuclideanHash CosineHash 以及根据 github 中的存储库的一些其他哈希:lsh families。反正CosineHash很容易理解:

double result = vector.dot(randomProjection);
return result > 0 ? 1 : 0;

但后来EuclideanHash很难理解:

double hashValue = (vector.dot(randomProjection)+offset)/Double.valueOf(w); // offset = rand.nextInt(w)
return (int) Math.round(hashValue);

【问题讨论】:

    标签: hash euclidean-distance trigonometry


    【解决方案1】:

    通常,lsh中的欧几里得散列是指将欧几里得空间中附近位置的数据(向量)映射到整数的散列函数。

    执行此操作的一种方法是生成随机线,并将线分成段,其中段表示哈希数。然后,将数据向量投影到这条线上,观察它落到哪一段,就可以得到hash。

    你问的函数似乎使用了类似的方法,但使用的是点积而不是投影

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-24
      • 2016-11-07
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 2012-05-12
      • 2010-11-20
      • 2020-11-16
      相关资源
      最近更新 更多