k-NN算法的优点是什么?


k-近邻算法是一种分类方法,它不假设类别成员关系(Y)与预测变量X1、X2、…、Xn之间关系的结构。

这是一种非参数方法,因为它不包含在假定的函数形式(包括线性回归中假定的线性形式)中估计参数。这种方法从数据集中数据预测变量值的相似性中提取数据。

k-NN方法的优点在于其完整性和对参数假设的需求。在存在大量训练集的情况下,当每个类别都以预测变量值的多种组合为特征时,这些方法表现得特别好。

例如,在房地产数据库中,可能存在几组{房屋类型、房间数量、街区、要价等},这些特征可以用来描述房屋销售速度快的房屋与在行业中停留时间长的房屋。

现实中利用k-NN方法的强大功能存在三个困难。

虽然不需要从训练数据中计算参数(就像参数模型(包括回归)的情况一样),但在大型训练集中发现最近邻的时间可能会受到限制。已经实现了多种概念来克服这个困难。主要概念如下:

  • 它可以通过使用降维技术(如主成分分析)在降低的维度上工作来减少计算距离所需的时间。

  • 它可以使用复杂的数结构(如搜索树)来加速最近邻的识别。这种方法通常选择一个“几乎最近的”邻居来提高速度。一个例子是使用分桶,其中数据被组合到桶中,以便每个桶中的数据彼此靠近。

用于限定为大的训练集中所需的多数据随着多个预测变量p呈指数增长。这是因为除非训练集的数量随着p呈指数增长,否则最近邻的预期距离会随着p急剧增加。这种现象称为维度灾难,这是一个与某些分类、预测和聚类方法相关的基本问题。

k-NN是“懒惰学习者” - 耗时的计算被延迟到预测时。对于每个要预测的数据,它只能在预测时计算其与完整训练数据集的距离。这种行为限制了使用该算法同时对多个数据进行实时预测。

更新时间: 2022年2月10日

234 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告