Stable Learned Bloom Filters for Data Streams

Stable Learned Bloom Filters for Data Streams

布隆过滤器及其变种是一种优雅的空间高效的概率数据结构,用于近似集合成员查询。最近的研究表明,通过与预训练机器学习模型的结合,可显著降低布隆过滤器的空间成本,称为学习布隆过滤器(LBF)。LBF通过使用分类器来处理部分查询,从而降低了布隆过滤器的空间需求。然而,目前的LBF结构通常以静态成员集为目标。当集合中的成员发生更新时,它们的性能不可避免地会下降,而这种更新需求在现实世界的数据流应用中并不少见,例如重复项检测、恶意URL检查和web缓存。为了使LBF适应数据流,本文提出了稳定学习布隆过滤器(Stable Learned Bloom Filters, SLBF),通过将分类器与可更新的备份过滤器相结合,解决了密集插入工作负载下的性能下降问题。具体地,本文提出了两种SLBF结构:单SLBF (s-SLBF)和分组SLBF (g-SLBF)。对这两种结构的理论分析表明,SLBF的期望假阳性率(FPR)随新成员的加入渐近是一个常数。在真实数据集上的大量实验表明,与在数据流上优化的最先进的(非学习的)布隆过滤器相比,SLBF引入了类似水平的假阴性率(FNR),但产生了更好的FPR/存储权衡

与非学习滤波器相比,LBF的优点是,在静态元素集上,它需要更小的存储空间,但保留了具有竞争力的查询效率和错误率。用于构建备份过滤器的集合SN相对较小,存储训练良好的分类器通常需要更少的空间

Problem Statement

对于这种数据结构,我们考虑两种操作:insert,它将元素x添加到过滤器中;query,它使用过滤器返回元素y的成员测试结果。当应用于元素流时,这样的学习滤波器期望1)实现稳定特性(即,当n→∞时,FPR达到一个非平凡值);2)与在数据流上优化的非学习滤波器(如SBF)相比,在具有竞争力的FPR/FNR水平上消耗更少的存储空间。 

STABLE LEARNED BLOOM FILTER 

1 Single SLBF

为了使原始LBF框架在无限次插入后保持稳定,一个直观的想法是用一个稳定的布隆过滤器(2.3节)替换LBF中的备用滤波器,它是一个标准的BF。如图5a所示,这种结构被称为单一稳定学习布隆过滤器(s-SLBF),其中单一意味着在该框架中有一个备份过滤器。

 

 

 2)Grouping SLBF

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值