实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索。 若逐个计算输入实例和训练数据之间的距离,搜索量过大。因此构建kd树,提高k近邻搜索的效率。
注:kd树的k指的是k维(即维数),k近邻法的k指的是与输入实例最近的k个点,两者不是一个意思。
一、kd树的构造:
(相当于:深度为l根节点为实例点第l维的中位数)
二、搜索kd树:
kd树更适用于训练实例点数远大于空间维数时的K近邻搜索。当空间维数接近训练实例数时,它的效率会迅速下降,接近线性扫描。