机器学习系列之——Knn算法 kd树详解

本文详细介绍了Kd树(k-dimensional tree),一种用于k维空间中实例点快速搜索的二叉树结构。Kd树通过不断选择最大方差维度进行划分,构建平衡的树结构,有效减少了knn算法在大数据集上的计算量。文章通过实例解释了Kd树的构建过程和最近邻查找算法步骤。
摘要由CSDN通过智能技术生成

关于knn算法,对特征空间进行划分的方法为计算新的输入实例与训练实例之间的距离,因为在特征空间中2个特征实例的相似程度可以用距离来表示。一般我们采用的是欧式距离,也就是说每个新的输入实例都需要与所有的训练实例计算一次距离并排序。当训练集非常大的时候,计算就非常耗时、耗内存,导致算法的效率降低。以上是对knn算法的简单理解。

kd树(k-dimensional树的简称)
是一种对k维空间中的实例点进行存储以便对其进行快速搜索的二叉树结构。利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量。

kd 树是每个节点均为k维数值点的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间划分为两部分,一部分在其左子树,另一部分在其右子树。即若当前节点的划分维度为d,其左子树上所有点在d维的坐标值均小于当前值,右子树上所有点在d维的坐标值均大于等于当前值,本定义对其任意子节点均成立。

集合(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)。集合(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)。
构建根节点时,此时的切分维度为x,如上点集合在x维从小到大排序为(2,3),(4,7),(5,4),(7,2),(8,1),(9,6);其中值为(7,2)。(注:2,4,5,7,8,9在数学中的中值为(5 +

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值