KNN算法:找啊找啊找朋友

KNN算法是一种基础的非监督分类方法,通过找到最近的K个邻居进行分类决策。选择合适的K值至关重要,小K值可能导致过拟合,大K值则可能引起欠拟合。K-D树能有效提升搜索效率。KNN中的关键还包括距离度量和多数表决规则。文章提到了数据预处理、K值选择和实际应用案例。
摘要由CSDN通过智能技术生成

如何找朋友

KNN是昨天才刚刚接触到的算法,是一种十分基础的非监督分类算法。
个人认为它的概念最为生动的阐述就是:寻找邻居、投票计数:

想像训练集中的数据构成了一个超大的社会,其中又包含很多很多“人以类聚”的社区(人的本性之复读机)。突然有一天,一个新人(测试数据)打算移民到这个社会中,为了最快地适应到这个社会中,他要做的第一件事就是选择最适合自己社区去定居。最简单的办法就是: 首先,他与社会中的每一个人都接触、交谈一遍(计算欧氏距离或其他距离),找到和自己兴趣最为贴合的K个好朋友。 其次,分析这K个好朋友都是来自哪个社区,然后选择朋友最多的社区(多数表决)去定居。 当然,如果这个新人并非是一个少数服从多数的支持者,又或者他自己有另外更好的决策规则,也可以用。 他可以与社会上每一个人挨个交谈,找自己的好朋友,但这么做的效率实在太低,一个聪明人不应该这么做。更为简单的方法是对整个社会进行一个结构化的划分,根据不同的特征建立一个KD树。比如,已知这个人最喜欢去海边居住,那么他就没有必要再去和一个蒙古人交谈(计算欧氏距离),这么做的时间复杂度是log(N)。

K值如何选择

根据《统计学习方法》:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值