kNN算法

作者: HowieCheng | 来源:发表于2017-03-29 14:38 被阅读0次

kNN算法大概是机器学习相关算法中最容易理解的算法了。这篇文章的目的大概是介绍一下kNN算法,介绍一下其错误率的推导,以及论文中的精确推导。大概是这三个方面。

kNN算法介绍

kNN(k nearest neighbor)算法的就用下面的图来介绍好了。

kNN

从上图中我们可以看到,图中的有两个类型的样本数据,一类是蓝色的正方形,另一类是红色的三角形。而那个绿色的圆形是我们待分类的数据。

  • 如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3 个点投票,于是绿色的这个待分类点属于红色的三角形。
  • 如果K=5,那么离绿色点最近的有2个红色三角形和3个蓝色的正方形,这5个点投票,于是绿色的这个待分类点属于蓝色的正方形。
    这个算法体现了当前主流机器学习算法的核心,基于统计。
注意

这里需要注意的地方有两个

k的选取

从上图也可以看出来,对于不同的k值,结果可能大不相同,因此,具体选取哪几个值,需要根据你的数据集来确定。

距离度量
  • 曼哈顿距离
  • 欧几里得距离
  • L1距离
  • ...

改进方法

我们看这样一张图,虽然每一类分布相对集中。但是偏离分类中心的点会对结果造成影响。



考虑到这个问题,我们为每个样本的到测试样本的距离增加权重,距离越远权重越低。

错误率推导(大致)

推导过程来自周志华老师的《机器学习》
给定测试样本x,若最近样本为在, 分类器出错的概率就是与z不同的概率。即


假设样本独立同分布,对任意x和任意小的整数 \delta ,在x附近\delt 距离内总能找到一个训练样本。即任意测试样本任意近的距离内总能相应的训练样本z。令


表示贝叶斯分类器的最优分类结果。

即其泛化误差不超过贝叶斯分类器的两倍。(关于贝叶斯分类器,后面的文章再做分析)。

论文中的推导以及介绍

todo

相关文章

  • KNN与K-Means算法的区别

    内容参考:Kmeans算法与KNN算法的区别kNN与kMeans聚类算法的区别 KNN-近邻算法-分类算法 思想:...

  • knn算法

    knn算法 knn算法简介 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法。所谓K...

  • KNN近邻算法总结

    目录 一、KNN近邻算法思想 二、KNN模型三大要素 三、KNN算法实现步骤 四、KNN算法的KD树实现 五、总结...

  • 机器学习笔记汇总

    kNN算法:K最近邻(kNN,k-NearestNeighbor)分类算法

  • 01 KNN算法 - 概述

    KNN算法全称是K近邻算法 (K-nearst neighbors,KNN) KNN是一种基本的机器学习算法,所谓...

  • 利用Python进行数字识别

    思路 通过Python实现KNN算法。而KNN算法就是K最近邻(k-Nearest Neighbor,KNN)分类...

  • 机器学习系列(六)——knn算法原理与scikit-learn底

    KNN算法 本篇将介绍knn算法,knn算法因为思想非常简单,运用的数学知识比较浅显,是非常适合机器学习入门的算法...

  • kNN算法

    一. kNN算法 kNN(k-NearestNeighbor),即k最近邻算法,是机器学习算法中最基础的入门算法。...

  • 机器学习笔记:K-近邻算法(KNN)

    一、介绍 KNN算法称为邻近算法,或者说K邻近算法(kNN,k-NearestNeighbor),分类算法。 KN...

  • 降维与度量学习

    1、kNN kNN算法即k近邻算法,是常用的有监督学习算法。它是懒惰学习的代表算法,没有显式的训练过程。kNN在收...

网友评论

      本文标题:kNN算法

      本文链接:https://www.haomeiwen.com/subject/rwveottx.html