内核化的k最近邻居


12

我是内核的新手,在尝试将kNN内核化时遇到了障碍。

初赛

我使用多项式核:
ķ(X,ÿ)=(1个+⟨X,ÿ⟩)d

典型的欧几里得kNN使用以下距离度量:
d(X,ÿ)=||X-ÿ||

令将x映射到某些高维特征空间。然后,可以用内积表示上述距离度量在希尔伯特空间中的平方: d 2(f (x ),f (y ))= K (x,x)− 2 K (x,y)+ K (y,y)F(X)Xd2(F(X),F(ÿ))=ķ(X,X)-2ķ(X,ÿ)+ķ(ÿ,ÿ)

请注意,如果让则上述值将退化为您的标准欧几里得距离。d=1个


问题

我的主要问题是,如本文所提供的实验所示,我看不到对kNN进行内核化如何产生更好的结果(警告,直接pdf链接!)。

Answers:


24

Cover定理:粗略地说,它说给定任意有限点集(带有任意标签),然后可以通过将它们映射到更高的维度[2]来使它们线性分离[1]。

含义:太好了,该定理告诉我的是,如果我获取数据集并将这些点映射到更高的维度,则可以轻松找到线性分类器。但是,大多数分类器需要计算某种相似度,例如点积,这意味着分类算法的时间复杂度与数据点的维数成正比。因此,更高的维度意味着更大的时间复杂度(更不用说存储那些大维度点的空间复杂度了)。

ñFñ(>>ñ)ķXÿķ(X,ÿ)=⟨F(X),F(ÿ)⟩Ø(ñ)Ø(ñ)

F

线性可分离性是否意味着来自同一类别的点将比来自不同类别的点更接近? 不,没有这样的保证。线性可分离性并不真正意味着来自同一类的点已经越来越近,或者来自两个不同类的点已经越来越远。

那么kNN为什么会起作用? 不需要!但是,如果确实如此,那纯粹是因为内核。

X=(X1个,X2)X(X1个2,2X1个X2,X22)

那为什么要使用内核kNN呢? 我们证明了使用内核的计算复杂度仅比通常的kNN略高,如果数据受益于使用内核,那为什么不使用它们呢?

是否有论文研究了哪些类别的数据可以受益于kNN中的内核? 据我所知,没有。

[1] http://en.wikipedia.org/wiki/Linear_separability
[2] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038449&tag=1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.