Paper摘记-Large Margin Nearest Neighbor Classifiers

来源:互联网 发布:四川广电网络公司性质 编辑:程序博客网 时间:2024/06/16 05:39

作者:Carlotta Domeniconi, Dimitrios Gunopulos, and Jing Peng, Member, IEEE

出处:IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 16, NO. 4, JULY 2005

在Nearest Neighbor中,当维数比较高时,会存在偏见(这种偏见的存在,是因为我们对每一个维都同等对待)。为了保持类条件概率均衡,本文使用了局部自适应度量。

选择一个合适的距离度量公式是关键的。比如在一个二维空间中,有一个椭圆,显然,把长轴方向和短轴方向同等对待是不公平的,短轴方向的权重应该大一些,因为在这个方向上一个小的移动,就可能移出了这个椭圆(改变了类标号)。(这种考虑问题的方式有点类似于Kernel Whitening)。在短轴方向权重大,说明在该方向一个小的移动,在距离度量上,应该是一个大的变化。相当于把短轴方向的距离扩大后,再和长轴方向的一起处理。这样,最终,在K个邻近点中,短轴方向的点相对可能比较少些。

我们使用SVM来挖掘查询点周围邻居的局部信息。我们要在脑子里记住,下面处理的都是2类分类问题。

在二类分类问题中,SVM形成了一个分类边界(boundary),f(x)=0。我们考虑边界上任何一个点d,它的梯度向量垂直于边界。我们来看看,在d周围哪些方向的点,更容易跨越两个边界,直观上,告诉我们,就是梯度方向拥有更多的区分信息(梯度方向,更容易跨越分界线)。所以,越接近梯度方向,我们应该给与越高的权值,因为这个方向上的点不稳定,很容易跑到其它类别中去了,所以我们要少考虑这样的点。

对于一个待分类的点,我们先要找出离他最近的边界点d,我们就用d点的梯度值nd来作为待分类点周围的点分布情况的度量。越接近nd方向,我们给它越大的权值,说明在这个方向上移动,更有可能改变类标号。

然后,我们要给出一个任意方向t与nd的接近程度的度量,一般的考虑是用点积。这边把nd的每一个维都分解出来,绝对值越大的,考虑的权值越大。(可以在二维的情况下,想象一下)。这边定义了两个权值计算公式。这样,我们就可以为每个维得到一个权值。最后的距离计算公式,是个加权后的值。其中一个权值度量公式,引入了一个变量,该变量是随着查询点到边界距离的减少而增加的。这个也是很自然的,若查询点离开边界越远,各个维之间的差别,对结果的影响越小;当查询点离开边界很近时,维之间差别的影响越大。

下面证明带权值的维比起不带权值的,增加了Margin。margin被定义为训练点到分类边界的距离中的最小的一个。证明是通过先证明带权值算法的每个点s到相应d的距离都小于等于不带权值相应的距离。证明很简单,用到了切比雪夫不等式。作者的证明其实还是可以更简化些的。

作者说的本算法的优点:

1.要调的参数只有K一个

2.大量计算是offline做的,只有少部分是online做的。从理论上分析了时间复杂度,优于一些算法。

3.准确率较高

本人不满的地方:

1.本算法基于SVM,所以比单纯的SVM要复杂些,时间复杂也要高些,但得到的分类准确率却没有较大的提高。

2.虽然试验数据表明,平均准确率比较高,但能看出偏差比较大(方差)。

3.说是只调一个参数,但选择SVM时,还是得通过交叉验证选择SVM的参数。

4.实现多类分类问题,还要通过组合这样的二类分类器。K-NN貌似是只要一个分类器就好了,不知道,在和其它算法比较时间复杂度时,如果考虑是多类问题,结果会怎样。(因为我还没有去了解,其它算法是否是直接可以解决多类分类问题,还是也要组合2类分类器才行)。

5.证明过程把简单的东西复杂化了。

6.该算法消除各维偏差的方法肯定不是最优的,还有能提高的地方