美文网首页
最小哈希签名

最小哈希签名

作者: mxylulu | 来源:发表于2018-12-14 17:33 被阅读0次

参考:大佬1|大佬2

主要目的:用于文本查重比较,文档相似度比较。

估计的原理:两个集合经随机排列转换后得到的两个最小哈希值相等的概率等于这两个集合的jaccard相似度(如在两集合n次随机中有a次最小哈希值相等,相等的概率=a/n)【最小哈希的关键+目前不会证明】


$0


这里我们用到的jaccard相似度用于比较有限样本集之间的相似性和差异性。

给定两个集合A、B,jaccard系数定义为A与B交集的大小与并集大小的比值,系数越大相似度越高。

A=∅,B=∅的时候,jaccard=1.

$1


最小哈希首先针对特征矩阵。

比如全集{a,b,c,d,e}.S1={a,d},S2={c},S3={b,d,e},S4={a,c,d}

这个就是特征矩阵。

PS:假设文档为ABCD,可以以2为切割特征,AB,BC,CD。

最小哈希就是对特征矩阵进行行变换,最小哈希值就是变换后行排序下第一个为1的行号。

比如现在h(S1)=a,h(S2)=c,h(S3)=b,h(S4)=a.

具体的使用最小hash算法,将一个特征矩阵进行压缩,即构造签名矩阵,签名矩阵的每一列是n个hash函数的值,并且近似估计原始数据的jaccard的值。

接下来我们通过把行号映射出去来实现伪行排序【也属于一种不断打乱按次序的一种】

$2


模拟计算签名矩阵的方法:

先考虑第0行:可以得到:

一直顺序计算到最后一行,每次只取最小值(找到对应的行比较当前最小哈希值和映射行号的大小):

可以通过签名矩阵估计原始的jaccard相似度。

SIM(S1,S4)=1,而实际相似度为4/6=2/3。以上只是一个估计值。在大规模数据下[多个哈希],估计值和真实值相近。

\zeta 自闭

不知道为啥画的矩阵和公式都没了。改天再补吧

相关文章

  • 最小哈希签名

    参考:大佬1|大佬2 主要目的:用于文本查重比较,文档相似度比较。 估计的原理:两个集合经随机排列转换后得到的两个...

  • 最小哈希签名代码

  • 哈希算法

    哈希算法 - 哈希摘要 - 数字签名/数字指纹 - 防篡改/保护敏感信息 哈希算法是一个单向运算的函数(单向哈希函...

  • 哈希

    哈希算法 哈希摘要 - 数字签名/数字指纹 - 防篡改/保护敏感信息 哈希算法是一个单向运算的函数(单向哈希函数)...

  • LSH(局部敏感哈希)算法

    参考/摘自:minHash(最小哈希)和LSH(局部敏感哈希)[https://blog.csdn.net/liu...

  • ECC数字签名过程

    签名定义 Sig=Fsig(Fhash(m),dA) dA是私钥 m是待签名信息 Fhash是哈希函数 Fsig是...

  • 密码学相关概念总结

    数字签名 数字签名(又称公钥数字签名,英语:Digital Signature) 发送报文时,发送方用一个哈希函数...

  • 区块链学习

    比特币中的密码学 比特币主要应用了密码学中的两个技术:哈希、签名 哈希 哈希函数性质:collision resi...

  • 深入浅出区块链(5)区块链中的加密学

    在区块链中使用了很多加密学算法,包括哈希算法、默克树、数字签名等。在这一节将逐个学习这些知识。 哈希算法 哈希算法...

  • 安全编程基础

    安全编程基础 目录 数据加密 数字签名 哈希算法 数字签名 PKI体系 加密通信 一.数据加密 分类:对称加密,非...

网友评论

      本文标题:最小哈希签名

      本文链接:https://www.haomeiwen.com/subject/hdughqtx.html