联系我们

AI 101.

什么是knn(k最近邻居)?

mm

更新

 on

什么是k - 最近的邻居(knn)?

k最近的邻居是一个机器学习技术与算法 可用于回归和分类任务. k - 最近邻居审查选择的数据点数量的标签围绕目标数据点,以便对数据点落入的类进行预测。 K-最近的邻居(knn)是一种概念简单而且非常强大的算法,但对于这些原因,它是最受欢迎的机器学习算法之一。让我们深入潜入knn算法,并恰好看它是如何工作的。对KNN的核武器均致力于了解核武器的良好理解,可让您了解knn的最佳和最糟糕的用例。

k-incelt邻居概述(knn)

Photo: Antti Ajanki AnAj via Wikimedia Commons, CC BY SA 3.0 (//commons.wikimedia.org/wiki/File:KnnClassification.svg)

让我们在2D平面上可视化数据集。在图中描绘一堆数据点,沿着小集群中的图表散布。 knn检查数据点的分布,并且根据给出模型的参数,它将数据点分成组。然后分配了这些组。 KNN模型的主要假设是,在彼此附近存在的数据点/实例非常相似,而如果数据点远离另一个组,则它与这些数据点不同。

knn.模型使用图形上的两个点之间的距离来计算相似度。点之间的距离越大,它们的距离越差。有多种方法可以计算点之间的距离,但最常见的距离度量是欧几里德距离(直线中的两个点之间的距离)。

knn是A.监督学习算法,这意味着数据集中的示例必须具有分配给它们/他们的类必须知道的标签。关于knn还有另外两个重要的事情。首先,KNN是非参数算法。这意味着在使用模型时,不会对数据集进行任何假设。相反,该模型完全从提供的数据构造。其次,使用KNN时,数据集没有分裂到训练和测试集中。 KNN在训练和测试集之间没有概括,因此在要求模型被要求进行预测时也使用所有训练数据。

knn算法如何运行

knn.算法通过三个主要阶段进行:

  1. 将k设置为所选的邻居数量。
  2. 计算提供/测试示例和数据集示例之间的距离。
  3. 排序计算的距离。
  4. 获取顶级K条目的标签。
  5. 返回关于测试示例的预测。

在第一步中,用户选择K,并且在渲染关于目标示例的组的判断时,应考虑算法应该考虑多少邻居(有多少周围数据点)。在第二步中,注意模型检查目标示例与数据集中的每个示例之间的距离。然后将距离添加到列表中并进行排序。之后,检查排序列表,返回顶部K元素的标签。换句话说,如果k设置为5,则模型将前5个最近数据点的标签检查到目标数据点。在渲染对目标数据点的预测时,如果任务是a,则会重要回归或者分类任务。对于回归任务,使用顶部K标签的平均值,而在分类的情况下使用顶部K标签的模式。

用于执行KNN的确切数学操作根据所选距离度量而不同。如果您想了解有关如何计算指标的更多信息,您可以读取一些最常见的距离指标,例如欧几里德, 曼哈顿, 和Minkowski..

为什么K的价值

当使用KNN时的主要限制是,在k的不正确的值中,可能会选择k的k值(要考虑的错误数量)。如果发生这种情况,则可以大大返回返回的预测。非常重要的是,当使用KNN算法时,选择K的适当值。您希望为k选择一个值,以最大化模型对未操作数据进行预测的能力,同时减少它所做的错误数量。

Photo: Agor153 via Wikimedia Commons, CC BY SA 3.0 (//en.wikipedia.org/wiki/File:Map1NN.png)

k的较低值意味着knn呈现的预测不太稳定可靠。为了让为什么这么做,考虑我们在目标数据点周围有7个邻居的情况。让我们假设KNN模型正在使用k值2(我们要求它查看两个最接近的邻居以进行预测)。如果绝大多数邻居(七分之五)属于蓝色类,但两个最接近的邻居恰好恰好是红色的,模型将预测查询示例是红色的。尽管模特的猜测,在这种情况下,蓝色将是一个更好的猜测。

如果是这种情况,为什么不仅选择我们可以的最高k值?这是因为告诉模型考虑太多邻居也会降低准确性。作为knn模型考虑的半径增加,它最终会考虑比目标数据点更靠近其他组的数据点,并且将开始发生错误分类。例如,即使最初选择的点在上面的一个红色区域中,如果k被设置得太高,则该模型将达到其他区域以考虑点。使用KNN模型时,尝试了不同的k值,以查看哪个值提供了最佳性能。

knn.优点和缺点

让我们来研究KNN模型的一些优缺点。

优点:

与一些其他监督的学习算法不同,KNN可用于回归和分类任务。

knn.高度准确,使用简单。它很容易解释,理解和实施。

knn.没有对数据做出任何假设,这意味着它可以用于各种各样的问题。

缺点:

knn.存储大多数或所有数据,这意味着该模型需要大量内存及其计算昂贵。大型数据集也可能导致预测需要很长时间。

knn.证明对数据集的规模非常敏感,与其他模型相比,它可以通过无关的功能抛出无关的功能。

k-incelt邻居(knn)摘要

K-CORMATE邻居是最简单的机器学习算法之一。尽管KNN是多么简单,但在概念中,它也是一种强大的算法,可以在大多数问题上给出相当高的准确性。使用KNN时,请务必尝试各种值K,以便找到提供最高精度的数字。