思想
局部敏感哈希的基木思想是通过一组哈希函数,把相似的数据对象哈希到相同的哈希桶中,使得越相似的数据对象被哈希到相同桶中的概率越高。在查询时,查询的对象经过相同的哈希函数哈希到某些哈希桶中,这些桶中的数据对象构成候选集,这就过滤掉大量的相似概率很低的数据对象。接着对候选集中的数据项逐一计算与查询项的精确距离或相似度,验证其与查询项之间的相似性。该框架称为过滤验证框架(Filter-and-Refine Framework)。局部敏感哈希通过把相似的数据对象哈希到哈希桶中,避免了查询对象与所有数据对象的逐个比较,提高了查询的效率;同时通过少量的精确计算完成相似性的验证,保证查询结果的准确性。
在哈希桶的构造过程中也会出现将不相似的元素装入桶中,而将真正相似的元素排外的情况,这就要求哈希的构造过程是多次的,而不是说一次完成的。
改善LSH的查询质量的方法
1.使用AND构造
2.使用OR构造
局部敏感哈希的种类
1.Minhash
2.Simhash
3.基于p-稳态的哈希函数族
LSH缺点
LSH成功地将高维向量的相似性转化为低维空间的近似相似性问题,尽可能的降低数据的损失保证了数据在低维空间的相似性。但是数据量巨大的时候,为了得到高质量的查询结果,所需的数据维度依旧是很大的,同时还需要消耗掉大量的存储空间来维持哈希表