本发明专利技术公开了一种基于过滤器的高维数据近似成员查询方法,通过定义新的距离敏感哈希函数支持的新结构分别来表征目标数据集合中的多维数据和待查询的多维数据,不需要重新构造过滤器,能够支持更多的过滤距离参数的近似成员查询,大幅度减少了空间代价,本发明专利技术使用了多个函数组数,且每个函数组数包含多个函数,在最终确认是否目标数据集合Ω的近似成员时使用“与-或”结合的方式进行判断,能够降低过滤器的假阴性率。
【技术实现步骤摘要】
本专利技术涉及一种近似成员查询方法,尤其是涉及一种基于高维数据过滤器的近似成员查询方法。
技术介绍
在很多应用领域中,如果查询数据与目标数据的距离越近,数据的价值就越高。例如,安全官员想要检查某未知的物质(具有某些可检测的高维特征)是否属于清单所列的危险化学品;网络管理员想要知道某用户的行为特征是否有害;摄影比赛裁判想检查提交的照片是否与某一张大型数据库中的照片类似。这些查询都需要判断查询数据与(目标数据)集合中数据的距离。如果是低维的小数据集,可通过线性查找解决,但是对一个海量的高维数据集采用线性查找匹配的话,会非常耗时,很多情况下无法满足实时的需要。为提高处理的速度,可以设置一个高维数据过滤器代表目标数据集合,根据距离过滤掉大部分查询数据,少量剩下的数据可以再通过常规方法进一步处理,可显著提高系统的整体性能。这个过滤器完成的就是近似成员查询(Approximate Membership Query,AMQ),即回答“查询数据是否接近于数据集合中的某个数据”。现有AMQ过滤器主要是结合LSH(距离敏感哈希,Locality-Sensitive Hashing)和Bloom filter(布鲁姆过滤器)技术的,其主要代表有DSBF(Distance-sensitive Bloom filters)和LSBF(Locality-sensitive Bloom filters)。DSBF首次综合LSH和Bloom filter的方法来过滤AMQ查询,其返回组成员的近似查询结果,近似度可采用不同的衡量标准,它可以改善网络和数据库应用程序的速度和空间,从而避免对完整的最近邻查询等代价昂贵的比较操作。LSBF是DSBF的改进,使用LSH函数来构造Bloom filter过滤AMQ查询,LSBF还采用了额外的位向量来降低假阳性率。但是,使用DSBF和LSBF这两个技术来过滤AMQ查询都有一个限制,即他们仅能过滤给定距离的AMQ查询。然而,给定一个合适的距离并不容易,过大或过小的距离值,可能会导致不可接受的查询结果。而一旦过滤器的过滤距离参数固定后就不能改变,如需要同时过滤多个不同的距离值,则需要根据原始数据重新构造过滤器,也即改变过滤距离参数。然而,为节省空间,原始数据一般并不保存。其次,DSBF和LSBF的假阴性率较高。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于过滤器的高维数据近似成员查询方法,在原有的固定过滤距离参数的过滤器的基础上,不需要重新构造过滤器,即能够实现更多的过滤距离参数的近似成员查询。本专利技术解决上述技术问题所采用的技术方案为:一种基于过滤器的高维数据近似成员查询方法,将目标数据集合定义为Ω,并将距离敏感哈希函数H定义为其中t=1,2,…,k,j=1,2,…,L,L为函数组数,k为每一函数组中的函数个数,o是多维数据,at,j是与o维数相同的随机向量,·是点积运算,2θw是距离过滤参数,θ=0,1,2,…,S-1,S为过滤距离的种类数,w是正实数定义的最小距离过滤参数,是下取整运算,然后进行以下步骤的操作:(1)构建一个容量为m,地址为0到m-1的位向量,定义为BMLBF,并设定BMLBF[i]=0,i=0,1,2,…,m-1;(2)对目标数据集合Ω中的任意一个多维的数据oy,用θ=0时的距离敏感哈希函数进行表征,即其中y=1,2,…,n,并在BMLBF中k×L个位置置1,即(3)将待查询的多维数据定义为q,然后用上述的距离敏感哈希函数进行表征,即(4)将第j组的k个哈希值,即分别转换成2进制数据,并在其后接上θ个0成为k个地址,定义为A1,j,A2,j,…,Ak,j;(5)如BMLBF[A1,j],BMLBF[A1,j+1],…,BMLBF[A1,j+2θ-1]中有一个为1,则定义A1,j地址通过;如A1,j,A2,j,…,Ak,j都通过,则定义第j组通过;如果L组中任意一组通过,则确认q是目标数据集合Ω的近似成员。与现有技术相比,本专利技术的优点在于通过定义新的距离敏感哈希函数支持的新结构,分别来表征目标数据集合中的多维数据和待查询的多维数据,不需要重新构造过滤器,能够支持更多的过滤距离参数的近似成员查询,大幅度减少了空间代价。本专利技术使用了多个函数组数,且每个函数组数包含多个函数,在最终确认是否目标数据集合Ω的近似成员时使用“与-或”结合的方式进行判断,也能够降低过滤器的假阴性率。附图说明图1为具体实施例中本专利技术方法与现有技术LSBF方法的假阳性率和假阴性率比较示意图;图2为具体实施例中本专利技术方法虚拟过滤器的错误率示意图;图3为具体实施例中本专利技术方法与现有技术LSBF方法的空间代价比较示意图。具体实施方式以下结合附图实施例对本专利技术作进一步详细描述。我们使用真实手写数字字母识别数据集来评估比较本专利技术的方法和现有的LSBF方法。该数据集包含5,620个数据,每个数据以64维特征代表手写的阿拉伯数字,即,'0','1',…,'9'。特征值范围是0到16的整数。将'0'的数据分为两组,一组共10个数据作为集合Ω,另一组作为测试数据q,以测试假阴性率;另外,取为'1'的10个数据作为集合Ω,其他数据作为测试数据q,以测试假阳性率。实验结果是10000次随机计算的平均值。一种基于过滤器的高维数据近似成员查询方法,将目标数据集合定义为Ω,并将距离敏感哈希函数H定义为其中t=1,2,…,k,j=1,2,…,L,L为函数组数,k为每一函数组中的函数个数,o是多维数据,at,j是与o维数相同的随机向量,·是点积运算,2θw是距离过滤参数,θ=0,1,2,…,S-1,S为过滤距离的种类数,w是正实数定义的最小距离过滤参数,是下取整运算,然后进行以下步骤的操作:(1)构建一个容量为m=2×105,地址为0到m-1的位向量,定义为BMLBF,并设定BMLBF[i]=0,i=0,1,2,…,m-1;(2)对目标数据集合Ω中的任意一个64维的数据oy,用θ=0时的距离敏感哈希函数进行表征,即其中y=1,2,…,10,k=2,,L=3,θ=0,at,j是64维的随机向量,w是正实数定义的最小距离过滤参数,是下取整运算,并在BMLBF中k×L个位置置1,即(3)将待查询的64维数据定义为q,然后用下述的距离敏感哈希函数进行表征,即S为过滤距离的种类数,取S=4;(4)将第1组的2个哈希值,即分别转换成2进制数据,并在其后接上θ个0成为2个地址,定义为A1,1,A2,1本文档来自技高网...
【技术保护点】
一种基于过滤器的高维数据近似成员查询方法,其特征在于将目标数据集合定义为Ω,并将距离敏感哈希函数H定义为其中t=1,2,…,k,j=1,2,…,L,L为函数组数,k为每一函数组中的函数个数,o是多维数据,at,j是与o维数相同的随机向量,其每一维的数据符合标准正态分布,·是点积运算,2θw是距离过滤参数,θ=0,1,2,…,S‑1,S为过滤距离的种类数,w是正实数定义的最小距离过滤参数,是下取整运算,然后进行以下步骤的操作:(1)构建一个容量为m,地址为0到m‑1的位向量,定义为BMLBF,并设定BMLBF[i]=0,i=0,1,2,…,m‑1;(2)对目标数据集合Ω中的任意一个多维的数据oy,用θ=0时的距离敏感哈希函数进行表征,即其中y=1,2,…,n,并在BMLBF中k×L个位置置1,即(3)将待查询的多维数据定义为q,然后用上述的距离敏感哈希函数进行表征,即(4)将第j组的k个哈希值,即分别转换成2进制数据,并在其后接上θ个0成为k个地址,定义为A1,j,A2,j,…,Ak,j;(5)如BMLBF[A1,j],BMLBF[A1,j+1],…,BMLBF[A1,j+2θ‑1]中有一个为1,则定义A1,j地址通过;如A1,j,A2,j,…,Ak,j都通过,则定义第j组通过;如果L组中任意一组通过,则确认q是目标数据集合Ω的近似成员。...
【技术特征摘要】
1.一种基于过滤器的高维数据近似成员查询方法,其特征在于将目标数据集合定
义为Ω,并将距离敏感哈希函数H定义为其中t=1,2,…,k,
j=1,2,…,L,L为函数组数,k为每一函数组中的函数个数,o是多维数据,at,j是与o
维数相同的随机向量,其每一维的数据符合标准正态分布,·是点积运算,2θw是距离
过滤参数,θ=0,1,2,…,S-1,S为过滤距离的种类数,w是正实数定义的最小距离过
滤参数,是下取整运算,然后进行以下步骤的操作:
(1)构建一个容量为m,地址为0到m-1的位向量,定义为BMLBF,并设定
BMLBF[i]=0,i=0,1,2,…,m-1;
(2)对目标数据集合Ω...
【专利技术属性】
技术研发人员:陈叶芳,钱江波,陈华辉,
申请(专利权)人:宁波大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。