NN-search
- 最近邻检索(Nearest Neighbor Search)的简单综述
https://blog.csdn.net/lovego123/article/details/67638789
LSH
- 关于c-ANN https://blog.csdn.net/qq_26304333/article/details/70486035
- LSH(Locality Sensitive Hashing)原理与实现 https://blog.csdn.net/guoziqing506/article/details/53019049
- 数据相似性的度量方法总结 https://blog.csdn.net/guoziqing506/article/details/51779536
- 【E2LSH源码分析】p稳定分布LSH算法初探 https://blog.csdn.net/jasonding1354/article/details/38237353
- Locality Sensitive Hashing ( LSH,局部敏感哈希 ) 详解(转) http://blog.sina.com.cn/s/blog_4ff49c7e0102vl52.html
sk-LSH
(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
- 高维数据密文检索论文阅读 https://cloud.tencent.com/developer/news/224995