论文部分内容阅读
近年来,随着互特网技术的快速发展,多媒体数据诸如文本、图像、视频等数据已呈现爆炸性增长的趋势。如何在海量的多媒体数据中搜索到目标数据是计算机科学研究领域的一个热点问题。由于在实际应用中,多媒体数据一般通过其特征数据表示,而这些特征表示往往是高维向量数据。此时传统的基于空间划分树、聚类划分树等索引技术的检索方案,并不能很好地应对这类海量高维数据,且面临着效率低下的问题。针对海量高维数据的近邻查询,一种主流的解决思路是把数据映射为二进制码,其主要原因是二进制码具备存储代价低、汉明距离计算快等特性。主流的研究工作包括局部敏感哈希、乘积量化、ITQ、K均值哈希等。不过,二进制表示本身也有一些问题:首先,如何使得二进制码表示能够保持原始数据之间的空间近邻结构;其次,如何利用尽量少的二进制码位数来保持尽量高的检索性能;再次,当数据的规模太大直接进行汉明距离匹配效率过低时,如何利用二进制码作为索引,给出海量高维数据的高效索引及查询方案等。针对海量高维数据的二进制表示如何索引问题,本文提出了一种新的索引结构及近邻查找算法,即基于多哈希表的索引及查询算法。首先,我们通过度量不同哈希位之间的独立性,选择最优的哈希位分组方案。由于哈希位之间的组合数是几何数量级的,我们提出了近似求解的方法来构建多个哈希表。其次,对于原始数据集中的数据点,进行离线索引的构建。再次,对于给定查询点,我们在多个哈希表中分别搜索查询点近邻,并提出了近邻查询扩展和优化方法。最后,我们结合当前主流的大数据计算框架Spark,讨论了算法的并行实现。为了评价多哈希表索引及查询算法的性能,我们在多个数据集包括公开数据集和合成数据集上,进行了大量的数值实验,并且和一些主流的哈希及索引算法进行了对比分析。数值实验说明,相比于其它算法,论文提出的算法在检索的准确率、召回率、MAP值方面具备一定的优势。