[发明专利]一种基于局部敏感哈希的聚类索引方法及系统有效
| 申请号: | 201310652980.9 | 申请日: | 2013-12-05 |
| 公开(公告)号: | CN103631928B | 公开(公告)日: | 2017-02-01 |
| 发明(设计)人: | 谢洪涛;王鹏;徐克付;谭建龙 | 申请(专利权)人: | 中国科学院信息工程研究所 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立 |
| 地址: | 100093 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 局部 敏感 索引 方法 系统 | ||
技术领域
本发明涉及信息过滤技术领域,特别是涉及一种基于局部敏感哈希(Locality Sensitive Hashing,简称为LSH)的聚类索引方法及系统。
背景技术
以下是本领域中的一些名词解释,其使用范围仅限于本发明:
哈希桶(HashBucket):哈希表中同一个位置可能存有多个元素,以应对哈希冲突问题,这样,哈希表中的每个位置表示一个哈希桶。
最近邻点:最近邻搜索是一个在尺度空间中寻找最近邻点的优化问题,即在尺度空间M中给定一个点集S和一个目标点q∈M,在S中找到距离q最近的点,该点即为最近邻点。
随着互联网的飞速发展,互联网上的图像数量呈现几何级数增长,比如Facebook当前的图像数量就已经达到150亿张,而且还以每天1亿张的数量在增加。伴随着网上图像信息的快速增长,随之而来的问题是图像内容良莠不齐,所以需要进行管理。通过基于内容的图像过滤可以实现对图像的管理。图像过滤需要对图像进行描述,生成的特征描述符一般都是高维向量,如果不使用索引直接进行蛮力匹配,结果将是无法想像的,无法实现实时性。所以索引对于图像过滤是不可或缺的,而且过滤的效率直接由索引所决定。近些年来,为了提高匹配速度提出了近似最近邻索引方法。就是牺牲部分精度以换取速度的大幅提高,而局部敏感哈希索引方法(LSH)是当前最成功的近似最近邻方法。但由于数据集分布的不规则性,导致了数据点在局部敏感哈希表中分布不均匀,同时原始的局部敏感哈希方法是对全部数据集总体进行哈希映射,从而导致匹配的速度受到限制和匹配性能对数据集分布的不均匀性比较敏感。已经有一些论文从优化局部敏感哈希参数的角度来提高哈希函数对数据集的适应性,但由于需要哈希函数适应数据集致使哈希函数的选取的随机性受到限制,同时由于还是对整个数据集进行哈希映射和查询,所以查询匹配速度并未较原始的LSH有所提高。
因此,本发明提出了一种基于LSH的聚类索引方法。
发明内容
本发明所要解决的技术问题是提供一种基于LSH的聚类索引方法及系统,用于实现数据集经哈希映射后,在哈希表中分布相对均匀,并且提高查询匹配的速度。
本发明解决上述技术问题的技术方案如下:一种基于局部敏感哈希的聚类索引方法,包括:
步骤1,对数据集进行聚类分析,将数据集分成若干个类,并确定和保存每个类的聚类中心;
步骤2,在每个类中采用局部敏感哈希方法建立哈希表;
步骤3,计算各聚类中心与查询点之间的欧式距离,选择距离最小的多个类作为候选类;
步骤4,计算查询点在每个候选类中的哈希值,根据步骤2建立的哈希表,选出候选类中与查询点哈希值相同的数据点作为候选点;
步骤5,计算候选点与查询点之间的欧式距离,将欧式距离最小的候选点作为查询点的最近邻点。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述对数据集进行聚类分析具体包括:
步骤11,预先确定进行聚类的类别数K,在数据集中随机选取K个数据点,作为聚类中心μj,其中j=1,2,…,K;
步骤12,对数据集中聚类中心以外的数据点,分别计算其与各聚类中心的欧式距离,并将各数据点归入与其欧氏距离最近的类中,并重新计算各类的聚类中心μj;
步骤13,重复步骤12,直到数据集中所有数据点均归入相应的类,且直到聚类中心稳定,并保存每一个类的聚类中心。
进一步,所述步骤12中重新计算各类的聚类中心μj具体包括:重新取各类的几何中心作为其聚类中心。
进一步,所述步骤2具体包括:
步骤21,生成各维服从高斯分布的一个向量r,r的维数与数据点维数相同;
步骤22,计算各数据点的哈希值;
步骤23,将计算所得哈希值,以链表形式存放;
步骤24,将上部分的链表形式转换成混合类型结构存储在连续的存储表里,完成各类对应的哈希表的构建。
进一步,所述步骤2还包括将所有数据点映射到相应哈希表的哈希桶中。
对应地,本发明的技术方案还包括一种基于局部敏感哈希的聚类索引系统,其结构包括聚类分析模块、哈希表构建模块、候选类确定模块、候选点确定模块和最近邻点输出模块:
所述聚类分析模块,其用于数据集进行聚类分析,将数据集分成若干个类,并确定和保存每个类的聚类中心。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310652980.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆的后部车体构造
- 下一篇:基于特殊缆绳的大容绳量储缆绞车





