1. foreword
对于线性可分问题和线性问题,都已经有很好的解决方案为了。对于非线性问题,产生了非线性SVM,关键在于核技巧(kernel trick)的引用。
如图,对于正负样本无法用直线分开。采用椭圆这样的非线性模型才可正确分开。
对于T,若可用R中的一个超曲面正确分开,则称该问题为非线性的可分问题。如图的椭圆方程为:
w1(x(1))2+w2(x(2))2+b=0
现在我们考虑一个映射 z=ϕ(x)=((x(1))2,(x(2))2)T ,将每个点 x 代入求出对应的 z 。如下图:
此时新的空间中,可用线性SVM来完美解决。新空间的直线方程为:
w1(z(1))+w2(z(2))+b=0
可以看到,非线性问题,可完美转化为线性问题解决:
- 用变换将原空间的data映射到新空间
- 新空间中用线性分类方法求解
这叫做核技巧。更有趣的是,SVM的对偶形式可非常自然的应用核技巧。
2. 核函数与核技巧
核函数
X 是输入空间,H 是特征空间,若有映射函数 ϕ(x):X−>H ,使得对所有 x,z∈X ,函数 k(x,z) 满足条件 k(x,z)=ϕ(x)⋅ϕ(z) ,则称 k(x,z) 为核函数, ϕ(x) 为映射函数,式中为内积。
核技巧:我们只定义个 k(x,z) 就行了,不用显示定义 ϕ(x) 。
慢慢解释为什么这叫做核技巧。所谓技巧,巧妙之技也。
通常计算 k(x,z) 比较容易,而通过计算 ϕ(x) 和 ϕ(z) 来计算 k(x,z) 比较难。对于给定的 k(x,z) , ϕ(x) 的取法不唯一。
举例: x∈R2,k(x,z)=(x⋅z)2 ,找出H和