LSH局部敏感hash-口头解释版

网上讲LSH这个很多,但是我就没找到有人讲清楚了的,于是写下这篇文本

https://zhuanlan.zhihu.com/p/108181478
这个链接是一知乎大神的对shingling,min-hash和LSH的理解性讲解
前面很容易懂,唯独LSH,让人看不懂,我也看了他推荐的链接,有篇英文pdf讲的这个。
看了几遍,就是没说破LSH怎么用,就在讲特异度和敏感度的问题。
http://web.stanford.edu/class/cs246/slides/03-lsh.pdf
其实就很简单,过程如下。

整个过程

  1. 数据,有10万文档
  2. 对这十万文档进行shingling,可以是n-gram取字符串分片,也可以是分词,就是粒度化。
  3. 建立0-1矩阵,行就是所有文档粒度化的字符串去重排序的集合,列是各篇文档。
  4. min-hash,进行降维,自己建立100个hash,然后对行序号计算hash值,最后计算min-hash,不太明白min-hash的看前面的链接。
  5. 得到hash方法集合和文档的矩阵,行数变少了,文档数没变,文档数也不能变,所以还是只有变行数,于是就有了LSH。
  6. 把行均匀分成多块,也就是几个hash方法一组,这样就有多组了,计算LSH时,就选一组就可以了,计算量就小了。前面文档是解释怎么选择分多少组,让误差小。buckets似乎没什么用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值