(1)LSH:局部敏感HASH具有保距性,能高概率的将距离接近的数据映射为相同的hash值
改进的LSH方案:LSB,C2LSH,最近的是SortingKeys-LSH(Design by刘英帆),方案的思想是:
1)定义组合hash值间距离的度量规则
2)创建一个基于组合Hash值得顺序关系
3)依据上一步的顺序关系对数据点进行排序
4)彼此接近的数据点会被存到同一个索引文件中,这样可以减少检索时要访问的索引文件数量
SK-LSH的问题在于索引文件是本地存储,所以需要改进到支持云存储,即数据外包。
【方案设计】
(1)数据排序:采用SK-LSH局部敏感hash
1)组合hash值:对数据集中的一个数据点p(如一个视频K),它的组合hash值是:K=G§=(k1,k2,…,ki)=(hash1§,hash2§,…,hashi§);一组hash函数。
2)K的前L个元素称为k的(长度为L的)前缀,pref(K,L)
3)两个数据点p1,p2对应各自的组合hash值K1,K2,它们的L长前缀相等,他们的L+1长前缀不等,那么K1、K2的非前缀长度为:KL(K1,K2)=m-L
4)K1和K2的第L+1个元素间的距离被定义为:KD(K1,K2)=|k(1,l+1)-k(2,l+1)|
5)两个组合hash值得距离:dist(K1,K2)=KL(m-L)+KD(K1,K2)/C(C是一个标准因子)
6)对K1、K2等数据集中的所有点K按照上面规则排序
结论:if Ki