K近邻算法的几种改进算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

K近邻算法的几种改进算法

K近邻算法(K Nearest Neighbors,KNN)是一种常用的基于距离度量的分类方法。K近邻算法假设整个训练集不仅包含数据集,而且包含每个元组期望的类别标签。实际上,训练数据就成为模型。当对一个新元组进行分类时,必须首先确定它与训练集中的每个元组之间的距离。然后进一步考虑训练集中与新元组相距最近的元组。新元组将被分配到一个类中,这个类包含了K个最近元组中的最多的元组。K近邻算法优点是事先并不要求知道待分样本的分布函数,因此具有直观、无需先验统计知识、无师学习等特点,从而成为非参数分类的一种重要方法。

但是K近邻算法也具有自身的缺点,由于k一最近邻分类器认为每个属性的作用都是相同的(赋予相同权值),这样在属性集包含有许多不相关属性时,就会误导分类过程,也就是说,K近邻算法易受噪声影响,尤其是样本点中孤立点的影响,同时K值的选取也会影响到分类结果.因为K值的选取是根据每类样本的数目和分散程度选取的,对不同的应用选取的K值也不同。

针对K 近邻算法存在的缺点,并结合实际需要,本文列举如下几种基于K近邻算法的改进方法。

(1)K近邻改进算法

采用组合分类器的方法。组合分类器的方法有很多,其中包括投票法,非投票法,动态法和静态法等等。这里我们采用投票法。投票法起源于贝叶斯学习理论。贝叶斯学习理论规定为了取得最大的预测

精度,在假设空间使用所有可容许的方法而不是只使用一种学习方法,对每种方法利用投票法给出权重。在机器学习领域提出了一些基于Voting方法的算法,如uniform voting法,就是所有的基分类器对最后的分类有同样的权值。另外一个这样的方法是weighted voting法,每一个基分类器有一个相关的权重。该权重可以随时间变化。利用简单投票(uniform voting法),通过随机属性子集组合多个K近邻分类器进行分类过程中,虽然单个分类模型有独立的错误,但整体错误会会随着分类器数目的增加单调减少。K近邻改进算法的思想:随机选择属性子集,构建多个K近邻分类器,然后对未分类元组进行分类,最后将分类器的分类结果按照简单投票法进行组合,得票最多的分类器的结果则成为最终组合近邻分类器的输出。

(2)核K近邻分类法

核K近邻分类算法思想:首先利用一个非线性映射,将原空间中的样本映射到一个高维的核空间中,目的是突出不同类别样本之间的特征差异,使得样本在核空间中变得线性可分(或近似线性可分),然后在这个高维的核空间中进行一般的K近邻分类。在核空间中,待分类的样本变为:

),任意两个样本之间的距离按

计算。其中就是核函数。

(3)应用于模式识别中的一种改进的K近邻法

改进的K 近邻算法解决了如何在未知样本种准确地找到近邻点

的问题,具体如下:定义C代表全体聚类的集合,N代表确定的近邻点的集合,I为最近间隔,P为竞争点集,即可能成为近邻点的集合。

聚类后计算指定点x到每个聚类中心的距离,如图所示,依据这些

距离,聚类C被划分,离x最近的聚类为,下一个距离较近的聚类

为,依次编号。然后将聚类种的所有点添加到P中,计算P中所有点与x的距离,将满足条件的点转移到集合N中,这样紧邻点的搜索区域就可以被大致定位。

(4)超球搜索法

超球搜索法的基本思想是将n维模式空间划分成若干个体积相等的超立方体(称为基元超立方体),并依次进行编码,然后在以待分样本为中心的超球内(由若干个基元超立方体覆盖)进行搜索,逐渐扩大超球半径直至超球内包含K个样本为止。该超球内的k 近邻即为整个空间内的K近邻。该方法通过对特征空间的预组织,使分类得以在以待分样本为中心的超球内进行。超球半径由零开始逐渐增大至超球内包含K个以上模式样本为止。超球搜索法分为两个阶段:第一阶段为组织阶段,即将模式空间进行有效的划分和编码;第二阶段为搜索判决阶段,即找出待识样本的K 近邻。

以上是几种K近邻算法的改进算法,更好的更完善的算法还有待包括大家在内的更多研究人员的共同努力和探索。

参考文献

[1] 王壮等,一种基于近邻搜索的快速K近邻分类算法,《系统工程

与电子技术》,2002

[2]周彦利等,基于核的K近邻法,《航空计算技术》,2006

[3]周而重等,一种改进的K近邻法在模式识别中的应用,《沈阳师范大学学报》,2007

[4] 张宇,K一近邻算法的改进及实现,《电脑开发与应用》,2008

相关文档
最新文档