机器学习100天(三十二):032 KD树的构造和搜索

Posted 红色石头Will

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习100天(三十二):032 KD树的构造和搜索相关的知识,希望对你有一定的参考价值。

机器学习100天,今天讲的是:KD树的构造和搜索!

《机器学习100天》完整目录:目录

在 K 近邻算法中,我们计算测试样本与所有训练样本的距离,类似于穷举法。如果数据量少的时候,算法运行时间没有大的影响,但是如果数据量很大,那么算法运行的时间就会很长。这在实际的应用中效率很低。

因此,为了最快地进行检索,就提出了一种新的算法:KD树(k-dimensional tree)。KD树是二叉树的一种,是对 k 维空间的一种分割,不断地用垂直于坐标轴的超平面将k维空间切分,形成 k 维超矩形区域。KD 树可以帮助我们在很快地找到与测试点最邻近的 K 个训练点。不再需要计算测试点和训练集中的每一个数据的距离。下面我将以最通俗的语言来介绍。

要完全掌握 KD 树,只要记住两个步骤:一是 KD 树的构造,二是 KD 树的搜索。

一、KD 树的构造

首先我们来看 KD 树的构造,举个例子。二维平面上有 13 个点,分布如图所示。

该 13 个点的坐标为:([6,5], [1,-3], [-6,-5], [-4,-10], [-2,-1], [-5,12], [2,13], [17,-12], [8,-22], [15,-17], [10,-6], [7,15], [14,1])。

首先,第一步,选取一个维度,

以上是关于机器学习100天(三十二):032 KD树的构造和搜索的主要内容,如果未能解决你的问题,请参考以下文章

机器学习复现2.非递归法构造并搜索kd树

机器学习100天(三十六):036 朴素贝叶斯

机器学习100天(三十七):037 朴素贝叶斯-挑个好西瓜!

机器学习100天(三十九):039 朴素贝叶斯-处理连续数据

机器学习100天(三十五):035 贝叶斯公式

机器学习100天(三十四):034 先验概率条件概率