k近邻算法之 k值的选择

K近邻算法中,k值的选择至关重要。k值过小可能导致过拟合,容易受异常值影响;k值过大则可能引起欠拟合,样本不平衡会影响预测。通常建议选取奇数k值,如3,5,7。李航博士在《统计学习方法》中提到,小k值增加近似误差,大k值减少估计误差。最优k值可通过交叉验证确定,以平衡近似和估计误差。对于非线性问题,可以使用核方法映射到高维空间。选择k值时,需兼顾训练集与测试集的表现,确保模型泛化能力。
摘要由CSDN通过智能技术生成

k近邻算法之 k值的选择

举例说明:

K值过小:  【过拟合】

​ 容易受到异常点的影响   【如:美人鱼本身就是喜剧片,假如统计的时候记为动作片,则对预测值的影响太大】

k值过大:  【欠拟合】

​ 受到样本均衡的问题  【假如k=6时,再多选《二次曝光》爱情片,此时3个爱情片,3个喜剧片,结果无法判断】【假如k=7时,又再多选了《谍影重重》动作片,此时3:3:1,也无法判断】

【k值一般选择奇数;3,5,7】


【拓展】

K值选择问题,李航博士的一书「统计学习方法」上所说:

1) 选择较小的K值,就相当于用较小的领域中的训练实例进行预测,“学习”近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是“学习”的估计误差会增大,换句话说,K值的减小就意味着整体模型变得复杂,容易发生过拟合;

2) 选择较大的K值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大。这时候,与输入实例较远(不相似的)训练实例也会对预测器作用,使预测发生错误,且K值的增大就意味着整体的模型变得简单。

3) K=N(N为训练样本个数),则完全不足取,因为此时无论输入实例是什么,都只是简单的预测它属于在训练实例中最多的类,模型过于简单,忽略了训练实例中大量有用信息。

在实际应用中,K值一般取一个比较小的数值,例如采用交叉验证法(简单来说,就是把训练数据在分成两组:训练集和验证集)来选择最优的K值。对这个简单的分类器进行泛化,用核方法把这个线性模型扩展到非线性的情况,具体方法是把低维数据集映射到高维特征空间。


近似误差:对现有训练集的训练误差,关注训练集,如果近似误差过小可能会出现过拟合的现象,对现有的训练集能有很好的预测,但是对未知的测试样本将会出现较大偏差的预测。模型本身不是最接近最佳模型。  【过拟合---在训练集上表现好,测试集上表现不好】

估计误差:可以理解为对测试集的测试误差,关注测试集,估计误差小说明对未知数据的预测能力好,模型本身最接近最佳模型。【估计误差好才是真的好】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值