关于k-NN算法的总结及个人理解

本文介绍了k-NN算法的三个核心要素:k值选择、距离度量及分类决策规则,并探讨了k值选择对过拟合与欠拟合的影响,同时提到了kd树在提高搜索效率上的应用。

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

k-NN算法的三要素:k值的选择,距离度量,分类决策规则

k值的选择
k值选的过小,训练误差会很小,但测试误差会对应增加,这是明显的过拟合现象。k值选的过大,训练误差过大,测试误差也会很大,明显的欠拟合现象。
K近邻法不具有显示的学习过程,也就是没有显示的训练过程,怎么会有训练误差呢?其实从原理上还是挺容易理解的,K近邻法确定后k值大小,距离度量和分类决策之后,数据集本身就可以使用该模型进行误差的计算(这便是训练误差),而测试误差便是加入新的测试数据来估计该不用训练(只用设置超参数)的模型。
当K很小的时候,训练结果对临近点的实例点非常敏感,K越小,结果越是敏感,当K取1时,训练误差下降到0,但测试误差却会反向增加(因为模型容量过高,表达能力太高),则便是K值选太小会产生过拟合的原因。
k值选的过大,相当于用较大领域中的训练实例来进行预测。过大的话,这时与输入实例较远(不相近的)训练实例也会对测设起到预测作用,从而是预测发生错误,个人感觉是因为数据规模不够大(如果数据规模大,K值即使大页不会选择到较远的点),我便认为这是一种数据不够而导致的欠拟合现象,如果理解有误还望见谅。
K值的选择办法:通常采用交叉验证法来选取最优的K值。

距离度量
个人感觉对应于机器学习中损失函数的味道(但又不能直接说是损失函数,因为分类决策规则也有损失函数的感觉)。简单的理解就是如何选择样本之间的“距离”,从而使数据样本集能按自己的标签更好的分类。从而使测试样本能根据这个距离很好的正确预测自己的结果。
分类决策规则
目前多数都会采用多数表决,从数学上分析,多数表决规则等价于经验风险最小化。具体正面可以参看《统计学习方法》中的证明过程。
kd树
Kd树是为了减少计算距离的次数,提高搜索速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值