[发明专利]一种基于多层局部敏感哈希的k最近邻近似查询方法在审
申请号: | 201910728763.0 | 申请日: | 2019-08-08 |
公开(公告)号: | CN110489419A | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 张岩峰 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458 |
代理公司: | 21200 大连理工大学专利中心 | 代理人: | 戴风友;梅洪玉<国际申请>=<国际公布> |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于数据分析领域,涉及一种基于多层局部敏感哈希的k最近邻近似查询方法。所述的方法先评估映射到各个哈希桶的数据点数量,根据每个哈希桶中数据点数量的大小确定过载哈希桶和欠载哈希桶,然后对过载哈希桶进一步哈希划分成若干子桶,同时对欠载哈希桶进行合并。对于重划分后仍然过载的子桶再递归进行重哈希,经过多次重哈希后,使多个哈希桶的大小尽量均衡。LSH索引结构就变成了一个多层的类似树状的结构。本发明对初始构建的LSH哈希表进行重构,提升密集区域查询点的kNN搜索效率和稀疏区域查询点的kNN搜索的准确率。多层局部敏感哈希结构中的哈希桶大小分布比较均匀,在其上对倾斜分布大数据进行kNN搜索时优势十分明显。 | ||
搜索关键词: | 哈希桶 哈希 多层 过载 数据点 欠载 子桶 搜索 查询 大小确定 近似查询 密集区域 倾斜分布 数据分析 搜索效率 索引结构 稀疏区域 敏感 大数据 哈希表 最近邻 准确率 递归 构建 映射 重构 均衡 合并 评估 | ||
【主权项】:
1.一种基于多层局部敏感哈希的k最近邻近似查询方法,其特征在于,步骤如下:/n步骤一:采用传统方法构建LSH索引结构;/n采用l组局部敏感哈希函数构建l个哈希表,其中每组包含m个哈希函数,即哈希表中哈希桶的标签长度为m;此为第0层哈希表;/n步骤二:根据用户期望的召回率α和精确率β确定过载桶和欠载桶;/n根据用户期望的召回率α和精确率β可知哈希桶大小S的上限和下限如公式(5)所示:/n
/n当桶的大小低于
时,将该桶确定为欠载桶,而当桶的大小超过k/(β·l)时,将该桶确定为过载桶;/n步骤三:对过载桶进一步用新的LSH参数进行递归的哈希划分;/n将过载桶的数据点根据多个哈希函数映射到多个哈希表中,而不是在一个哈希表中重新划分;/n设一个某过载桶的大小为S,为了保证用户设定的精确率β,那么重新LSH哈希的子桶哈希签名长度mc和哈希表个数lc计算方法如公式(6):/n
/n
/n公式(6)中的p=p(r*,w)的计算方法如公式(2),r*是查询点的kNN的距离,β是用户设定的精确率,
是所有子哈希表中最大的子桶;/n概率p(s,w)的计算方法如公式(2)所示:/n
/n
/n其中f2(x)是高斯分布的概率密度函数,且
norm(·)表示高斯分布的密度累积函数;/n然后在kNN查询时,落入过载桶的查询点也会被多次哈希到多个子桶中,被映射到这些子桶中的所有数据点也将被作为候选kNN返回;当新建哈希表中仍有大桶,则会继续对过载桶进行LSH划分得到第2层哈希表;该过程递归进行,直到整个哈希索引中不存在过载桶为止;/n步骤四:标记欠载桶;/n对于欠载桶,进行标记;/n步骤五:查询处理,确定候选集合;/n用户给定查询点q,定位其对应的在每个哈希表中的哈希桶;/n当定位的哈希桶是指向桶,则将查询点q重新哈希,重哈希的参数与构建该大桶的子表时的参数相同,同时定位q到子表中的各个哈希桶;/n当定位的哈希桶是数据桶,则将桶中的数据点加入到候选点集合;/n当子表中的哈希桶仍然为指向桶,那么重复该过程直到定位到一个数据桶;/n当定位的哈希桶是欠载的数据桶,此时哈希桶中的数据将会全部并入候选集,并同时把临近桶的数据点也加入候选集;/n步骤六:根据候选集确定近似kNN结果;/n步骤五得到的结果是近似kNN搜索的候选集,计算候选集中的点与查询点q之间的距离,挑选出距离q最近的k个点作为最终的近似kNN查询结果。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910728763.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种数据聚合方法和系统
- 下一篇:一种基于区块链的数据处理方法及装置