K最近邻

简介

K最近邻(KNN, k-NearestNeighbor)是一种常见的机器学习方法,维基百科解释:

模式识别领域中,最近邻居法KNN算法,又译K-近邻算法)是一种用于分类回归非参数统计方法。在这两种情况下,输入包含特征空间(Feature Space)中的k个最接近的训练样本。

  • k-NN分类中,输出是一个分类族群。一个对象的分类是由其邻居的“多数表决”确定的,k个最近邻居(k为正整数),通常较小)中最常见的分类决定了赋予该对象的类别。若k = 1,则该对象的类别直接由最近的一个节点赋予。
  • 在k-NN回归中,输出是该对象的属性值。该值是其k个最近邻居的值的平均值。

由此我们可知, KNN不仅可以用于分类任务中, 同样也可以将其用在回归问题上。

至于什么是非参数统计方法,虽然维基百科已经给出了解释,但我习惯将他理解为消极学习(Lazy Learning)。好吧,另外一个问题出现了,什么又是消极学习呢,有消极学习一定也会有积极学习吧,以下摘自另一篇博客的解释:

积极学习

这种学习方式是指在进行某种判断(例如,确定一个点的分类或者回归中确定某个点对应的函数值)之前,先利用训练数据进行训练得到一个目标函数,待需要时就只利用训练好的函数进行决策,显然这是一种一劳永逸的方法,SVM就属于这种学习方式。

消极学习

这种学习方式指不是根据样本建立一般化的目标函数并确定其参数,而是简单地把训练样本存储起来,直到需要分类新的实例时才分析其与所存储样例的关系,据此确定新实例的目标函数值。也就是说这种学习方式只有到了需要决策时才会利用已有数据进行决策,而在这之前不会经历 Eager Learning所拥有的训练过程。KNN就属于这种学习方式。

简单理解,积极学习需要训练过程,消极学习不需要训练(时间复杂度为0)过程直接预测就可以

原理(以分类问题为例)

KNN利用的思想是人们所熟知的一句古话,物以类聚,人以群分。他周围一定范围内的样本哪个类别多就认为他是哪个类别。具体过程如下:

  • 计算预判断类别的样本与其他所有样本的相似度(时间复杂度O(n));
  • 将结果按相似度由大到小排序;
  • 取前K个样本,统计其类别,将类别最多的一类记为该预测样本的类别

我们通过一个例子来说明,假设有 两种数据,其分布如下:
[图片上传失败...(image-df2758-1565583011308)]
这时新增了一个未知分类的样本,位置如下,要判断其类别:

image

跟据 KNN “物以类聚,人以群分”的特点, 我们观察其周围的样本的类别以此来推断这个样本的类别。好了看到与他最近的样本的分类是个 ,我们就认为这个样本也是 。如果只看了1个离他最近的样本,那么你的KNN中的K值取的就是1(我们好像知道KNN中的K指的是什么了)。
但是站在上帝视角看,显然这个样本应该被分为 类更合适。 是一个噪声样本。由此我们可以得出一个结论:
K值太小容易过拟合

那么K值应该取什么值比较合理呢,我们再看下另一种极端的情况, 取K=N(N为样本数),如下图:


image

我们算下一共有8个 ,9个 ,少数服从多数,我们认为这个样本属于 。也不合理

K过大或过小都不合适,最合理的K值应该是下边这种情况:

image

这种情况下样本会被正确分为

实际应用当中我们一般使用交叉验证(Cross-validation)的方法取得最优K值,一般不超过20,上限是\sqrt{N}

相似度

上述示例我们默认使用欧氏距离的方法计算两个样本的距离(相似度),即:
dist(A,B)=\sqrt{\sum_{i=1}^n(A_i-B_i)^2}
实际上计算相似度的方法还有很多,具体可以参看我的另一篇文章8种相似度度量方式的原理及实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348

推荐阅读更多精彩内容