机器学习算法:k近邻法(k-NN)

本文详细介绍了k近邻(k-NN)算法,包括k近邻模型的三要素:距离度量、k值选择和分类决策规则。讨论了k=1的最近邻法,并提及k近邻法在训练和预测阶段的特点。还探讨了kd树在k近邻算法中的应用,用于提高搜索效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分类与回归算法,多分类。

三个基本要素:K值的选择,距离度量,分类决策规则。

1 k近邻算法(分类)


最近邻算法:k=1的k近邻法。即对于输入的实例点x(特征向量),最近邻法将训练数据集中与x最邻近点的类作为x的类。

k近邻法没有显示的学习过程。(“懒惰学习”:训练阶段仅仅保存训练样本,收到测试样本后再进行处理。)

1.1 k近邻模型

1.1.1 模型

在三要素确定的情况下,根据每个训练实例点,对特征空间进行划分。

(对每个训练实例点,距离该店比其他店更近的所有点组成的区域叫做单元)

1.1.2 三要素

1.1.2.1 距离度量


由不同距离度量所确定的最近邻点是不同的。

1.1.2.2 k值的选择
k值过小,模型越复杂,近似误差较小,估计误差增大。越易过拟合。
k值过大,模型越简单,近似误差越大,估计误差减小。
在应用中,k值一般取一个比较小的数值。
1.1.2.3 分类决策规则
一般选择多数表决,即由输入实例的k个邻近的训练实例中的多数类决定输入实例的类。
误分类率:
要使误分类率最小即经验风险最小,所以多数表决规则等价于经验风险最小化。

1.3 k近邻法的实现:kd树

如何对训练数据进行快速k近邻搜索?
(1)线性扫描:计算输入实例与每个训练实例的距离。不可行。
(2)kd树方法

1.3.1 构造kd树

kd树是二叉树,表示对k维空间的一个划分。




1.3.2 搜索kd树



如果实例点是随机分布的,kd树搜索的平均计算复杂度是O(logN),这里N是训练的实例数。kd树更适用于训练实例数远大于空间维数时的k近邻搜索。
当空间维数接近训练实例数时,它的效率会迅速下降,几乎接近线性扫描。

2 k邻近算法(回归)

在回归算法中,通常采用“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均,距离越近的样本权重越大。

参考文献:
【1】统计学习方法,李航
【2】机器学习,周志华


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值