K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍

本文深入解析k近邻算法(kNN),涵盖算法原理、关键要素、实现方式如kd树,以及Python实现示例。探讨了k值选择、距离度量和分类决策规则,并分析了kNN的优缺点。

@创建于:2020.04.09
@修改于:2020.04.09

1、kNN介绍

kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类决策规则决定。k近邻法1968年由Cover和Hart提出。

k近邻法(k-nearest neighbor, kNN)是一种基本的分类与回归方法;是一种基于有标签训练数据的模型;是一种监督学习算法。

基本做法的三个要点是:
第一,确定距离度量;
第二,k值的选择(找出训练集中与带估计点最靠近的k个实例点);
第三,分类决策规则。

  • 分类 任务中可使用“投票法”,即选择这k个实例中出现最多的标记类别作为预测结果;
  • 回归 任务中可使用“平均法”,即将这k个实例的实值输出标记的平均值作为预测结果;
  • 还可基于距离远近进行加权平均或加权投票,距离越近的实例权重越大。

k近邻法不具有显式的学习过程。它是懒惰学习(lazy learning)的著名代表,此类学习技术在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理。

参考链接:

2、k近邻法的三要素详解

距离度量、k值的选择及分类决策规则是k近邻法的三个基本要素。

如下图,根据欧氏距离,选择k=4个离测试实例最近的训练实例(红圈处),再根据多数表决的分类决策规则,即这4个实例多数属于“-类”,可推断测试实例为“-类”。
在这里插入图片描述参考链接:机器学习(二):k近邻法(kNN)

2.1 距离度量

特征空间中的两个实例点的距离是两个实例点相似程度的反映。K近邻法的特征空间一般是n维实数向量空间 R n R_n Rn。度量的距离是其他 L p L_p Lp范式距离,一般为欧式距离。
L p ( x i , x j ) = ( ∑ l n ∣ x i ( l ) − x j ( l ) ∣ p ) 1 p (1) L_p(x_i, x_j) = (\sum_l^n|x_i^{(l)}-x_j^{(l)}|^p)^\frac{1}{p} \tag1 Lp(xi,xj)=(l

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值