DSH: Data Sensitive Hashing for High-Dimensional k-NN Search
在许多应用中,需要在多维和高维空间中定位与给定查询点相关的k近邻数据点。因此,为这种搜索提供高效的支持是至关重要的。局部敏感哈希(Locality Sensitive Hashing, LSH)是一种有效的高维相似性搜索哈希方法。然而,由于数据集在空间上的分布不均匀,导致LSH的桶分布不均衡,导致LSH算法性能下降。
本文提出了一种新的高效的数据敏感哈希(Data Sensitive Hashing, DSH)方法来解决这个问题。DSH改进了哈希函数和哈希族,与目前大多数以索引和查询策略为主的哈希方法是正交的。DSH利用数据分布,能够直接保持最近邻关系。给出了DSH算法的理论保证,并通过实验验证了算法的有效性。
一研究问题:
1)对于k-NN搜索,LSH在均匀数据分布环境下表现良好,可以推导出高质量的r。当数据有偏差时,k-NN对之间的距离可能会有很大的差异,使用一致的r来定义所有相似点是不够的。
2)在索引级别,我们看到哈希是不平衡的,其中一些桶是空的,而一些桶包含太多的点。
二.研究内容
DSH的基本思想是对数据点进行哈希,使得kNN对(单向或双向)发生碰撞的可能性比非k- nn对高得多。它遵循与LSH相似度搜索相同的过程,关键差异在于对应的哈希族。与具有大概率将距离r内的对象哈希到一起的随机投影相比,我们的哈希家族需要具有大概率将k-NN对哈希到一起。
为了找到这样的哈希族,我们从数据中学习。由于我们期望每个k-NN对在大多数散列函数中发生碰撞,因此对散列族的需求可以表示为一个强大的分类器。显然,在分离所有非k-NN对的同时,单一的散列函数并不能保护所有的k-NN对。使用谱技术,我们可以在保留k-NN对的同时削减其他的k-NN对。自适应boosting[8]算法是一种利用一组弱分类器生成强分类器的有效算法。因此,我们将哈希函数族作为强分类器,哈希函数族中的每个哈希函数作为弱分类器。我们采用自适应的boosting技术来确保k-NN关系在理论上得到大多数哈希函数的保护。
DATA SENSITIVE HASHING
介绍了数据敏感哈希(Data Sensitive Hashing, DSH)的基本概念和原理,提出了DSH-basic和DSH-relaxed两个变种哈希族
SH FAMILY GENERATION
我们首先学习好的原子散列函数,然后使用boosting来获得更好的散列函数集合,就像我们在本节中描述的那样。
DSH的原理是利用分布知识,而不是根据特定点调整哈希函数。基于查询分布,我们只寻求采样查询的DSH族的性质。每个抽样查询都应该达到高查全率和高效率。当查询分布难以估计时,仍然可以使用均匀查询分布来覆盖所有潜在的查询。在实验部分,我们发现得到的结果对查询分布或k的值不是很敏感,但是它们强烈地依赖于数据分布。
1)Single Hash Function Optimization
2)Adaptive Boosting for DSH-basic
当权重被指数级调整时,总权重也会指数级降低。经过对数步数后,总权重降低到小于单个示例的初始权重,此时每个示例的权重都小于其初始权重,因此分类良好。