一种基于多特征融合的多哈希表的查询方法
【技术领域】
[0001] 本发明涉及计算机搜索技术领域,尤其涉及一种基于多特征融合的多哈希表的查 询方法。
【背景技术】
[0002] 图片、视频等数据的快速增长给数据索引和搜索带来了极大的挑战。大数据上的 近似最近邻搜索由于其在检索性能和效率的出色表现,在过去数十年中引起越来越多的关 注。基于哈希的最近邻搜索在实践中取得了成功,同时由于其局部敏感的特征,在理论上也 存在可靠的性能保证。
[0003] 基于哈希的最近邻搜索技术有着广泛的应用前景,尤其在实际应用中,为了提高 搜索的整体性能,往往需要建立多个哈希表,并且将探测到的多个哈希桶中的数据作为返 回结果,从而可以整体提高搜索的性能。多哈表的应用包括,但不限于:(1)基于内容的图 像检索,可以对图片特征向量建立哈希表索引加快检索速度;(2)重复网页检测,可以检测 网页、新闻等重复内容,常用方法的有minhash和simhash ; (3)大规模机器学习,可以用来 加速基于最近邻查找的机器学习,如SVM或者稀疏优化等;(4)计算机视觉,可以用于大规 模的手势识别、物体分类等视觉应用;(5)内容推荐,可以加速基于相似内容或者相似用户 的内容协同过滤。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 现有的基于哈希的最近邻搜索技术,为了提高搜索的整体性能,往往需要建立多 个哈希表,并且将探测到的多个哈希桶中的数据作为返回结果,导致内存消耗大,响应时间 长等问题,进而影响查询效率。
【发明内容】
[0006] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或 者减缓上述问题的基于多特征融合的多哈希表的查询方法。
[0007] 根据本发明的一个方面,提供了一种基于多特征融合的多哈希表的查询方法,该 方法包括:
[0008] 训练数据提取多种特征,并生成每种特征的至少一个锚点;
[0009] 根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相 应的锚点图;
[0010] 根据所述每种特征相应的锚点图计算每种特征的相似度量;
[0011] 根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系 数,并更新每种特征的相似度量矩阵;
[0012] 根据学习得到的每种特征的哈希函数和组合系数对任意数据进行哈希编码,并建 立多哈希表,根据所述多哈希表进行数据查询。
[0013] 可选的,所述训练数据提取多种特征,并生成每种特征的至少一个锚点,具体为:
[0014] 训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至少一个锚点。
[0015] 可选的,所述训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至 少一个锚点,具体包括:
[0016] 对训练数据集X中的每个样例Xi提取M种特征i xpl},其中,1彡i彡N,1彡m彡M; [0017] 对每种特征,采用聚类的方式生成至少一个锚点,得到锚点集合U(m),其中,
【主权项】
1. 一种基于多特征融合的多哈希表的查询方法,其特征在于,所述方法包括: 训练数据提取多种特征,并生成每种特征的至少一个锚点; 根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的 锚点图; 根据所述每种特征相应的锚点图计算每种特征的相似度量; 根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系数, 并更新每种特征的相似度量矩阵; 根据学习得到的每种特征的哈希函数和组合系数对任意数据进行哈希编码,并建立多 哈希表,根据所述多哈希表进行数据查询。
2. 根据权利要求1所述的方法,其特征在于,所述训练数据提取多种特征,并生成每种 特征的至少一个锚点,具体为: 训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至少一个锚点。
3. 根据权利要求2所述的方法,其特征在于,所述训练数据提取多种特征,并采用聚类 的方式生成所述每种特征的至少一个锚点,具体包括: 对训练数据集X中的每个样例Xi提取M种特征XjjM ,其中,I < i < N,I < m < M ; 对每种特征,采用聚类的方式生成至少一个锚点,得到锚点集合Uw,其中,
4. 根据权利要求1所述的方法,其特征在于,所述根据所述每种特征的至少一个锚点, 对提取的所述多种特征分别生成每种特征相应的锚点图,具体包括; 根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的 锚点图:
其中,〈i>(m) C [1:K]表示依据核函数KG.)铺点集合Uw中到点x^s(s<<K) 近邻的索引;矩阵Zw通常非常稀疏,它能够刻画数据在流形上的近邻结构,同时由于矩阵 每行和为1,因此,Z w用来近似数据的相似度量矩阵0m) = 其中 Aw= diag(Z WT1)。
5. 根据权利要求4所述的方法,其特征在于,所述根据所述每种特征的相似度量,顺序 学习每种特征的哈希函数和锚点图的组合系数,并更新每种特征的相似度量矩阵,具体包 括: 根据所述锚点图初始化每种特征的相似度量其中,§(m)= z(m)A(m)-lz(m)T5 Λ ? = diag (Z (m) I); 根据多种特征中每种特征的相似度量,顺序学习当前哈希表的哈希函数和锚点图的组 合系数,迭代优化所述当前哈希表的哈希函数和锚点图的组合系数; 更新每种特征的相似度量矩阵; 在当前学习的哈希表小于预设数量时,重复执行所述迭代优化当前哈希表的哈希函数 和锚点图的组合系数的步骤。
6.根据权利要求1所述的方法,其特征在于,所述根据学习得到的每种特征的哈希函 数和组合系数对所有的数据进行哈希编码,并建立多哈希表,并根据所述多哈希表进行数 据查询,具体包括: 对任意数据,根据学习得到的每种特征的哈希函数和组合系数对所述数据进行哈希编 码; 根据所述哈希编码构建多哈希表; 对任意的查询数据,根据所述多哈希表对所述查询数据进行哈希编码,以实现查询数 据对任意数据的查询。
【专利摘要】本发明提供了一种基于多特征融合的多哈希表的查询方法,该方法包括:训练数据提取多种特征,并生成每种特征的至少一个锚点;根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图;根据所述每种特征相应的锚点图计算每种特征的相似度量;根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系数,并更新每种特征的相似度量矩阵;根据学习得到的每种特征的哈希函数和组合系数对任意数据进行哈希编码,并建立多哈希表,根据所述多哈希表进行数据查询。本发明基于多特征融合的多哈希表,实现了快速最近邻搜索,内存消耗小,有效地提高了查询效率和准确率。
【IPC分类】G06F17-30
【公开号】CN104731884
【申请号】CN201510107009
【发明人】刘祥龙, 郎波
【申请人】北京航空航天大学
【公开日】2015年6月24日
【申请日】2015年3月11日