【机器学习】快速入门K近邻算法

本文详细介绍了KNN算法的工作原理,包括K值选择、距离度量(如欧氏距离和闵可夫斯基距离)以及决策规则(多数表决法和加权平均)。还展示了KNN在分类和回归预测中的应用,以及编程实现中的关键步骤,包括KDTree的使用。文章最后讨论了KNN算法的优点和缺点,如计算复杂度和内存需求。

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

KNN直观解释

image.png

KNN算法原理

K近邻算法(KNN).png
• K近邻(K-nearst neighbors, KNN)是一种基本的机器学习算法,所谓k近邻,就是 k 个最近的邻居的意思,说的是每个样本都可以用它最接近的 k 个邻居来代表。比如:判断一个人的人品,只需要观察与他来往最密切的几个人的人品好坏就可以得出,即“近朱者赤,近墨者黑”;KNN算法既可以应用于分类应用中,也可以应用在回归应用中。
• KNN在做回归和分类的主要区别在于最后做预测的时候的决策方式不同。KNN在分类预测时,一般采用多数表决法;而在做回归预测时,一般采用平均值法
• 1. 从训练集合中获取K个离待预测样本距离最近的样本数据;
• 2. 根据获取得到的K个样本数据来预测当前待预测样本的目标属性值。
image.png

一个案例了解KNN

image.png

  • 我们标记电影的类型:爱情片、动作片

  • 每个电影有两个特征属性:打斗镜头、接吻镜头

  • 预测一个新的电影的电影类型

  • 第一步:将训练集中的所有样例画入坐标系,也将待测样例画入

image.png

  • 第二步:计算待测分类的电影与所有已知分类的电影的欧氏距离

image.png

  • 第三步:这些电影按照距离升序排序,取前k个电影,假设k=3,那么我们得到的电影依次是 《He’s Not Really Into Dudes》、《Beautiful Woman》和《California Man》。 而这三部电影全是爱情片,因此我们判定未知电影是爱情片。

KNN三要素

image.png
在KNN算法中,非常重要的三个因素:
K值的选择、距离的度量、决策规则
K值的选择:对于K值的选择,一般根据样本分布选择一个较小的值,然后通过交叉验证来选择一个比较合适的最终值;当选择比较小的K值的时候,表示使用较小领域中的样本进行预测,训练误差会减小,但是会导致模型变得复杂,容易过拟合;当选择较大的K值的时候,表示使用较大领域中的样本进行预测,训练误差会增大,同时会使模型变得简单,容易导致欠拟合;
距离的度量:一般使用欧氏距离(欧几里得距离);

闵可夫斯基距离本身不是一种距离,而是一类距离的定义。对于n维空间中的两个点x(x1,x2,…xn和y(y1,y2,……yn),x和y之间的闵可夫斯基距离可以表示为:

dxy=∑k=1n(xk−yk)pqd_{xy}=\sqrt[q]{\sum_{k=1}^{n}(x_{k}-y_{k})^p}dxy=qk=1n(xkyk)p

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值