什么是KNN(K-Nearest Neighbor)?

01

KNN的简介

   虽然名字中由”NN”,但是KNN并不是哪种神经网络,KNN的英文全称叫K-Nearest Neighbor翻译过来就是K邻近算法,K这里可以理解为邻居,你也可以叫它找邻居算法,是机器学习中常用的分类算法,最初由 Cover和Hart于1968年提出

什么是KNN(K-Nearest Neighbor)?_第1张图片


02

KNN的思想

   “物以类聚、人以群分”,KNN的基础思想很简单,要判断一个新数据的类别,就看它的邻居。

    假设我们要分类水果,现在不知到拿到手上的是梨还是苹果,但通过观察它的大小和颜色,我们找到了它在坐标系中的位置。再看看已经确定的苹果和梨在哪,如果附近的苹果多,我们就认为它是苹果,反之就是梨。

什么是KNN(K-Nearest Neighbor)?_第2张图片

 


03

KNN的重要参数

   K(代表邻居)为3,就表示距离最近的三个样本来判断新数据的类别。大小、颜色是数据的特征,苹果和梨是数据的标签。计算距离的时候,既可以使用两点的直线距离,也可以使用欧式距离,也可以使用坐标轴的距离的绝对值的和(也就是曼哈顿距离)。

什么是KNN(K-Nearest Neighbor)?_第3张图片

 

 

   对于KNN来说,K的取值非常重要,K的值太小,容易受个的影响,K的值太大,容易受距离较远的特殊数据影响。K的取值受问题自身和数据集大小决定(很多时候需要通过反复尝试来确定)。


04

KNN的作用

    KNN可以用来干啥?根据花瓣长度、宽度等特征判断植物类别,将文本转换为分词,统计处理后判断文章的类型。电商、视频网站找到类似的用户,依据他们的选择推荐你可能感兴趣的商品内容.....

什么是KNN(K-Nearest Neighbor)?_第4张图片

 


05

KNN的流程和缺点

    简单好用的KNN也存在缺点。他的流程是流程:先计算新样本与所有样本之间的距离,根据由近到远的顺序排列,根据K值分类。所以KNN数据越多的计算量越大,效率越低,很难运用到较大的数据中。

你可能感兴趣的:(机器学习,人工智能,计算机视觉,目标检测,神经网络)