kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有啥区别( 三 )


内进行线性搜索。诸如 kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有啥区别
这些距离太远的子空间将被舍去。最后 kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有啥区别
就是最终得到的最近邻。
kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有啥区别

参考文献:
Mohamad Dolatshah, Ali Hadian, Behrouz Minaei-Bidgoli, "Ball*-tree: Efficient spatial indexing for constrained nearest-neighbor search in metric spaces", ArXiv e-prints, Nov 2015.

■网友
个人见解,kd-tree基于欧氏距离的特性:kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有啥区别
balltree基于更一般的距离特性:kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有啥区别
因此:kd-tree只能用于欧氏距离,并且处理高维数据效果不佳。balltree在kd-tree能够处理的数据范围内要慢于kd-tree。
■网友
这一句话两句话可说不清,自己去看吧k-d tree算法【机器学习】K-means聚类算法初探
■网友
看看这篇文章吧 作为补充 k-d tree算法原理及实现 - 磊磊落落的博客


推荐阅读