高维向量快速检索方法Locality Sensitive Hashing之一汉明空间和欧式空间实现

本文介绍了高维向量检索的问题,指出传统树索引方法在高维检索中的局限性。重点讲解了近似最近邻(ANN)搜索和Locality Sensitive Hashing (LSH)原理,以及LSH如何在汉明空间和欧式空间中实现。LSH通过使用随机映射哈希函数,提高了高维数据检索的效率,尤其在欧氏空间中的E2LSH方案,适用于各种范数,并能在保持较低错误率的同时提供高效查询。
摘要由CSDN通过智能技术生成
1 高维向量检索问题

高维向量检索主要解决由数据维数增加所引发检索速度急剧下降的的问题。高维空间中数据的特点主要包括以下三个方面:
(1) 稀疏性。随着维度增长,数据在空间分布的稀疏性增强;
(2) 空空间现象。对于服从正态分布的数据集,当维数大约增加到10时,只有不到1%的数据点分布在中心附近;
(3) 维度效应。随着维数的增加,对索引的维护效率急剧下降,并且高维空间中数据点之间的距离接近于相等。

2 树索引方法在高维检索中的缺点

传统的树索引方法,如基于数据划分的索引R-tree、R-tree、SR-tree、k-d tree等和基于空间划分的索引quad-tree、kdb-tree等,在特征维度不高的情况下具有良好的性能,在特征维数足够高的情况下(超过几十维),它们的性能会退化到最原始的顺序查找,这就是所谓的“维度灾难”。树索引方法在高维情况下主要面临着三个困难:
(1) 每次划分只使用了特征向量一个维度的信息,在高维情况下这种数据划分方法效率很低;
(2) 需要某种形状的覆盖对象来表示某个区域,而固定形状的覆盖对象对区域的描述会有偏差。在高维情况下这个偏差会更明显;
(3) 为了获得精确最近邻检索的结果,索引的性能退化到顺序查找的程度。

3 ANN和LSH

由于精确最近邻搜索计算代价高、算法效率低,人们采用近似最近邻搜索方法完成检索的任务。当前,在大规模高维数据集上近似最近邻问题最好的解决方案是位置敏感哈希,它将高维向量映射到低维空间,并且以较大的概率使映射前相近的映射后仍然相近。LSH虽然采用近似的方法,不保证得出精确的结果,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值