前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >机器学习---KNN算法的核心原理和思路分析

机器学习---KNN算法的核心原理和思路分析

原创
作者头像
阑梦清川
发布2025-02-23 14:40:57
发布2025-02-23 14:40:57
1050
举报
文章被收录于专栏:学习成长指南

特此声明:该内容是学习耿直哥的相关机器学习理论,也是文章里面的部分图片素材的来源

1.算法介绍

KNN全称叫做K Nearset Neighbor,翻译之后就是K个最近的邻居;

其实这个KNN是一个思想,在我们的分类问题和回归问题里面都是有所体现的:

首先看一下这个分类的问题:分类问题使用这个思想主要是给我们的未知的个体贴上一个标签,中间的那个白色的圆圈周围:有灰色的,有红色的,那我们的这个未知的个体应该是灰色的还是红色的呢?

这个时候,通过选择不同的l值,我们就可以为这个未知的个体贴上标签:k=3的时候,就是虚线的小圆圈,这个时候,这个未知个体的属性就是红色的,如果k-5,也就是虚线的大圆圈,这个时候未知的个体的属性就是灰色的;

在我们的回归问题里面,和上面的分类问题贴标签不一样,回归问题主要是确定这个未知点的数值,也就是周围是不同的数据,我们需要根据这个k和不同的个体的权重,计算这个未知的个体的具体数值;

2.过拟合和欠拟合

K值的选取会出现这个过拟合和欠拟合的现象:

K值太小就是过拟合,英文叫做overfit,fit是合身,合适的意思,over就是过度的意思,如图所示,这个未知的个体周围基本上都是红色的,但是如果你的这个k=1的时候,他应该是灰色的,这种情况就是过拟合;

右下角的小人是为了从英语的层面去解释这个问题,就是这个小人的裤子太紧了,具体到我们的数据上面,就是这个数据集选择这个范围太小了,所以称为过拟合,这个时候i很容易受到噪声的影响;其实,如果从英语的角度,也就是overfit进行理解,这个时候就很容易明白;

因为初学者很难理解,为什么这个数据选择的很少,但是这个现象称之为过拟合呢,实际上这个就是从我们的英文翻译来的,如果追根溯源,我相信这个overfit并不难理解;

欠拟合,即underfit,使用小人理解,就是裤子太大了,具体到数据上面就是数据的选择范围太大了,其实有些的影响程度很小,基本上就可以忽略,但是我们也考虑进来了,这个就是欠拟合,这个时候的决策的效率很低,因为你受到每一个样本的影响;

3.几种不同的距离

在我们的这个KNN算法里面,因为是最近邻吗,所以这个距离的计算是我们绕不开的,因为这个距离决定了我们是否要选取这个点作为我们的参考点,下面介绍几种不同的距离:

首先是明氏距离,这个根据数学家明可夫斯基来进行命名的,通式如下所示,p=1的时候就是曼哈顿距离,p=2的时候就是欧氏距离,这个欧氏距离就是我们熟悉的距离,也就是我们传统意义上面的距离;

下面的这个上面还是用蓝色这个直线表示的我们的欧氏距离,使用红色的两个直线段表示我们的曼哈顿距离,但是实际上,我们常用的还是我们很熟悉的这个欧氏距离,其他的两个了解即可;

4.特征的归一化处理

为什么要进行特征值的归一化处理:主要是为了让不同的特征对于我们的模型具有一样的影响,这个时候模型同等的对待每一个特征,提高模型的准确性;

下面的这个变换的过程就可以解释这个现象:就是我们的x,y轴相同的距离代表的长度需要是一致的,也就是我们说的这个标度,否则就会对于我们的模型训练产生影响;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.算法介绍
  • 2.过拟合和欠拟合
  • 3.几种不同的距离
  • 4.特征的归一化处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档