星座匹配之用户特征寻找相似用户

项目背景: 根据用户特征,寻找相似用户;

最开始想法:找到用户特征,使用余弦相似度寻找相似用户;
这个想法很base,不过会遇到一个非常大的问题,就是我这个项目将来是要覆盖全站用户,上亿用户的情况下,两两计算相似度,这个算法的复杂度是n的平方,是很大的,现在的计算资源是不支持的。

在这个时候,我在知乎看到一篇文章,文章的问题是,(Spark 千万级用户相似度计算?)[https://www.zhihu.com/question/265901363]

在这个问题中,我了解到对于大用户量的数据,我们在计算相似度的时候,使用LSH算法。

接下来我在搜索LSH算法的时候,看到了这篇文章规模数据的相似度计算:LSH算法
从这篇文章中,我了解到,当数据量和数据维度非常大的时候,计算相似度,我们使用两种方法来降低计算量,第一种方法是MInHashing 算法,这个算法主要是用来降低数据特征维度,第二种方法是LSH算法,
主要是用来降低用户量太大出现的问题。

对于LSH和minhashing 算法,看到了这样一个文章解释的很清楚minhash算法

在实际应用过程中,我们使用的是python的datasketch

posted @ 2019-05-08 12:55  DUDUDA  阅读(495)  评论(0编辑  收藏  举报