Data structures 交叉口/联合处的布鲁姆过滤器误报率是否增加?

Data structures 交叉口/联合处的布鲁姆过滤器误报率是否增加?,data-structures,bigdata,probability,data-science,bloom-filter,Data Structures,Bigdata,Probability,Data Science,Bloom Filter,在这方面我没有发现任何东西,所以我希望我的问题能在这里找到答案 习题集: 所有东西都属于带布卢姆过滤器的提升采矿 我有数千个bloom过滤器,最大容量为M,每个过滤器中的项目数量为N 对于这种情况,N在任何情况下都不会在任何阶段达到M 假阳性概率p-0.001% 在我的问题中,我需要从几个到±5个增量交点进行增量运算 像一个∩ B∩ C∩ D 此类操作将针对不同长度的不同集合组合的任意大数(或小数,取决于我的成本函数)执行 A∩ BA.∩ J∩ KT∩ W∩ ... ∩ Z等等 所有接收(新)交

在这方面我没有发现任何东西,所以我希望我的问题能在这里找到答案

习题集:

所有东西都属于带布卢姆过滤器的提升采矿

我有数千个bloom过滤器,最大容量为M,每个过滤器中的项目数量为N

对于这种情况,N在任何情况下都不会在任何阶段达到M

假阳性概率p-0.001%

在我的问题中,我需要从几个到±5个增量交点进行增量运算

像一个∩ B∩ C∩ D

此类操作将针对不同长度的不同集合组合的任意大数(或小数,取决于我的成本函数)执行

A∩ BA.∩ J∩ KT∩ W∩ ... ∩ Z等等

所有接收(新)交叉口作为一个过滤器(BF)∩i) ,将通过联合行动进行合并

BF1 U BF2 U。。。U BFi


问题:

对bloom过滤器的此类操作是否会影响最终组合bloom过滤器(多个交点的并集)的误报率,因为我可能有很多这样的操作

我如何估计我的病例可能的准确性/精确度损失(或者更确切地说是假阳性率增加)


对于相关材料的任何提示或指示,我们将非常感激

下面的讨论假设所有相关的Bloom过滤器都是使用相同的参数(容量和哈希)创建的。如果不是这样,那么你的问题就更难回答了

两个Bloom过滤器,AB的相交将产生一个Bloom过滤器,该过滤器最多具有两个过滤器中较小的条目数。也就是说,如果A的条目少于B,则A的结果∩ B包含的项目不能多于A包含的项目。假设生成的Bloom过滤器使用与A相同的参数(即容量和散列)构造,则结果中的假阳性率不能高于AB中的假阳性率,因为结果中包含的项目不能多于两者中较小的项目

两个Bloom过滤器的并集(再次假设所有过滤器都是使用相同的参数创建的)将始终具有至少与具有最高误报率的Bloom过滤器一样高的误报率。也就是说,如果B的FP率高于A,则A U B的FP率将始终大于或等于B的FP率。原因是,最终生成的布卢姆过滤器的项目数始终至少与两个过滤器中较大的项目数相同

重要的是要理解,当您构建一个Bloom过滤器来容纳给定数量的项目时,目标误报率是指您将那么多项目添加到Bloom过滤器中时的误报率。例如,如果您创建一个Bloom筛选器以容纳FP率为0.0001的1000000个项目,那么在向Bloom筛选器添加1000000个项目后,您可以预期1/10000的误报率。但是如果你只向Bloom过滤器添加100000个条目,那么实际的误报率就会低很多


只要不超过Bloom筛选器的设计容量,误报率就不会超过设计值。

下面的讨论假设所有相关Bloom筛选器都是使用相同的参数(容量和哈希)创建的。如果不是这样,那么你的问题就更难回答了

两个Bloom过滤器,AB的相交将产生一个Bloom过滤器,该过滤器最多具有两个过滤器中较小的条目数。也就是说,如果A的条目少于B,则A的结果∩ B包含的项目不能多于A包含的项目。假设生成的Bloom过滤器使用与A相同的参数(即容量和散列)构造,则结果中的假阳性率不能高于AB中的假阳性率,因为结果中包含的项目不能多于两者中较小的项目

两个Bloom过滤器的并集(再次假设所有过滤器都是使用相同的参数创建的)将始终具有至少与具有最高误报率的Bloom过滤器一样高的误报率。也就是说,如果B的FP率高于A,则A U B的FP率将始终大于或等于B的FP率。原因是,最终生成的布卢姆过滤器的项目数始终至少与两个过滤器中较大的项目数相同

重要的是要理解,当您构建一个Bloom过滤器来容纳给定数量的项目时,目标误报率是指您将那么多项目添加到Bloom过滤器中时的误报率。例如,如果您创建一个Bloom筛选器以容纳FP率为0.0001的1000000个项目,那么在向Bloom筛选器添加1000000个项目后,您可以预期1/10000的误报率。但是如果你只向Bloom过滤器添加100000个条目,那么实际的误报率就会低很多

只要不超过布卢姆过滤器的设计容量,误报率就不会超过设计值