amcl 之kd_tree改进算法

Kd-tree在高维数据中查找效率降低,Beis和Lowe提出了BBF算法以提高搜索速度。BBF限制回溯次数并优先访问可能性高的树分支,保证查找速度的同时确保一定精度。算法包括基于BBF的回溯过程,通过优先级队列管理未探索分支,寻找近似最近邻点。
摘要由CSDN通过智能技术生成

Kd-tree在维度较小时(比如:K≤30),算法的查找效率非常高,然而当Kd-tree用于对高维数据(比如:K≥100)进行索引和查找时,就面临着维数灾难(curse of dimension)问题,查找效率会随着维度的添加而迅速下降。

通常。实际应用中,我们经常处理的数据都具有高维的特点,比如在图像检索和识别中。每张图像通经常使用一个几百维的向量来表示,每一个特征点的局部特征用一个高维向量来表征(比如:128维的SIFT特征)。因此,为了可以让Kd-tree满足对高维数据的索引,Jeffrey S. Beis和David G. Lowe提出了一种改进算法——Kd-tree with BBF(Best Bin First),该算法可以实现近似K近邻的高速搜索。

在介绍BBF算法前。我们先来看一下原始Kd-tree是为什么在低维空间中有效而到了高维空间后查找效率就会下降。在原始kd-tree的近期邻查找算法中(第一节中介绍的算法)。为了可以找到查询点Q在数据集合中的近期邻点,有一个重要的操作步骤:回溯,该步骤是在未被訪问过的且与Q的超球面相交的子树分支中查找可能存在的近期邻点。

随着维度K的增大。与Q的超球面相交的超矩形(子树分支所在的区域)就会添加,这就意味着须要回溯推断的树分支就会很多其它,从而算法的查找效率便会下降非常大。

一个非常自然的思路是:既然kd-tree算法在高维空间中是因为过多的回溯次数导致算法查找效率下降的话。我们就能够限制查找时进行回溯的次数上限&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值