在支持向量机中尝试对非线性可分样本,可以利用「核函数」(Kernel Function)可以将原始样本点映射到一个高维空间,从而使其线性可分。
数学证明,如果原始空间是有限维,则一定存在一个高维特征空间使样本线性可分。 或从哲学的角度来说,世界上本来没有两个完全一样的物体,对于所有的两个物体,可通过增加维度来让他们最终有所区别。
令
即根据泛函理论,
支持向量机的对偶优化目标可以用核函数表示为
解出
(不重要)
令
上述定理表明,只要一个对称函数所对应的核矩阵为半正定矩阵,就能作为核函数使用。事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射
在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也是隐式地定义了这个特征空间。“核函数选择”称为支持向量机的最大变数。几种常用的核函数有
其中
其中
其中
其中
选用核函数的一些经验:文本数据常用线性核,未知分布数据可选用高斯核。
核函数也可以用函数组合得到,设
对于任意的正数
对于任意函数
给出四个样本和期望的响应如下所示
输入 |
期望响应 |
---|---|
-1 | |
+1 | |
+1 | |
-1 |
可见此数据集线性不可分,为 XOR 问题。这种情况往往需要往高维特征空间进行映射,使其线性可分。将一个样本表示为
展开为
将输入样本代入式中,可得到
接下来需要寻找拉格朗日乘子
将数据带入,即使下式最大化
约束条件为
解得拉格朗日系数的最优值为
观察可知,没有拉格朗日系数等于零,所以四个样本都是支持向量。此时对应的目标函数最优值为
由 KKT 条件可对每个支持向量
对这些值取平均得到
对应的划分超平面为
现有一个一维数据
解:
选择如下的二次项核函数
根据支持向量展开式,得到
假设输入空间是
解:
将核函数展开
容易得到一种映射为
此时的特征空间为三维
此时的特征空间为四维