@创建于: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∑

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





