zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

机器学习-有监督学习-分类算法:k-近邻(KNN)算法【多分类】【使用场景: 小数据场景/小样本学习,几千~几万样本】【使用faiss库实现快速计算KNN】

机器算法计算学习数据 实现 快速 分类
2023-09-27 14:20:37 时间

一、K-近邻算法简介

1、K-近邻算法(KNN)概念

KNN可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一,注意KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法Kmeans有点像(Kmeans是无监督学习算法),但却是有本质区别的。那么什么是KNN算法呢,接下来我们就来介绍介绍吧。

k-近邻算法:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
相似的样本,同一特征的值应该是相近的。
k的取值会影响结果。
就是通过你的"邻居"来判断你属于哪个类别。
如何计算你到你的"邻居"的距离:一般时候,都是使用欧氏距离

KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,从这个名字我们就能看出一些KNN算法的蛛丝马迹了。K个最近邻居,毫无疑问,K的取值肯定是至关重要的。那么最近的邻居又是怎么回事呢?其实啊,KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别。听起来有点绕,还是看看图吧。
在这里插入图片描述
图中绿色的点就是我们要预测的那个点,假设K=3。那么KNN算法就会找到与它距离最近的三个点(这里用圆圈把它圈起来了),看看哪种类别多