数据挖掘之lsh minhash simhash

本文介绍了在用户行为分析中,如何利用LSH(局部敏感哈希)、minhash和simhash算法高效计算大规模用户间的相似度。通过举例说明,解释了这些算法如何降低计算复杂度,同时保持对相似用户对的识别,从而解决亿级用户规模下的用户相似度计算问题。
摘要由CSDN通过智能技术生成

在项目中碰到这样的问题:

互联网用户每天会访问很多的网页,假设两个用户访问过相同的网页,说明两个用户相似,相同的网页越多,用户相似度越高,这就是典型的CF中的user-based推荐算法。

算法的原理很简单,只要两两计算用户的相似性,针对每个用户,获取最相似的K个用户即可。

但是在实际的工程上,假定用户规模在亿的规模N,计算复杂度为N*N,即使是分布式,也是非常可怕的复杂度。

考虑一下,我们是不是真的需要计算所有用户之间的相似性?其实我们只需要计算和用户A最相似的K个用户即可,如果已知B和A一定不相似,那么就没有必要计算,这就是LSH的思想。

 

LSH:local sensitive hash,局部敏感哈希,关注可能相似的pair,而非所有的pair,这是lsh的基本思想。

 

举个例子:

用户user1 访问过 url1,url2

用户user2访问过

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值