加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

kernel 核函数 意义 作用 原理

(2013-06-30 09:28:57)
分类: 图像处理

核函数目的:把原坐标系里线性不可分的数据用Kernel投影到另一个空间,尽量使得数据在新的空间里线性可分。


 

核函数方法的广泛应用,与其特点是分不开的:
1)核函数的引入避免了“维数灾难”,大大减小了计算量。而输入空间的维数n对核函数矩阵无影响,因此,核函数方法可以有效处理高维输入。
2)无需知道非线性变换函数Φ的形式和参数.
3)核函数的形式和参数的变化会隐式地改变从输入空间到特征空间的映射,进而对特征空间的性质产生影响,最终改变各种核函数方法的性能。
4)核函数方法可以和不同的算法相结合,形成多种不同的基于核函数技术的方法,且这两部分的设计可以单独进行,并可以为不同的应用选择不同的核函数和算法。

kernel SVM和linear SVM相比,就是把所有的两个向量之间的点积换成了一个kernel函数。而且由于转换过程中单个的Φ(x),Φ(y)的函数形式和参数难以确定,所以通过核函数可以直接越过此步骤。(点积的意义就是相似度,相似度越大,夹角越小,结果值越大)


x y --> K(x,y)=Φ(x)’  Φ(y)

K(x,y)表示在投射空间内两个向量的点积


Gaussian Kernel的表达形式是 K(x,y)=exp(-||x-y||^2/theta^2).

这个东西看起来是一个相似度。如果两个向量是相同的,这个kernel的值是1。

然而两个相同的向量的点积并不是1,点积好像也没有相似度的含义。(此句为原提问着的疑问)


对kernel最容易理解的一个例子:
X = (x1,x2)

Φ(X) = (x1*x1, sqrt(2)*x1*x2, x2*x2)

kernel(X,Y) = 
Φ(X)'*Φ(Y) = (x1*y1)^2+2*(x1*y1*x2*y2)+(x2*y2)^2 = 

(x1*y1+x2*y2)^2 = (X'*Y)^2

即二次齐次核 kernel(X,Y) = (X'*Y)^2



参考:
http://xiaozu.renren.com/xiaozu/121443/357054137
http://baike.baidu.com/view/8075712.htm
http://www.cnblogs.com/liqizhou/archive/2012/05/11/2495788.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有