数据挖掘十大算法翻译——8kNN(k邻近分类)

1 算法描述

机械分级器,记录了所有的数据,而且仅当测试的对象吻合训练对象的所有属性时才能进行分类,他是目前最简单的分类器之一,也是最琐碎的分类器之一。这样做的明显的缺点之一就是很多数据无法进行分类,因为他们不能精确的匹配训练数据。一个更加高明的手电,k邻近分类(KNN),找到k个相互最接近的对象的群,然后把这个群中的具有优势的哪一类作为这个领域的标签。这个方法有三个关键元素:
有标签的对象的集合,例如,一组储存记录,
用来计算对象之间的距离的距离或者相似度量
k的值,最接近的邻居的数量。
为了对没有标签的对象进行分类,这个对象距离有标签的对象的距离会被计算,它的k个最近的邻居会被识别出来,这些最近的另据的类标签在之后就会用于作为这个对象的类标签。

下面的图表展示了邻近分类方法的高层次的总结
这里写图片描述
给定一个训练集D,和训练对象 x=(x,,y,) ,算法计算出z和所有的训练对象 x,yD 的距离(或者相似度),然后得到他的最近经的邻居列表, Dz .(x是训练数据对象,y是它的类别。类似的, x, 是测试对象, y, ,是他的类别)

一旦最近的邻居列表被确定了,测试对象的类别会根据最近邻居大多数的列别来确定:

Majority Voting:y,=argmaxv(xi,yi)DzI(u=yi)

这里的v是类标签,y_i是第i个最近的邻居的类标签,I(·)是一个指示函数,它返回1如果里面的内容为真,否则就返回0;

2 问题

影响KNN的性能有几个关键的问题。一个是k值的选择。如果k值太小,结果对噪声点就会很敏感。另一方面,如果k值太大,邻居就会包含太多其他类别的点。

另一个问题是将类别的标签结合在一个的方法。最简单的方法是多数投票,但是如果最近的邻居跨越了太多区域,并且较近的点对于说明类别更加可靠的情况下就会出问题。一个比较机智的方法,也对k值的选择不是那么敏感的方法就是根据他们的距离来对他们进行加权。这里的权值为距离的平方的倒数: wi=1/d(x,,xi)2 。这样KNN的最后一步就变为了如下的表示;

Majority Voting:y,=argmaxv(xi,yi)Dzwi×I(u=yi)

如何测量距离距离的选择是另一个值得考虑的问题。虽然有很多方法可以用于计算两点之间的距离。最好的计算方法是如果两个对象比较相似,那么他们的距离也会比较接近。这样,举例而言,kNN被用于文档分类的时候,使用余弦测度的效果会比使用欧几里得距离。有的距离测量方法会收到数据高维数的影响。特别地,欧几里得距离在维数比较多的时候效果会变差是众所周知的。同样的,属性有可能经过标准化,从而避免一个属性对分类的影响巨大这种情况。距离而言,假如有一个数据集中包括了人的升高在1.5m-1.8m,和体重从90lb到300lb,以及收入水平从10,000到1,000,000。如果没有标准化的情况下,收入属性会主宰计算的结果,从而影响分类情况。有一些被提出方法试图基于训练数据计算每个不同属性的权重。
除此之外,训练对象本身也可以被赋予权重。我们可以给这的信赖的数据更高的权重和不值得信赖的数据比较低的权重。由Cost和Salzbery提出的PEBLS系统就是一个这样的例子[14].
KNN分类是一个懒的学习者,也就是说,模型不是像饥饿的学习者那样被明确的构建。这样的结果就是,虽然构建模型是很方便的,但是在分类的使用的计算代价是高昂的。一般来所,因为要计算未知类别的点和其他所有类别的点的距离,这样做的付出是高昂的。有一系列方法通过使用数据的结构避免了对所有的点之间的距离进行计算。尤其是对于低纬度的数据而言,可以大大降低计算的复杂程度,同时还能保留分类的准确性。

3 影响

KNN分类不经容易理解而且容易实现。除了简单之外,它也适用于不同情境。特别的,由Cover和Hart[15]所展示的结果表明最邻近的错误在某种特定的合理假设下,小于贝叶斯的两倍。一般的kNN方法的错误渐渐的接近贝叶斯的错误可以被用于估计它。

KNN特别适合多模式或者是一个有多种类别标签的对象。举例而言,在使用表达谱来判断基因的功能的时候,kNN的效果优于SVM。而SVM是一种复杂的多的分类方法。

4 目前和未来的研究

虽然kNN算法和例如有权重的kNN算法和对象有权重的kNN算法之类的变种是相对有名的,kNN的一些更先进的技术却不是那么有名。举例而言,有可能剔除了一些存储的对象之后,kNN分类器的准确性还是比较好的。这被称为“压缩”,这种方法可以大幅提高新的对象的分类效率[35]。除此之外,数据对象可以被移除,从而提升分类的准确率,这个过程被称为“编辑”[88]。在邻近图(最近图,最小旋转树,相对领域图,三角网和Gabriel图)上使用kNN还有可观的工作可以做。最近由Toussaint[79,80],的论文中,强调了邻近图的观点,提供了一个将这三个领域相互结合的综述,这其中说明了这些开放的问题。其他重要的资源包括Dasarathy[16]的论文和Devroye et al[18]的书。最后,在Bezdek[4]的书中能够看到模糊kNN法

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值