[发明专利]一种基于多层局部敏感哈希的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搜索时优势十分明显。
技术领域
本发明属于数据分析领域,涉及一种基于多层局部敏感哈希的k最近邻近似查询方法。
背景技术
kNN搜索是数据分析中常用的一种操作,它的目的是从数据集中找出距离查询点最近(即最相似)的k条记录。如果要查找给定查询点的准确kNN结果,则必须遍历整个数据集,计算数据集中每个点与查询点的距离,然后找出距离查询点最近的k个点,这需要搜索整个数据集。如果在高维大规模数据集上执行kNN搜索,获取准确的kNN结果的代价更大。如果需要向用户实时反馈查询结果,进行准确的kNN查询显然不可取,近似kNN搜索技术被提出来加快查询速度,返回kNN搜索的近似结果来及时响应用户的实时查询需求,这在相似图像挖掘、相似文本发现等高维数据的近似最相似数据挖掘应用中经常使用。
局部敏感哈希(Locality Sensitive Hashing,LSH)是一种通过建立哈希索引来快速完成近似kNN搜索的方法。距离较近的原始数据通过局部敏感哈希函数映射之后有更大的可能得到相同的哈希值(映射到相同的哈希桶)。而针对不同的距离(相似度)评估函数,存在不同的局部敏感哈希函数。例如,针对欧式距离的最常用的局部敏感哈希函数如公式(1)所示:
其中o是数据集中的一个来d维数据点,a是一个随机生成的d维向量,其分布满足标准高斯分布N(0,1),b是一个范围在[0,w]之间的实数,w则是LSH中表征分片宽度的实数。其思想就是将一维数轴划分为等长的片段,然后将高维数据映射到分段的数轴上,其中相距较近的点的哈希值很大概率相等。假如两个数据点o1和o2,它们之间的距离为s=|o1,o2|。通过一个随机选择的局部敏感哈希函数h映射之后,o1和o2的哈希值相等的概率为p(s,w),概率p(s,w)的计算方法如公式(2)所示:
其中f2(x)是高斯分布的概率密度函数,且norm(·)表示高斯分布的密度累积函数。
经过LSH映射后,原本相距很远的两个点也有可能被映射到相同的哈希桶(bucket)中,为了降低这种误判的可能性,使用m个哈希函数G(·)={h1(·),h2(·),...,hm(·)}同时对数据进行映射,这样每条记录o经过G(·)映射之后的哈希值为G(o)={h1(o),h2(o),...,hm(o)},G(o)也就是新的哈希签名。假设o1和o2被一个哈希函数h映射到相同的哈希桶的概率为p(s,w),那么利用m个哈希函数同时映射且落入相同哈希桶中的概率如公式(3)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910728763.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据聚合方法和系统
- 下一篇:一种基于区块链的数据处理方法及装置