kNN算法分析 - 范文中心

kNN算法分析

02/09

kNN算法分析

K最近邻(k-Nearest Neighbor,KNN)分类算法可以说是最简单的机器学习算法了。它采用测量不同特征值之间的距离方法进行分类。它的思想很简单:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

比如上面这个图,我们有两类数据,分别是蓝色方块和红色三角形,他们分布在一个上图的二维中间中。那么假如我们有一个绿色圆圈这个数据,需要判断这个数据是属于蓝色方块这一类,还是与红色三角形同类。怎么做呢?我们先把离这个绿色圆圈最近的几个点找到,因为我们觉得离绿色圆圈最近的才对它的类别有判断的帮助。那到底要用多少个来判断呢?这个个数就是k了。如果k=3,就表示我们选择离绿色圆圈最近的3个点来判断,由于红色三角形所占比例为2/3,所以我们认为绿色圆是和红色三角形同类。如果k=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。从这里可以看到,k的值还是很重要的。 KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。因此可以采用权值的方法(和该样本距离小的邻居权值大)来改进。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。

总的来说就是我们已经存在了一个带标签的数据库,然后输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似(最近邻)的分类标签。一般来说,只选择样本数据库中前k个最相似的数据。最后,选择k个最相似数据中出现次数最多的分类。其算法描述如下:

1)计算已知类别数据集中的点与当前点之间的距离;

2)按照距离递增次序排序;

3)选取与当前点距离最小的k个点;

4)确定前k个点所在类别的出现频率;

5)返回前k个点出现频率最高的类别作为当前点的预测分类。


相关内容

  • 各种算法介绍
    各种分类算法比较 最近在学习分类算法,顺便整理了各种分类算法的优缺点. 1决策树(Decision Trees)的优缺点 决策树的优点: 一. 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义. 二. 对于决策树,数据 ...
  • 排序比较次数的数据结构分析
    排序 排序问题的输入是一个线性表,该线性表的元素属于一个偏序集:要求对该线性表的元素做某种重排,使得线性表中除表尾外的每个元素都小于等于(或大于等于)它的后继. 设R 为非空集合A 上的二元关系,如果R 满足自反性(对于每一个x ∈A ,( ...
  • 十大经典数学模型
    十大经典数学模型 1.蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,是比赛时必用的方法) 2.数据拟合.参数估计.插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而 ...
  • 社交网站热点话题发现
    [摘要] 微博的迅猛发展,带来了另一种社会化得新闻媒体新形式,随着社交网络的不断发展, 国外的推特和国内的新浪微博.腾讯微博, 已经成为消息发布的重要平台.微博内容不仅包含大量的文字信息, 也包括了很多无话题表达能力的特殊符号.表情符号.微 ...
  • 上好"算法初步"
    摘 要:算法初步这一章是新课程改革以后,在高中新增加的一章,是数学及其应用的重要组成部分,是计算科学的重要基础,算法的应用是学习数学的一个重要方面,在教学时应当充分使用教科书提供的典型实例,让学生在解决具体问题的过程中学习一些基本逻辑结构和 ...
  • 算法设计与分析
    阶乘 Public static int factorial (int n){ If (n==0) return 1; return*factorial(n-1); } Hanoi Public static void hanoi(int ...
  • 时间复杂度的计算
    时间复杂度的计算 学习数据结构时,觉得时间复杂度计算很复杂,怎么也看不懂,差不多三年之后,还是不懂,马上就要找工作了,赶紧恶补一下吧: 首先了解一下几个概念.一个是时间复杂度,一个是渐近时间复杂度.前者是某个算法的时间耗费,它是该算法所求解 ...
  • 东南大学数据结构 93-20**年
    东南大学93考研题 注意事项 : (1) 答卷上需写清题号,不必抄题 (2) 描述可用你熟悉的一种类高级语言,如类Pascal ,所用主要数据结构及变量的意义须加以注释.必要时算法中应加注释 . 一.回答下列问题 : (共 35分) l 与 ...
  • 视频监控智能分析技术应用分析
    视频监控智能分析技术应用分析 一.概述 在视频监控飞速发展的今天,海量视频画面已经大大超过了人力有效处理的范围.而智能视频分析技术极大地发挥与拓展了视频监控系统的作用与能力,使监控系统具有更高的智能化,大幅度降低资源与人员配置,全面提升安全 ...
  • 连续型模糊控制的外环功率控制算法
    第32卷第7期2010年7月 电子与信息学报 Journalof Vbl.32No.7Jul.2010 Electronics&InformationTechnology TD.SCDMA中基于连续型模糊控制的外环功率控制算法 孙毅 ...