为LSH Minhash算法生成随机哈希函数

用户名

我正在用Java编写minhashing算法,该算法要求我生成任意数量的随机哈希函数(在我的情况下为240个哈希函数),并通过它运行任意数量的整数(此刻为2000)。

为了做到这一点,我一直在为240个哈希函数中的每一个生成随机数a,b和c(范围为1-2001)。然后,我的哈希函数返回h =((a * x)+ b)%c,其中h是返回值,x是遍历该整数的整数之一。

这是随机哈希的有效实现,还是有更通用/可接受的方式呢?

这篇文章在问一个类似的问题,但是答案的措辞让我有些困惑:Minhash实现如何找到排列的哈希函数

吉姆·米歇尔(Jim Mischel)

几年前,当我使用Bloom过滤器时,遇到了一篇文章,描述了如何使用最少的代码非常简单地生成多个哈希函数。他描述的方法效果很好。少散列,同样的性能:建立一个更好的布隆过滤器

基本思想是创建两个哈希函数,分别将其称为h1h2,然后可以使用g1通过gk使用以下公式来模拟多个哈希函数

gi = h1(x) + i*h2(x)

i从1到k(所需的哈希函数数)之间变化。

即使您决定不执行他的想法,该论文也很值得阅读。尽管阅读完之后我无法想象不想实现它。它使我的Bloom过滤器代码更易于处理,并且对性能没有负面影响。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LSH使用的哈希值混淆

来自分类Dev

位置敏感哈希(LSH)如何工作?

来自分类Dev

一个minhash算法需要多少个哈希函数

来自分类Dev

可接受的为密码哈希函数生成Salt的方法-C ++

来自分类Dev

局部敏感哈希(LSH)中的ε(ε)参数是什么?

来自分类Dev

局部敏感哈希(LSH)中的ε(ε)参数是什么?

来自分类Dev

用于为float []中的值生成相同的唯一ID /哈希的算法

来自分类Dev

为 Twitter OAuth 生成哈希

来自分类Dev

随机数生成器:函数参数显示为未定义

来自分类Dev

DefaultPasswordHasher为相同的值生成不同的哈希

来自分类Dev

为Android移动应用生成哈希密钥

来自分类Dev

将多个值哈希/编码为单个整数值的算法

来自分类Dev

C ++是否为引用指定哈希函数?

来自分类Dev

为每个算法传递多个函数

来自分类Dev

带LSH的Fisher向量?

来自分类Dev

LSH Binning On-The-Fly

来自分类Dev

为基于属性的测试生成随机规则

来自分类Dev

为RPG游戏生成随机数

来自分类Dev

为内容创建随机生成的URL

来自分类Dev

为给定的cdf生成随机值

来自分类Dev

为组R生成随机数

来自分类Dev

将随机生成的密码设置为变量?

来自分类Dev

为Cassandra DB生成随机数据

来自分类Dev

为Ubuntu 16.04 cloudimage随机生成passwd

来自分类Dev

为模型生成唯一的随机 ID

来自分类Dev

为数据库生成随机 ID

来自分类Dev

为随机生成的 Javascript 数字添加样式

来自分类Dev

随机路径生成算法

来自分类Dev

RAS算法生成随机矩阵