支持向量机:Kernel II
来源:互联网 发布:mac哑光橘红色 编辑:程序博客网 时间:2024/06/05 16:32
在之前我们介绍了如何用 Kernel 方法来将线性 SVM 进行推广以使其能够处理非线性的情况,那里用到的方法就是通过一个非线性映射
中的内积换成了映射后的空间中的内积,并进一步带入了核函数进行计算。如果映射过后的空间是有限维的,那么这样的做法是可行的,因为之前的推导过程会一模一样,只是特征空间的维度变化了而已,相当于做了一些预处理。但是如果映射后的空间是无限维的,还能不能这么做呢?答案当然是能,因为我们已经在这么做了嘛! 但是理由却并不是理所当然的,从有限到无限的推广许多地方都可以“直观地”类比,但是这样的直观性仍然需要严格的数学背景来支持,否则就会在一些微妙的地方出现一些奇怪的“悖论”(例如比较经典的芝诺的那些悖论)。当然这是一个很大的坑,没法填,所以这次我们只是来浮光掠影地看一看核方法背后的故事。
回忆一下原来我们做的非线性映射
从而成为一个赋范向量空间。范数可以用于定义一个度量
从而成为一个度量空间。如果这样的空间在这个度量下是完备的,那么这个空间叫做 Hilbert Space 。简单地来说,Hilbert Space 就是完备的内积空间。最简单的例子就是欧氏空间
我们这里的 RKHS 就是一个函数空间。实际上,在这里我们有一个很有用的性质,就是维度相同的 Hilbert Space 是互相同构的——也就是说空间的各种结构(包括内积、范数、度量和向量运算等)都可以在不同的空间之间转换的时候得到保持。有了这样的性质,就可以让我们不用去关心 RKHS 中的点到底是什么。
将映射记为
- 对于任意固定的
x0∈X ,K(x,x0) 作为x 的函数属于我们的函数空间H 。 - 对于任意
x∈X 和f(⋅)∈H ,我们有f(x)=⟨f(⋅),K(⋅,x)⟩ 。
其中第二条性质就叫做 reproducing property ,也是“再生核”名字的来源。至于字面上为什么这么叫,我也不清楚。也许是说元素
由核的再生性质,我们之前的用于计算
再生核有很多很好的性质,比如正定性(在线性代数里这样的性质通常称为“半正定”),也就是说对任意
这是很好证明的,按照核函数的再生性质写成刚才的内积形式,然后把系数拿到内积里面去,上面那个式子就等于
到这里,铺垫已经够多了,于是让我们回到 SVM ,这次我们不是直接偷工减料在最终得到的分类函数上做手脚,而是回到线性 SVM 的最初推导。当然,第一步我们要用刚才定义的映射
和以前一样,我们使用一个线性超平面来分隔两类不同的点,并且我们假设经过非线性映射到
在这里,由于我们讨论的空间
换句话说,线性函数可以由向量内积表示,这和我们熟知的有限维欧氏空间中是一样的。只是要表示超平面还得再加上一个截距
这个样子的函数(泛函)严格来说称作仿射函数(泛函)。同我们在第一篇中类似,我们可以定义 margin ,得到 geometrical margin 为
类似于原来的推导,我们最终会得到一个如下的目标函数
形式上和以前一样,只是把
这需要借助一个叫做 Representer Theorem 的定理,该定理说明,上面这个目标函数(还包括很大一类其他的目标函数)的最优解
换句话说,可以由这
由于
因此,
最后一个等式是由于两者相互垂直而得到的(也就是勾股定理的推广啦),得到这个形式之后,再注意到我们是希望最小化
这样一来,问题就从在一个无穷维的 Hilbert Space 中找一个最优的
这里矩阵
这里
最后稍微补充一下:在刚才的介绍中我们看起来好像是先确定了 RKHS 之后再找出对应的再生核的,但是在实际中,通常是先设计出一个核函数(或者说通常都是直接使用几个常见的核函数),然后对应的 RKHS 就自然地确定下来了。关于 RKHS 还有许多的内容,但是没有办法全部讲了。在传统的 Kernel 方法应用中,通常只要注意到是否可以全部表示为内积运算就可以尝试使用 kernel 方法了,许多常见的算法(例如 Least-Square Regression 、PCA 等)都是可以用核方法来扩展的,在这里 Representer Theorem 将会是重要的一环。
除此之外,进来还有不少在 RKHS 里衡量统计独立性的工作,又不是只是像传统的 kernel trick 那么简单了,说明 RKHS 还是包含了不少有趣的话题的。
- 支持向量机:Kernel II
- 支持向量机:Kernel II
- [Free MInd]支持向量机:Kernel II
- 支持向量机_7:Kernel II
- 支持向量机: Kernel
- 支持向量机: Kernel
- 支持向量机: Kernel
- 支持向量机:Kernel
- 支持向量机: Kernel
- “支持向量机系列”的番外篇二: Kernel II
- 转:支持向量机: Kernel
- 支持向量机_3: Kernel
- 【理论】支持向量机7:Kernel II —— 核方法的一些理论补充
- [Free Mind]支持向量机: Kernel
- 支持向量机笔记(四) Kernel
- Kernel SVM (核函数支持向量机)
- 支持向量机系列三:Kernel
- 台大机器学习笔记-Kernel 支持向量机
- Validate Binary Search Tree
- 汇编学习笔记---(2)基础知识
- Android 5.0源码分析---Content Provider的启动过程分析
- zcmu-1657
- 前端MVVM框架avalon揭秘 - HTML编译器
- 支持向量机:Kernel II
- spring学习笔记--在自定义servlet中获取到spring的applicationcontext
- 客户端对HTTPS协议的支持方案
- Cache Server (Team License)
- setsockopt的常用选项设置及作用
- CGImageSource的用法
- 运用素数表,求整数的因子个数
- HDU 2181 哈密顿绕行世界问题(水DFS)
- 机器学习物语(3):回归问题