局部敏感哈希(Locality-Sensitive Hashing, LSH)是一种算法技术,主要用于高维数据的相似性搜索和近似最近邻查询。LSH 的核心思想是通过构建一组哈希函数,确保相似的输入数据经过哈希变换后具有较高的概率会被映射到同一个哈希桶中。LSH 在解决高维数据空间中有效相似性搜索的问题上具有重要应用,尤其是在图像、音频、文档和生物信息等需要快速查询相似项的领域。
Shingling
实际上就是一种OneHot的生成方法,下图展示的非常明白,其中shingle set实际上就是2-gram set,把这个2-gram set经过shuffle得到vocab,上面"Flying fish flew by the space station"中出现过的2-gram就这样被映射成了下图最右侧的one-hot

minhash
就是字面的意思得到最小的hash值。刚才已经得到了一个one hot向量,下图这个one hot向量长度为6,然后把[1,2,3,4,5,6]进行了4次shuffle,分别得到下图中蓝色、红色、绿色、黑色的四个随机排列。这四轮中shingled spare vector为1对应的蓝红绿黑值里面最小的就是对应的signature。举个例子,蓝色min{4,3,2}=2,所以蓝色的signature就是2,其中4,3,2就是shingled sparse vector为1对应的值

LSH
把刚才得到的signature分段,每一段叫做一个band。如果两个向量的其中一个或多个band相同,

最低0.47元/天 解锁文章
1187

被折叠的 条评论
为什么被折叠?



