kd树简析

一言蔽之,kd树的想法为:

对于目标点A,若点B较之其他点,每个纬度都更接近A,则猜测B接近该点。


kd树构造算法:

方法:共n个纬度,轮次选择纬度作为划分依据(纬度1、纬度2……),重复直至训练样本用完。

结果:将每个空间一分为二,重复划分。最终每个子空间附着一个点。


kd树寻找1-临近:

方法:将点A所划分到的空间k对应点Xk作为初始解,连接两点,以A为球心做球,寻找与球相交的子空间,搜索全部相交的空间(及时更新最小值可适当减少搜索)

问题:如何寻找相交子空间。

对于n维数据,即使回溯n步也不能保证不与剩余空间相交


如图A点所在空间由右部空间划分而成,而右部空间只能包含A 50%方向的搜索。


造成这一现象的原因在于树的结构,临近划分点的数据被划分到了不同的区间,并且随着树向下生长,两子空间的搜索距离继续增长,回溯所需步数增加。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值