首页 > 其他分享 >局部敏感哈希-Locality Sensitive Hashing-LSH

局部敏感哈希-Locality Sensitive Hashing-LSH

时间:2022-12-12 20:23:36浏览次数:70  
标签:hash band Locality LSH Sensitive 哈希 query com

问题定义

对于一个给定的query,从数据库中召回所有dist<thres的docs。

问题求解

Naive的方法需要O(n)的时间复杂度,LSH只需要O(1)即可实现。

具体来说分为三步:
1)抽取Embedding(LSH中称为Shingling)
2)降维(LSH常用MinHash)
3)LSH

前两步比较简单,也是管用方式,最后一步LSH算法其实思想也比较好想。
即对于降维后的emb,将其划分为k个bands,每个band有m个row。
对于每个band进行hash,任意两个doc如果有>=1个band被分到一个桶中,我们认为他们是相似的。

对于query,我们需要做的就是分band然后hash,最后将同一个桶中所有的doc取出即是最终的答案。

Reference

https://www.bilibili.com/video/BV1SC4y187x1?p=3&vd_source=6e6b2d418dac7b0fac4ea954a9be1106
http://web.stanford.edu/class/cs246/slides/03-lsh.pdf
https://zhuanlan.zhihu.com/p/108181478

标签:hash,band,Locality,LSH,Sensitive,哈希,query,com
From: https://www.cnblogs.com/hyserendipity/p/16976991.html

相关文章

  • 工具5:FinalShell
    FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.设置好要连接的主机输入linux指令,操作电脑命令,比如广播......
  • LINUX漏洞复现之ShellShock漏洞
    简介ShellShock漏洞,中文称为"破壳漏洞",是UnixShell中的安全漏洞在一些网络服务器的部署中,使用bash来处理某些请求,允许攻击者通过低版本的bash执行任意Shell命令......
  • 【大数据】网页相似度-Shingling、MinHash与LSH
    给定一个文档"aroseisaroseisarose",要计算出一个特征用于做网页对比,从而和其他文档计算相似度。Shingling和k-gram一样,按照长度为4进行划分,得到{"aroseisa","......
  • django 解决cannot import name 'ThreadSensitiveContext' from 'asgiref.sync'
    解决cannotimportname'ThreadSensitiveContext'from'asgiref.sync'运行pythonmanage.pyrunserver命令时,如果遇到以下报错:则需要修改asgi.py中的内容,点击......
  • 局部敏感哈希(Locality Sensitive Hashing)和MinHash介绍与实例
    在实际应用中,我们所面对的数据是海量的,并且有着很高的维度。在对数据的各种操作中,查询操作是最常见的一种,这里的查询是指输入一个数据,查找与其相似的数据,那么怎样快速地......
  • FinalShell - SSH工具
    官网:http://www.hostbuf.com/ Windows版下载地址:http://www.hostbuf.com/downloads/finalshell_install.exe  ......
  • FinallShell 连接 centos7失败 各种问题
      百度翻了三个小时各种找方法解决,最后一招解决了n个问题,咳咳咳  把那个还原默认设置点了包治百病什么 Centos7,提示connectionrefused,什么 连接......
  • 发布了我的第一个 Skillshare 课程
    发布了我的第一个Skillshare课程来自与计算机科学完全不同的背景,我经历了学习编码的旅程,最终成为一名专业的软件开发人员。这样的转型之旅是我一生中最好的经历之一。......
  • 达梦CASE_SENSITIVE参数的作用
    简介:  case_sensitive参数用来设置字符串比较是否大小写敏感,用于确定数据库对象及数据是否区分大小写,默认为区分,不可更改。根本目的是为了兼容不同的数据库,从MYSQL和SQL......
  • 推荐一款国产网络管理工具-FinalShell
    FinalShell是一款免费的国产的集SSH工具、服务器管理、远程桌面加速的良心软件,同时支持Windows,macOS,Linux,它不单单是一个SSH工具,完整的说法应该叫一体化的的服务器,网络管......