KNN的优化算法3:Ball-tree

KNN的优化算法3:Ball-tree
1. 原理:
  为了改进KDtree的⼆叉树树形结构,并且沿着笛卡尔坐标进⾏划分的低效率,ball tree将在⼀系列嵌套的超球体上分割数据。也就是说:使⽤超球⾯⽽不是超矩形划分区域。虽然在构建数据结构的花费上⼤过于KDtree,但是在⾼维甚⾄很⾼维的数据上都表现的很⾼效。
dpph法
  球树递归地将数据划分为由质⼼C和半径r定义的节点,使得节点中的每个点都位于由r和C定义的超球内。通过使⽤三⾓不等式来减少邻居搜索的候选点数量的。
倾慕系列
2. 构建猎狗追兔子
  选择⼀个距离当前圆⼼最远的观测点i1,和距离i1最远的观测点 i2,将圆中所有离这两个点最近的观测点都赋给这两个簇的中⼼,然后计算每⼀个簇的中⼼点和包含所有其所属观测点的最⼩半径。不断递归,得到上图c的结果。
3. 查询
cd10
  使⽤ball tree时,先⾃上⽽下到包含target的叶⼦结点(c, r),从此结点中到离它最近的观测点。这个距离就是最近邻的距离的上界。检查它的兄弟结点中是否包含⽐这个上界更⼩的观测点。⽅法是:如果⽬标点距离兄弟结点的圆⼼的距离 > 兄弟节点所在的圆半径 +前⾯的上界的值,则这个兄弟结点不可能包含所要的观测点。否则,检查这个兄弟结点是否包含符合条件的观测点。生化仪
e网打尽
如果:该点的最近距离上确界+兄弟节点的半径 > 该点到兄弟节点圆⼼的距离,则表明构成了三⾓形,两个圆必然相交

本文发布于:2024-09-22 09:46:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/326250.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:兄弟   划分   距离
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议