KNN近邻算法总结

目录

一、KNN近邻算法思想

二、KNN模型三大要素

三、KNN算法实现步骤

四、KNN算法的KD树实现

五、总结


一、k近邻法(k-nearest neighbor,k-NN)是一种基本的分类与回归方法。以分类问题为例,k近邻的输入为实例的特征向量,对应于特征向量的点;输出为实例的类别,可以取多类。k近邻法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。因此,k近邻法不具有显示的学习过程k近邻法实际是利用训练数据集对特征向量空间进行划分,并作为其分类的“模型” 。

二维特征空间一个划分

模型三要素

1、距离度量

      a.欧氏距离:也叫欧几里得距离,是最常用的距离公式。在二维空间中,两点间的欧氏距离:

欧氏距离(2维空间)

      同理可得,两点在n维空间中的距离:

欧氏距离(n维空间)

      b.曼哈顿距离:在几何空间中用的较多。以下图为例,绿色代表两点间的欧氏距离,红色和黄色线为两点的曼哈顿距离。所以曼哈顿距离等于两个点在坐标系上绝对轴距总和。公式表示为: 

曼哈顿距离
曼哈顿图示

      c.闵可夫斯基距离:不是一个距离,而是一组距离的定义。对于n维空间的两个点x(x1,x2....xn)和y(y1,y2...yn),x和y两点之间的闵可夫斯基距离为:

闵可夫斯基

       其中p代表空间的维数,当p=1时,就是曼哈顿距离;当p=2时,就是欧氏距离;当p-->\propto 时,就是切比雪夫距离。

       d.切比雪夫距离:就是两点坐标数值差的绝对值的最大值,用数学公式表示为:max(|x1-y1|,|x2-y2|)。

       e.余弦距离:实际上是两个向量的夹角,是在方向上计算两者之间的差异,对绝对数值不敏感。在兴趣相关性比较上,角度关系比距离关系更重要, 因此余弦距离可以用于衡量用户对内容兴趣的区分度。比如:搜索引擎搜索关键词,它还会推荐其他相关搜索,这些推荐的关键词就是采用余弦距离计算得出的。

2、k值选择

     如果K值比较小,就相当于未分类物体与它邻域非常接近才行。这样产生一个问题就是,如果邻域点是个噪声点,那么未分类物体的分类也会产生误差,这样KNN分类就会产生过拟合。

     如果K值比较大,相当于距离过远的点也会对未知物体的分类产生影响,虽然这种方式鲁棒性强,但不足也很明显,会产生欠拟合情况,也就是没有把未分类物体真正分类出来。

     所以K值是个实践的结果,并非事先确定的。在工程上一般采用交叉验证法来取K值。

3、分类决策规则

     k近邻中分类决策规则往往是多数表决,即由输入实例的k个近邻的训练实例中的多数类决定输入实例的类。

    多数表决规则解释如下:如果分类的损失函数为0-1损失函数,分类函数为:

分类函数

    那么误分类概率是

误分类概率

    例如:对给定的实例x\in \chi ,其最近邻的k个训练实例点构成集合Nk(x)。如果涵盖Nk(x)的区域的类别是Cj,那么误分类率是

Nk(x)的误分类率

     要使误分类率最小即经验风险最小,就要使

Nk(x)分类率

     最大,所以多数表决规则等价于经验风险最小化。

三、K-NN算法实现步骤

a、将一个物体表示成向量/矩阵/张量形式(特征工程)。

b、给每个物体打标签。

c、计算两个物体之间的距离(相似度)。

d、 选择合适的K值(k对算法的影响),寻找算法的决策边界。


四、KNN算法的KD树实现

KNN算法在数据量较大的情况下,时间复杂度为O(n),计算量过大。KD树实际就是一种平衡二叉树的数据结构,可将时间复杂度降为O(logn)。


五、总结

    1、k近邻是基本且简单的分类与回归方法。k近邻的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的k个最近邻训练实例点,然后利用这k个训练实例点的类的多数来预测输入实例点的类。

    2、k近邻模型对应于基于训练数据集对特征向量空间的一个划分。k近邻模型中当训练集、距离度量、k值及分类规则确定后,其结果唯一确定。

    3、k近邻三要素:距离度量、k值选择和分类决策规则。距离度量一般用欧氏距离公式,k值是个实践的经验值,k值越小模型越复杂,反之模型越简单。k值的选择反应了对近似误差与估计误差之间的权衡,通常由交叉验证法选择最优的K。常用的分类决策规则是多数表决,对应于风险最小化。

    4、k近邻算法当数据集过大时,时间复杂度高,一般使用KD树(二叉树)来降低时间复杂度。

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