FNN:利用均值和方差构造欧式距离下界

介绍了一种基于向量均值和方差构建高维点间距离下界的快速近邻搜索方法。该方法通过减少不必要的距离计算,加速线性扫描过程,特别适用于高维空间中的近邻搜索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做NN算法的时候遇到了一个有意思的论文。通过向量自身的均值和方差构建的高维点间的距离下界。实现了快速的线性NN搜索。

文中发现的这一下界公式觉得很有意思,特来详细介绍一下。

背景

高维向量间的欧式距离计算是十分昂贵的。在高维欧式空间进行近邻搜索,最差的算法是线性扫描,一个一个计算欧氏距离,来筛选。快速NN算法的目的是保持线性扫描的性质不变,但是利用一些过滤机制快速过滤掉一些质量较差的邻居,最终昂贵的计算只留给一些无法区分的邻居。

其利用的手段常常就是构造距离下界(lower bound, LB)。具体见如下公式:

dist(xc,q)<LB(x,q)dist(x,q)

其中dist()代表两个点间的欧式距离。q是查询点,xc是当前的近邻候选点(亦即目前为止找到的距离q最近的点),x是当前遍历到的数据点。LB(x,q)表示x,q两点间的距离下界,距离下界一定是小于等于原始距离。

过滤的原理是:如果x,q两点间的距离下界大于当前的近邻半径(即近邻候选点到q的距离),那么x就不再可能是近邻,可以被排除。

这里,大家PK的就是LB的质量。好的LB就是要用更少的计算量实现更大程度地接近原始距离。

基于均值和标准差的LB

论文[1]构造了如下一种下界:

LB(x,y)=ddist2(πx,πy)

其中π是一个二维向量,πx=(μx,δx)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值