minhash算法

minhash算法
大数据量计算相似度的时候,我们使用minhash(最小哈希)进行降维,使用LSH算法进行近似查询。

相似性的度量:
使用雅卡尔系数,交集数量除以并集数量。

以文档为例,组成成分为单词。我们将单词量化为数值,那么一个文档的构成可以有一个数值单词表构成,0表示存在,1表示不存在。

我们最初想法是打乱单词的数值代表,由一个单词代表一篇文档,但是这样在大数量的条件下比较复杂。

我们的办法是使用hash函数,对单词对应的序列号进行哈希,每个哈希函数产生对文档产生一个代表值,有多少个哈希函数,一个文档最后就由多少个新的序列号代表。

这样加入,我们一个文档由10000个单词组成,维度是很大的,我们使用128个哈希函数,这样文档的单词维度就变成了128维,大大降低了维度。

我们使用新的序列号维度进行相似性的度量

使用minhash进行降维的合理性在于,两个集合随即一个行排列最小哈希值相等的概率是等于雅卡尔系数的

参考来自这里

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