【问题标题】:Vowpal Wabbit - how it does hashingVowpal Wabbit - 它是如何进行散列的
【发布时间】:2015-04-08 09:58:44
【问题描述】:

谁能解释一下 VW 中的散列技巧是如何进行的?具体来说,下面的描述,从要点:

默认是散列/投影特征名称到机器 使用 murmurhash v3 变体的架构无符号字 (仅限 32 位)算法,然后与 (2^k)-1 进行与运算(即它是 向下投影到前 k 个低阶位,其余为 0)。

提到哈希的结果与 (2^k)-1 进行“与”运算。这是什么意思?我知道如果哈希是对某个数字 D (hash('my string')%D) 进行修改,它会产生一个只能采用 D 值的新数字。这和AND'ed一样吗?如果是这样,它究竟是如何工作的?

【问题讨论】:

    标签: vowpalwabbit


    【解决方案1】:

    (2^k)-1 在二进制中是“k 个”,例如(2^6)-1 = 111111(二进制)。当您在原始哈希数和 (2^k)-1 上应用 logical AND 时,您实际上只采用了哈希的 k 个低位。与 mod 2^k 的操作相同。

    【讨论】:

      猜你喜欢
      • 2017-02-05
      • 2013-12-05
      • 2015-10-18
      • 2018-01-20
      • 2013-12-15
      • 2015-09-02
      • 2020-02-12
      • 2015-01-06
      • 2017-10-09
      相关资源
      最近更新 更多