输出AMS草图和计数草图算法之间的区别

时间:2019-06-11 14:00:36

标签: algorithm data-structures streaming frequency-analysis

我试图了解AMS草图和计数草图算法之间的区别。我的理解是,他们的两个目标/输出都是要返回 sketch ,这是一个频率向量。包含通过的蒸汽中元素的频率。两者有什么区别?

从直觉上讲,AMS算法仅指示是否已经通过了要素,而实际上没有计算多少次,这是有道理的。尽管我不确定这是否正确。

此外,我不确定为什么首先需要草图。为什么不仅仅拥有一个普通的字典,该字典每次元素哈希到字典中的某个值时都会增加一个计数器?

希望如此。谢谢

1 个答案:

答案 0 :(得分:0)

这两种方法都是为了解决与保留词典中实际不能容纳的更多元素有关的问题。您可能无法执行此操作,但是可以以一定的错误率解决相关问题。

AMS草图试图解决正确估计各种聚合统计信息的问题。例如频率平方的和。

计数草图试图解决正确估计单个计数的问题。因此,您可以随时采用可能已经看到的任何特定值,并估算出您看到该次数的次数。这个估计是无偏见的,可能很高也很低。

最小计数草图类似于计数草图,不同之处在于它提供了您查看次数的上限。 (“最小”指的是您在算法内部获得的最小。)