首页 文章
  • 144 votes
     answers
     views

    HyperLogLog算法如何工作?

    我最近在闲暇时间学习了不同的算法,而我遇到的一个看起来非常有趣的算法称为HyperLogLog算法 - 它估计列表中有多少独特的项目 . 这对我来说特别有意思,因为它让我回到了我的MySQL时代,当我看到“基数”值时(我总是假设它直到最近计算得不是估计的) . 所以我知道如何在O(n)中编写一个算法来计算数组中有多少个唯一项 . 我用JavaScript写了这个: function countUn...
  • 13 votes
     answers
     views

    将HyperLogLog应用于总体样本

    Flajolet等人的HyperLogLog算法描述了一种仅使用少量内存来估计集合基数的巧妙方法 . 但是,它确实考虑了计算中原始集合的所有N个元素 . 如果我们只能获得原始N的一小部分随机样本(比方说,10%)怎么办?有没有关于HyperLogLog或类似算法如何适应这种情况的研究? 我知道这基本上是描述为不同 Value 估计的问题,对此存在大量研究(例如参见this paper) . 然而,...
  • 1 votes
     answers
     views

    逻辑集操作的基数近似 - (AND / OR / XOR的“HyperLogLog”)

    我们目前正面临一个有趣的问题 . 我们想要一个集合的基数而不需要存储每一个项目(通常位图/位集是一个很好的方法) . 一个非常好的算法是所谓的HyperLogLog随机算法(更多信息请参见http://antirez.com/news/75) . 这里的问题是,你只能将集合合并为 UNIONs ,所以基本上它是 OR 组合 . 我们实际上不仅要将集合与OR组合,还要与AND组合 . 我们甚至想要结...
  • 1 votes
     answers
     views

    如何为应用了多个维度的自定义Firebase事件获取唯一用户数?

    我目前正在尝试为BigQuery中的自定义Firebase活动计算唯一身份用户 . 虽然我已经能够通过使用APPROX_COUNT_DISTINCT函数来获得聚合中的数字,但是当选择并向表中添加许多不同的维度时,我仍然坚持获得正确的(唯一的)计数 . 关于使用HLL_COUNT.INIT的following resource让我更近了一步,但我还没弄明白如何在同一个表中使用HLL_COUNT.ME...

热门问题