正确的提示信息

扫码打开虎嗅APP

从思考到创造
打开APP
搜索历史
删除
完成
全部删除
热搜词
萌虎招新 #AI有多智能
2020-12-03 14:08

什么是KNN(K近邻算法)?

此稿件为参加萌虎招新的参赛稿件,视频投稿活动正在进行中,详情请戳 萌虎招新


虽然名字中有 NN,KNN 并不是哪种神经网络。它全名 K-Nearest Neighbors K近邻算法,是机器学习中常用的分类算法。


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


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


KNN 中的 K 指的是「K 个」邻居,K=3 就是通过离的最近的 3 个样本,来判断新数据的类别。「大小」和「颜色」是数据的「特征」,苹果和梨是数据的「标签」。计算距离时既可以使用两点之间的直线距离,也就是欧式距离。也可以使用坐标轴距离的绝对值的和,也就是曼哈顿距离。


对于 KNN 来说,K 的取值非常重要,如果 K 的值太小,结果很容易受个例影响;K 的值太大,又会受距离较远的特殊数据影响。K 的取值受问题自身和数据集大小决定,很多时候要靠反复尝试。

KNN 算法能做什么?


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

简单好用的 KNN 同样存在一定的缺点。它的流程是先计算新样本与所有样本之间的距离,按由近及远的顺序排列后,再按 K 值确定分类。因此数据越多 KNN 的计算量越大,效率也越低,很难应用到较大的数据集中。

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系 hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
打开虎嗅APP,查看全文
频道:

别打CALL,打钱

赞赏

0人已赞赏

大 家 都 在 看

大 家 都 在 搜

好的内容,值得赞赏

您的赞赏金额会直接进入作者的虎嗅账号

    自定义
    支付: