2.4指数的内核
指数核与高斯核密切相关 , 只有正态的平方被忽略 。它也是一个径向基函数内核 。
2.5 拉普拉斯算子核
拉普拉斯核心完全等同于指数内核 , 除了对sigma参数的变化不那么敏感 。作为等价的 , 它也是一个径向基函数内核 。
文章插图
核函数的定义和作用是什么?核函数的作用就是隐含着一个从低维空间到高维空间的映射 , 而这个映射可以把低维空间中线性不可分的两类点变成线性可分的 。当然 , 我举的这个具体例子强烈地依赖于数据在原始空间中的位置 。事实中使用的核函数往往比这个例子复杂得多 。它们对应的映射并不一定能够显式地表达出来;它们映射到的高维空间的维数也比我举的例子(三维)高得多 , 甚至是无穷维的 。这样 , 就可以期待原来并不线性可分的两类点变成线性可分的了 。核函数要满足的条件称为Mercer's condition 。由于我以应用SVM为主 , 对它的理论并不很了解 , 就不阐述什么了 。使用SVM的很多人甚至都不知道这个条件 , 也不关心它;有些不满足该条件的函数也被拿来当核函数用 。
关于核函数的一些思考 想写一下我自己对于核函数的理解 , 虽然并不知道核函数的发明过程 , 但我想以自己的理解 , 来重现这个过程 。
核函数的应用很广 , 在SVM上的应用只是冰山一角 。即便如此 , 我还是假设发明人是在解决SVM问题的过程了发明的核函数 。
对于一个二分类问题 , 有一个理想的数据集 , 假设它是线性可分的 , 这时直接应用SVM算法即可进行分类 。
假设现在的数据集不是线性可分的 , 如图1所示:
该数据集在二维空间中 , 每个数据点都可用一个二维向量(x1,x2)'''来表示(3个单引号'''表示转置) 。我们可以用一个椭圆形状的超平面在该2维空间中对数据集进行分类 , 我们写出椭圆的一般方程:
如果我们令:
其中:
你会发现 , 2维向量x被映射成另一个5维向量z后 , 分类超平面是一个线性超平面 , 数据点变得线性可分!也即是下面的变换:
也就是说 , 数据集在二维空间中线性不可分 , 若想实现线性可分 , 须把该数据集映射到一个5维空间中!考虑SVM的的原始优化问题:
(式中的点号代表内积运算)式(5)中的xi对应数据集中的样本点 , 现在在二维空间中 。我们要实现该数据集线性可分 , 需要把每个点都映射到5维空间中去 。也就变成了下式:
根据式(6)可以推知 , 对于一个线性不可分的数据集 , 我们只要把xi替换成相应的映射后的点就可以了 。所以 , 原来二维空间中的分类决策函数:
也就变成了5维空间中的分类决策函数:
好了 , 因为x的映射函数已知 , 所以我们就能轻松根据上式得到决策超平面了 。
看似问题到这里就结束了 , 但是 , 考虑到本例中只是实现二维空间中数据的线性可分 , 就把数据映射到了5维空间 。想像如果数据本身的维度就很高 , 那映射后的空间维度会更高 , 甚至是无限维!我们该怎么求这个映射函数呢?即便知道了这个映射函数 , 也没法算啊 , 因为它是无限维的 。所以 , 我们应该找一个合适的二元函数 , 它的输入是原空间的两个向量 , 它的输出是映射到高维空间的两个向量的内积! 给这个合适的二元函数起个霸气的名字 , 就叫做 核函数。
为什么这样定义?对照(8)式中的两个映射函数的内积来思考一下:我们要求出(8)式两个映射函数的内积 , 所以要构造一个二元函数 , 它的输入就是原二维空间中的x和xi两个向量 , 它的输出就是映射到5维空间的两个向量的内积 。
这样 , 我们就避免了求映射函数 , 只通过一个核函数就可以在低维空间完成高维空间中才能完成的事!
(至此 , 有些童鞋会想 , 既然映射后的向量的内积不好求 , 你咋知道你构造的核函数的值就是映射后的向量的内积?!一会儿会说这个问题 。)
秒懂生活扩展阅读
- 红枣和大麦茶能一起喝吗
- 生抽和酱油有什么区别
- 医学院和医科大学的区别
- 一指禅白百何什么意思
- 古代怎么做月饼
- 看电视会影响学习吗
- 班长管理思路和方法
- 氙气大灯和led大灯哪个亮
- 框架结构和气压结构的区别
- 豆沙绿显黑还是显白 豆沙绿