实现knn时,主要考虑的问题是如何对训练数据进行快速近邻搜索.这点在特征空间的维数大及训练数据容量大时尤其必要.
knn最简单的实现方法是线性扫描(linear scan).这时要计算输入实例与每一个训练实例的距离.当训练集很大时,计算非常耗时,这种方法是不可行的.
为了提高knn搜索的效率,可以考虑使用特殊的结构存储训练数据,以减少计算距离的次数. kd树就是一种方法.
KD树就是K维二叉树
kd树是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构.kd树是二叉树,表示对k维空间的一个划分(partition).构造d树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域.kd树的每个结点对应于一个k维超矩形区域.
KD树是一种查询索引结构,也广泛应用于数据库索引中
KNN的实现——KD树
最新推荐文章于 2024-03-09 21:39:43 发布