支持向量机的RBF核
Posted
技术标签:
【中文标题】支持向量机的RBF核【英文标题】:The RBF kernel of Support Vector Machine 【发布时间】:2014-09-24 18:35:40 【问题描述】:非线性内核允许 SVM 在高维空间中线性地分离非线性数据。 RBF 内核可能是最流行的非线性内核。
有人告诉我,RBF 内核是高斯的,因此是无限微分的。有了这个属性,RBF 内核可以将数据从低维空间映射到无限维空间。我有两个问题:
1) 谁能解释一下为什么映射后的特征空间数量对应于内核的导数?我不清楚这部分。 2)有很多非线性核,比如多项式核,我相信它们也能够将数据从低维空间映射到无限维空间。但是为什么 RBF 内核比他们更受欢迎呢?
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:1) 谁能解释一下为什么映射后特征空间的数量 是对应内核的导数吗?我不清楚 这部分。
它与可微分无关,线性内核也是无限可微的,并且不会映射到任何更高维空间,无论谁告诉你这是原因 - 撒谎或不了解其背后的数学。无限维度来自映射
phi(x) = Nor(x, sigma^2)
换句话说,您将您的点映射到 函数 是一个高斯分布,它是 L^2 空间的一个元素,连续函数的无限维空间,其中标量积定义为积分函数的乘法,所以
<f,g> = int f(a)g(a) da
因此
<phi(x),phi(y)> = int Nor(x,sigma^2)(a)Nor(y,sigma^2)(a) da
= X exp(-(x-y)^2 / (4sigma^2) )
对于一些标准化常量X
(这完全不重要)。换句话说,高斯核是两个函数之间的标量积,具有无限维。
2) 非线性核有很多,比如多项式核,我 相信他们也能够从低维映射数据 空间到无限维空间。但是为什么 RBF 内核更 那么他们受欢迎吗?
多项式核映射到具有O(d^p)
维度的特征空间,其中d
是输入空间维度,p
是多项式次数,因此它远非无限。为什么高斯受欢迎?因为它有效,并且非常易于使用且计算速度很快。从理论的角度来看,它还可以保证学习任意一组点(使用足够小的方差)。
【讨论】:
非常感谢您如此详细的回复。您是否介意解释一下为什么“作为高斯分布的函数具有连续函数的无限维空间”并指出高斯核的哪个参数表示维数? (我可以这样理解:核函数的值是映射后内积的输出。因此,对于高斯核,指数函数,如果(x-y)^2变得足够大,对应的输出值会以指数方式增加到无穷大吗?)谢谢大家的耐心..... 试着把函数想象成一个向量,在“正常”向量中你有v=[11,22,33,44]
这样的东西,所以你有v[1]=11, v[2]=22, v[3]=33, v[4]=44
,4
维度,每个维度都有真正的价值。现在考虑一个像向量的函数,你有v(a)=exp( -(x-a)^2/2sigma^2 )
,它是为每个实数a定义的,所以你有无限多的维度,而不仅仅是a=1, 2,3,4 还有a=pi
, a=-123/23+pi
等等。没有“高斯核中的参数表示它的维度”,它总是无限的。
一旦您将向量 v
视为一个函数,就很容易理解,标量积就变成了“和的无限等价物”的积分,<v1,v2> = int v1(a)*v2(a) da
很抱歉让你失望了......但你介意多说一下'想想像向量这样的函数'吗?我对如何进行这种想象有点困惑:1)看起来你假设'a'有无限长。对于映射后的内积:k(x,a),'x'表示来自模型的原始数据,'a'表示正在处理的输入数据,'a'的长度应该是有限的; 2)'对于每一个实数a',假设a是一个向量,我们能找到向量'v'(v(a))的第3.14个元素吗?以及如何理解这种想象? 3)“它总是无限的”:“它”是什么?再次感谢您的耐心等待...
例如,假设:v1=[1 2 3] while v2=[ 4 5 6],如何积分:int v1(3.14)*v2(3.14) da?以及如何理解这个积分?为什么核函数是这样的积分?我发誓这不是一个修辞问题,但我对这个概念感到有些困惑......以上是关于支持向量机的RBF核的主要内容,如果未能解决你的问题,请参考以下文章
R语言e1071包中的支持向量机:螺旋线型线性不可分数据集RBF核函数支持向量机SVM(验证模型在测试集上的表现可视化模型预测的结果添加超平面区域与原始数据标签进行对比分析)
支持向量机(SVM):超平面及最大间隔化支持向量机的数学模型软间隔与硬间隔线性可分支持向量机线性支持向量机非线性支持向量机核函数核函数选择SMO算法SVM vs LR优缺点
机器学习sklearn----支持向量机SVC核函数性质探索
机器学习sklearn----支持向量机SVC核函数性质探索